Cómo crear y eliminar alias en Linux. Usaremos las distribuciones Red Hat y CentOS, aunque el procedimiento es válido para otras distribuciones como Debian, Ubuntu, Fedora, Suse o Mint. Mostramos cómo crear un nuevo alias, cómo modificar los alias por defecto que ya vienen en el sistema y cómo eliminar de forma permanente un alias.
- Alias en Linux.
- Alias por defecto en Linux CentOS 7.
- Crear un alias temporal en Linux.
- Usar fichero personalizado de alias en Linux.
- Crear alias con varios comandos en Linux.
- Eliminar alias en Linux de sesión temporal y permanente.
- Modificar un comando existente en Linux y personalizarlo con un alias.
Alias en Linux
Los alias son similares, salvando las distancias, a los accesos directos de Windows. Permiten representar un comando (o conjunto de comandos) ejecutados con o sin opciones personalizadas.
Los alias permiten reemplazar un comando o serie de comandos con otros personalizados. Su uso principal es el de abreviar órdenes o también para añadir argumentos de forma predeterminada a una orden que se usa con mucha frecuencia.
Por ejemplo, imaginemos que en nuestro equipo Linux usamos el siguiente comando con mucha frecuencia:
ls -lah
Si queremos abreviar el comando anterior en una sola palabra personalizada, podremos crear un alias llamado, por ejemplo «lista», que ejecutaría el comando anterior:
lista
Si tenemos el alias «lista» que ejecuta «ls -lah», al ejecutar «lista» en la línea de comandos, ejecutaría, a su vez, ls -lah.
Alias por defecto en Linux CentOS 7
En un equipo con Linux CentOS 7 en su distribución Minimal (sin modo gráfico), estos son los alias que se crean por defecto, que son permanentes, y que podemos usar:
1 |
alias cp='cp -i'<br>alias egrep='egrep --color=auto'<br>alias fgrep='fgrep --color=auto'<br>alias grep='grep --color=auto'<br>alias l.='ls -d .* --color=auto'<br>alias ll='ls -l --color=auto'<br>alias ls='ls --color=auto'<br>alias mv='mv -i'<br>alias rm='rm -i'<br>alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' |
Para obtener los alias anteriores es suficiente con ejecutar el comando:
alias
Dichos alias se pueden modificar e incluso añadir nuevos editando el fichero .bashrc, que para el usuario root suele estar en:
/root
y para el resto suele estar en:
/home/nombre_usuario
Dicho fichero está oculto, no se mostrará con un ls, habrá que hacer un ls -lah:
En Linux CentOS 7 tiene el siguiente contenido (el fichero /root/.bashrc):
1 2 3 4 5 6 7 8 9 10 11 12 |
.bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi |
Vemos que tiene algunos alias ya creados por defecto, que podemos eliminar o modificar. Por ejemplo, vemos que tiene el alias con nombre cp, y que ejecuta cp -i, por lo tanto, cada vez que usemos el comando cp, en realidad añadirá el parámetro -i aunque nosotros no lo incluyamos. Si queremos modificar este comportamiento, será suficiente con comentar esta línea, añadiendo un # delante:
1 |
#alias cp='cp -i' |
Y guardar el contenido del fichero, a partir de ahora, al ejecutar cp, no se incluirá el parámetro -i.
Y en este fichero también vemos que cargará los alias que haya en el fichero /etc/bashrc.
Crear un alias temporal en Linux
Para crear un alias temporal en Linux (se eliminará al cerrar la sesión) , en primer lugar necesitaremos saber qué comando ejecutará nuestro alias. Por ejemplo, supongamos que queramos ejecutar el comando «ls -lah» y queremos que nuestro alias se llame «lista». Para crearlo ejecutaremos el siguiente comando:
alias lista=’ls -lah’
Mientras no cerremos sesión, podremos usar el comando «lista», que ejecutará el comando «ls -lah»:
Si cerramos la sesión este alias se perderá. A continuación explicaremos cómo hacer persistente un alias en Linux.
Usar fichero personalizado de alias en Linux
Podemos usar un fichero separado para crear nuestros alias personales, de forma que podremos copiarlo a otros equipos y tener siempre nuestros alias disponibles. Para ello seguiremos los siguientes pasos.
En primer lugar crearemos el fichero de alias personales en la carpeta del usuario, que normalmente es:
/home/nombre_usuario
Dicho fichero deberá contener un punto al principio del nombre. Para crearlo ejecutaremos:
nano /home/alonso/.alias_personal
Donde alonso será el nombre del usuario para el que queramos crear los alias y .alias_personal será el fichero que contendrá todos nuestros alias. Introduciremos en el fichero .alias_personal todos los alias que queramos para el usuario, con el formato: alias nombre_alias=’comando’:
alias lista=’ls -lah’
Guardaremos los cambios, en el caso de nano pulsando en Control + O y cerraremos pulsando Control + X.
A continuación, para que el sistema Linux reconozca este fichero como fichero de alias, deberemos agregar las siguientes líneas al fichero .bashrc, que suele estar en la carpeta home del usuario (en la misma donde hemos creado el fichero anterior), así que para editarlo ejecutaremos:
nano /home/alonso/.bashrc
Al final del fichero .bashrc agregaremos las siguientes líneas:
1 2 3 |
if [ -f ~/.alias_personal ]; then . ~/.alias_personal fi |
Guardaremos los cambios, en el caso de nano pulsando en Control + O y cerraremos pulsando Control + X.
De esta forma, al iniciar sesión, se leerán todos los alias contenidos en nuestro fichero .alias_personal y quedarán listos para su uso.
Si no hemos cerrado e iniciado sesión, los alias nuevos agregados no funcionarán, si ejecutamos uno de ellos, por ejemplo:
lista
Nos devolverá el error: -bash: lista: no se encontró la orden
Si queremos que funcionen sin cerrar sesión podemos ejecutar el fichero .bashrc, con el comando:
exec bash
De esta forma se recargará el fichero .bashrc, el cual, lee, a su vez, el fichero de alias que hemos creado .alias_personal y por lo tanto tendremos los alias personalizados disponibles:
Los alias que agregamos al fichero .alias_personal quedarán persistentes, aunque se cierre sesión o se reinicie el equipo, seguirán disponibles.
Es importante mencionar que si creamos el fichero de alias .alias_personal con el usuario «root», por ejemplo, estará disponible para el usuario al que se lo hayamos creado y se le cargarán los alias, pero no podrá modificarlo, al ser el «root» el propietario. En este ejemplo hemos creado el fichero de alias .alias_personal con el usuario «root» a modo de prueba y también con el usuario que los va a usar «alonso».
Crear alias con varios comandos en Linux
Podemos agregar un alias en Linux que ejecute varios comandos. Para ello podemos usar los concatenadores habituales de Linux:
- comando1 | comando2: la salida de la ejecución del comando2 será la entrada del comando. Es decir, el comando1 se ejecutará a partir del resultado de salida del comando2.
- comando1 && comando2: en este caso se ejecutará primero el comando1, si da error no se ejecutará el comando2, si no da error se ejecutará el comando2.
- comando1 ; comando2: se ejecutará el comando1 y el comando2, independientemente del resultado que dé el comando1.
- comando1|| comando2: se ejecutará el comando2 solo si el comando1 dio error.
- comando1 & comando2: se ejecutarán ambos comandos (o los que haya) de forma simultánea.
Así pues, al crear los alias en nuestro fichero podremos usar estos concatenadores y con un único alias ejecutar varios comandos. Antes de añadir el alias es recomendable probar el comando en la línea de comandos para ver que funciona correctamente, por ejemplo, estos comandos:
cat /proc/cpuinfo | grep -i ‘Model’
El comando anterior devuelve el modelo de procesador el equipo.
ifconfig ens192 | grep -oiE ‘([0-9A-F]{2}:){5}[0-9A-F]{2}’
El comando anterior, para el adaptador ens192, devuelve su dirección MAC.
Para agregar estos comandos a un alias cada uno, usaremos las comillas dobles, dado que el propio comando usa las comillas simples, quedando en el fichero .alias_personal de la siguiente forma:
alias procesador=»cat /proc/cpuinfo | grep -i ‘Model'»
alias mac=»ifconfig ens192 | grep -oiE ‘([0-9A-F]{2}:){5}[0-9A-F]{2}'»
Guardando los cambios y ejecutando el comando:
exec bash
Tendremos disponibles los nuevos comandos personalizados procesador y mac:
Eliminar alias en Linux de sesión temporal y permanente
Para eliminar un alias de sesión (temporal) podremos ejecutar el comando:
unalias nombre_alias
Donde «nombre_alias» será el nombre que le hayamos asignado al alias al crearlo.
Por ejemplo, si hemos creado el alias «lista», con el comando:
alias lista=’ls -lah’
Podremos eliminarlo con el comando:
unalias lista
El comando unalias únicamente eliminará el alias en la sesión actual. Si cerramos sesión y volvemos a acceder, se le cargarán al usuario todos los alias permanentes que tenga. Para eliminar un alias de forma permanente, deberemos modificar el fichero donde se encuentre dicho alias, bien sea en un fichero personalizado (como hemos explicado en pasos anteriores) o bien en un fichero estándar de Linux para el usuario.
Si el alias que queremos eliminar definitivamente está en el fichero .bashrc del usuario, lo editaremos y comentaremos (o eliminaremos) la línea que incluya dicho alias. Por ejemplo, para eliminar el alias que viene por defecto ya creado en distribuciones de Linux CentOS:
1 |
alias cp='cp -i' |
Editaremos el fichero correspondiente con el comando:
nano /root/.bashrc
Y comentaremos (o eliminaremos) la línea que crea el alias:
En nuestro caso hemos comentado la línea, añadiendo una almohadilla delante #, por si lo necesitamos en un futuro, solo tendríamos que volver a editar el fichero y eliminar la almohadilla.
A partir de ahora, cuando iniciemos sesión con el usuario, ya no tendrá el alias «cp=cp -i».
Modificar un comando existente en Linux y personalizarlo con un alias
Los alias permiten modificar comandos de Linux existentes, dado que a un alias se le puede asignar el nombre de un comando existente. Esto es útil si queremos cambiar el comportamiento de algún comando. Por ejemplo, si queremos que el comando rm, que elimina ficheros, siempre pida confirmación antes de eliminar un fichero, podremos agregar un alias con el nombre rm (el mismo que el comando) y especificar su parámetro -i correspondiente. Para ello, editaremos el fichero de los alias, o bien el estándar que viene con el usuario .bashrc o bien el fichero personalizado que hayamos creado (como hemos explicado en pasos anteriores) y añadiremos la línea:
1 |
alias rm='rm -i' |
Guardaremos los cambios y ejecutaremos el siguiente comando, como siempre, para que el alias esté disponible comando:
exec bash
A partir de ahora, cada vez que ejecutemos un rm para eliminar ficheros, se le incluirá el parámetro -i y mostrará confirmación para eliminar el fichero:
Cabe destacar que el alias anterior ya viene creado en sistemas Linux CentOS. Si queremos revertir este comportamiento, solo tendremos que comentar la línea de este alias en el fichero que lo contenga.