Búsqueda de sitios web

Diferentes formas de crear y utilizar alias de Bash en Linux


Alias en bash se puede denominar simplemente como un comando o un acceso directo que ejecutará otro comando/programa. Alias es 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 configurarlo y usarlo.

Verificar alias de Bash en Linux

Alias es un comando integrado del shell y puedes 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 en el “nivel de usuario” o en el “nivel de sistema”.

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

alias

Los alias a nivel de usuario se pueden definir en el archivo .bashrc o en el archivo .bash_aliases. El archivo .bash_aliases sirve para agrupar todos sus alias en un archivo separado en lugar de colocarlo en el archivo .bashrc junto con otros parámetros. Inicialmente, .bash_aliases no estará disponible y tendremos 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 inicia 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 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$//'\'')"'

Creando 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 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 hacer 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

Tienes que 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 demostración, tomaré un comando de tiempo de actividad, que mostrará el tiempo de actividad del sistema, la cantidad 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 uptime del archivo .bash_aliases y vuelva a cargar el archivo .bash_aliases, que seguirá imprimiendo el uptime. con 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 imagen de abajo.

unalias uptime

Agregar 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 privilegios elevados para modificar el archivo bash.bashrc.

Alternativamente, cree una secuencia de comandos 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 un alias, los archivos de configuración involucrados con el alias y diferentes formas de configurar el alias local y globalmente.