Aquesta és una revisió antiga del document
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.- 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/