Diferentes formas de crear y usar alias Bash en Linux


El alias en bash se puede denominar simplemente como un comando o un atajo que ejecutará otro comando/programa. Alias u200bu200bes muy útil cuando nuestro comando es muy largo y para comandos de uso frecuente. A lo largo de este artículo, veremos qué tan poderoso es un alias y las diferentes formas de configurar un alias y usarlo.

Compruebe los alias de Bash en Linux

Alias u200bu200bes un comando integrado de shell y puede confirmarlo ejecutando:

$ type -a alias

alias is a shell builtin

Antes de saltar y configurar un alias, veremos los archivos de configuración involucrados. Se puede establecer un alias a "nivel de usuario" o "nivel de sistema".

Invoque su shell y simplemente escriba "alias" para ver la lista de alias definidos.

$ alias

Los alias de nivel de usuario se pueden definir en el archivo .bashrc o en el archivo .bash_aliases. El archivo .bash_aliases es para agrupar todos sus alias en un archivo separado en lugar de ponerlo en el archivo .bashrc junto con otros parámetros. Inicialmente, .bash_aliases no estará disponible y tenemos que crearlo.

$ ls -la ~ | grep -i .bash_aliases       # Check if file is available
$ touch ~/.bash_aliases                  # Create empty alias file

Abra el archivo .bashrc y busque la siguiente sección. Esta sección de código es responsable de verificar si el archivo .bash_aliases está presente en el directorio de inicio del usuario y cargarlo cada vez que inicie una nueva sesión de terminal.

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

También puede crear un archivo de alias personalizado en cualquier directorio y agregar una definición en .bashrc o .profile para cargarlo. Pero no preferiré esto y elijo seguir agrupando todos mis alias en .bash_aliases.

También puede agregar alias en el archivo .bashrc. Busque la sección de alias debajo del archivo .bashrc, donde viene con algunos alias predefinidos.

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Creación de alias en Linux

Puede crear un alias temporal que se almacenará solo para su sesión actual y se destruirá una vez que finalice su sesión actual o un alias permanente que será persistente.

La sintaxis para crear un alias en Linux.

$ alias <name-of-the-command>="command to run"

Por ejemplo, en un escenario real.

$ alias Hello="echo welcome to Tecmint"

Abra la terminal y cree cualquier comando de alias que desee. Si abre otra sesión, el alias recién creado no estará disponible.

$ alias Hello"echo welcome to Tecmint"
$ alias
$ Hello

Para que el alias sea persistente, agréguelo al archivo .bash_aliases. Puede usar su editor de texto favorito o usar el comando cat o el comando echo para agregar un alias.

$ echo alias nf="neofetch" >> ~/.bash_aliases
$ cat >> ~/.bash_aliases
$ cat ~/.bash_aliases

Debe volver a cargar el archivo .bash_aliases para que los cambios sean efectivos en la sesión actual.

$ source ~/.bash_aliases

Ahora, si ejecuto "nf", que es un alias de "neofetch", activará el programa neofetch.

$ nf

Un alias puede resultar útil si desea anular el comportamiento predeterminado de cualquier comando. Para la demostración, tomaré un comando de tiempo de actividad, que mostrará el tiempo de actividad del sistema, el número de usuarios conectados y el promedio de carga del sistema. Ahora crearé un alias que anulará el comportamiento del comando de tiempo de actividad.

$ uptime
$ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
$ source ~/.bash_aliases
$ uptime

A partir de este ejemplo, puede concluir que la prioridad recae en los alias de bash antes de verificar e invocar el comando real.

$ cat ~/.bash_aliases
$ source ~/.bash_aliases
$ uptime

Eliminar un alias en Linux

Ahora elimine la entrada de tiempo de actividad del archivo .bash_aliases y vuelva a cargar el archivo .bash_aliases que seguirá imprimiendo el tiempo de actividad con la definición de alias. Esto se debe a que la definición de alias se carga en la sesión de shell actual y tenemos que iniciar una nueva sesión o desarmar la definición de alias ejecutando el comando unalias como se muestra en la siguiente imagen.

$ unalias uptime

Adición de alias en todo el sistema

Hasta este punto, hemos visto cómo configurar un alias a nivel de usuario. Para establecer un alias globalmente, puede modificar el archivo “/etc/bash.bashrc” y agregar alias que serán efectivos globalmente. Debe tener el privilegio elevado para modificar el archivo bash.bashrc.

Alternativamente, cree un script en “/etc/profile.d/”. Cuando inicia sesión en un shell, “/ etc/profile” ejecutará cualquier script en profile.d antes de ejecutar ~/.profile. Este método reducirá el riesgo de estropear el archivo/etc/profile o /etc/bash.bashrc.

$ sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

A continuación se muestra el código extraído de/etc/profile que se encarga de ejecutar cualquier script que coloquemos en /etc/profiles.d/. Buscará cualquier archivo con la extensión .sh y ejecutará el comando fuente.

$ tail /etc/profile

Eso es todo por este artículo. Hemos visto qué es el alias, los archivos de configuración relacionados con el alias y las diferentes formas de configurar el alias a nivel local y global.