Qué es un alias
Un alias es una notación de shell abreviada que le permite personalizar y abreviar comandos. Los alias están disponibles en todos los shells. Una sintaxis común para definir un alias en la línea de comandos es la siguiente:
$ alias name=command_string
Si la primera palabra en la línea de comando es un alias, el shell reemplaza esa palabra con el texto del alias. El shell mantiene una lista de alias que busca cuando se ingresa un comando. Las siguientes reglas se aplican al crear un alias:
- No puede haber espacios a ambos lados del signo igual.
- La cadena de comando debe estar entre comillas si incluye opciones, metacaracteres o espacios.
- Cada comando en un solo alias debe separarse con un punto y coma.
Secuencia de comandos
Puede agrupar varios comandos bajo un solo nombre de alias. Los comandos individuales están separados por punto y coma. Por ejemplo:
$ alias info='uname -s; id; date'
Linux uid=1001(user) gid=1001(user) Tue Dec 5 15:11:58 UTC 2017
En el siguiente ejemplo, se crea un alias mediante una tubería (|) para dirigir la salida del comando ls -l al comando more. Cuando se invoca el nuevo alias, aparece una lista de directorios.
$ alias ll='ls -l | more'
$ cd /usr/bin $ ll total 121528 -rwxr-xr-x. 1 root root 41496 Nov 5 2016 [ -rwxr-xr-x. 1 root root 107856 Aug 2 17:46 a2p -rwxr-xr-x. 1 root root 52640 Oct 19 20:40 ab -rwxr-xr-x. 1 root root 29112 Sep 6 16:47 addr2line -rwxr-xr-x. 1 root root 29 Sep 6 16:25 alias -rwxr-xr-x. 1 root root 12930120 Oct 25 18:22 amazon-ssm-agent -rwxr-xr-x. 1 root root 7200 Jun 16 2016 animate lrwxrwxrwx. 1 root root 6 Sep 29 2014 apropos -> whatis -rwxr-xr-x. 1 root root 62680 Sep 6 16:47 ar ... --More--
Alias predefinidos
El shell contiene varios alias predefinidos. Puede mostrar estos alias predefinidos mediante el comando alias. Por ejemplo:
$ alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias info='uname -s; id; date' alias l.='ls -d .* --color=auto' alias ll='ls -l | more' alias ls='ls --color=auto' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'Nota :El comando alias también muestra los alias definidos por el usuario.
Alias definidos por el usuario
Los alias definidos por el usuario son definidos por un usuario, generalmente para abreviar o personalizar comandos de uso frecuente. Por ejemplo, el comando de historial tiene un alias como h usando el comando de alias en el siguiente código:
$ alias h=history ... 46 cd /usr 47 ls -lrt 48 cd 49 cd /usr/bin 50 ll 51 clear 52 alias 53 alias h=history 54 h
Usando el rm , cp y mv Los comandos pueden provocar la pérdida de datos sin darse cuenta. Como precaución, puede crear un alias para estos comandos con la opción interactiva. Por ejemplo, el comando rm tiene un alias con –i opción codificada de la siguiente manera:
$ alias rm='rm -i' $ rm file1 rm: remove file1: (yes/no)? no
De manera similar, crear un 'cp -i ' y 'mv-i ‘ alias asegura que el shell le solicite confirmación antes de sobrescribir los archivos existentes.
Desactivar un alias
Puede desactivar un alias temporalmente colocando una barra invertida (\) delante del alias en la línea de comando. Por ejemplo, en el siguiente código, la barra invertida evita que el shell busque en la lista de alias. Esto permite que el shell ejecute el comando rm original para eliminar el archivo file1.
$ rm file1 rm: remove file1 (yes/no)? no
$ \rm file1 $ ls file1 file1: No such file or directory
O si el alias como h para el historial daría un error como el siguiente si usa la barra invertida.
$ \h -bash: h: command not found
Eliminar un alias
El comando unalias elimina los alias de la lista de alias.
$ unalias alias_name
Por ejemplo, el alias h que se creó anteriormente se elimina con el comando unalias.
$ unalias h
$ h -bash: h: command not foundEjemplos de creación de alias de comando en diferentes shells