BASH
related
cheatsheet
shell
/etc/shells
Bash scripting cheatsheet
https://devhints.io/bashThe Bash Hackers Wiki
https://wiki.bash-hackers.org/startBash variables and command substitution
http://www.compciv.org/topics/bash/variables-and-substitution/Parameter expansion
http://wiki.bash-hackers.org/syntax/pe?rev=1529675381list of Unix binaries that can be exploited by an attacker to bypass local security restrictions
https://gtfobins.github.io/Settings Shell Options
https://bash.cyberciti.biz/guide/Setting_shell_optionscomandos CLI
scripting
Guía rápida para principiantes
http://es.tldp.org/COMO-INSFLUG/COMOs/Bash-Prog-Intro-COMO/Bash-Prog-Intro-COMO.htmlDiferencia entre brackets y dobles brackets
https://www.baeldung.com/linux/bash-single-vs-double-brackets#:~:text=In%20this%20article%2C%20we%20discussed,we%20should%20prefer%20single%20brackets.-
while true; do read -sk1 "?copiar (n surt): "; if [[ $REPLY != "n" ]]; then scp temperatures.py vmware-sentinel:~/temperatures; else break;fi; done
- Errores de novato: http://wiki.bash-hackers.org/scripting/newbie_traps
-
- herramienta chequeo scripts:
shellcheck
shortcuts
| shorcut | descripción |
|---|---|
| bash | |
| CTRL + ALT + E | expande alias |
| CTRL + A | inicio de línea |
| CTRL + E | final de linea |
| CTRL + H | borra caracter izquierda |
| CTRL + D | borra caracter cursor |
| CTRL + U | borra del inicio al cursor |
| CTRL + K | borra del cursor al final de línea |
| CTRL + W | borra desde principio de palabra hasta cursor |
| CTRL + Y | recupera lo último borrado |
| CTRL + T | intercambia carácter del cursor con el carácter de la izquierda |
| <esc> + T | intercambia 2 palabras |
| emacs | |
| CTRL + p | sube una linea, linea anterior |
| CTRL + n | baja una linea, linea posterior |
| CTRL + r | búsqueda recursiva hacía atrás en histórico comandos (~/.bash_history) |
| CTRL + s | búsqueda recursiva hacía adelante en histórico comandos (~/.bash_history) |
| META + p | |
| META + n | |
| META + < | |
| META + > | |
| CTRL + l | limpia pantalla |
| CTRL + d | cierra sesión |
| shorcut | descripción |
|---|---|
| navegación | |
| CTRL + A | principio línea |
| CTRL + E | final de línea |
| CTRL + XX | conmuta entre la posición actual del cursor y el principio de línea ? |
| ALT + B | atrasa una palabra el cursor |
| ALT + F | adelanta una palabra el cursor |
| edición | |
| ALT + U | uppercase caracter cursor |
| ALT + L | lowercase caracter cursor |
| ALT + C | capitalize caracter cursor y va al final de palabra |
| ALT + D | borra palabra desde cursor hasta el final de la misma |
| ALT + Del | borra palabra desde cursor hasta el principio de la misma |
| ALT + T | intercambio palabra con la anterior |
| CTRL + _ | undo |
| historia | |
| control del procesos | |
| CTRL + C | interrumpe/mata |
| CTRL + L | limpia pantalla |
| CTRL + S | para salida por pantalla |
| CTRL + Q | permitir salida por pantalla |
| CTRL + D | marca EOF |
| CTRL + Z | interrumpe/mata |
Variables de entorno
HISTFILE: Fichero donde se almacena el historial de comandos tecleadosHISTFILESIZE: número de comandos que se guarda en el historialHISTSIZE: longitud máxima del fichero de historialHISTIGNORE: que comandos no se guardan en el historial de comandos. Lista de patrones separados por comaHISTTIMEFORMAT:HISTTIMEFORMAT='%F %T'→ añade TIMESTAMP delante del comandoPS1: prompt shellEDITOR: establece editor por defecto (para less o crontab -e, por ejemplo)CDPATH: establece directorios donde se hará búsqueda de directorios (que no sea el local)
export CDPATH=/var/www:/nas10 cd html (en lugar de) cd /var/www/html
comandos abreviados y parámetros
- <tab> → completa nombre ficbero
- 2x<tab> → muestra opciones de completado (para comandos, para archivos)
- (comando) → abre nuevo bash y retorna.
(cd /tmp && ls)→ ejecuta el CD y el LS, pero al abrir sesión nueva, de deja donde estabas.
- averiguar si comando es interno/externo o alias:
type -a <comando>$ type -a ls ls is aliased to `ls --color=auto' ls is /bin/ls $ type -a cd cd is a shell builtin
https://www.cyberciti.biz/faq/linux-unix-bash-shell-list-all-builtin-commands/