Alias para mejorar el rendimiento

Una de las herramientas que más me gusta utilizar y que todos tenemos a mano es el uso de los alias de shell. Nos ayuda a controlar las tareas repetitivas, evitar escribir comandos largos y establecer opciones predeterminadas que se adaptan a nuestras necesidades específicas.

Los alias de shell son una joya oculta en la programación. Simplifican tu trabajo diario en la terminal y aumentan la velocidad de ejecución de comandos.

que_es_un_alias

¿Qué es un alias?

Los alias son recursos poderosos en los sistemas operativos (Linux y similares a Unix) que nos permiten perfeccionar nuestra experiencia con la línea de comandos.  Se deben ajustar a nuestras necesidades que pueden cambiar en función de las herramientas o entornos que estemos utilizando para hacer nuestro trabajo.

La mayoría de nuestros sistemas operativos vienen predeterminados con bash shell. No obstante, una de las opciones más populares que existe es el zsh o el z-shell que yo misma tengo configurado, por lo tanto los ejemplos que vamos a ver son para este tipo de shell.

Alias Predefinidos

Algunos alias están predefinidos. Para ver la lista de alias que tenemos definidos en nuestro sistema operativo, usamos el comando alias sin parámetros:


 projects alias
-='cd-'
...=../..
....=../../..
.....=../../../..
......=../../../../..
1='cd -1'
2='cd -2'
3='cd -3'
4='cd -4'
5='cd -5'
6='cd -6'
7='cd -7'
8='cd -8'
9='cd -9'
_='sudo'
afind-'ack -il' 
diff='diff --color'
egrep='egrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn, idea,.tox}' 
fgrep='fgrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'

Tipos de alias

Para configurar un alias que persista entre sesiones de shell y reinicios, se debe usar el archivo de configuración del Shell – para bash el archivo es el .bashrc y para zsh tenemos el .zshrc. Este archivo se carga durante el inicio. Sin embargo, siempre se puede forzar la recarga de nuestro archivo de configuración usando el comando source ~/.zshrc

Alias sin argumentos

Empezando por el tipo más simple de alias, tenemos aquel que no toma ningún argumento. Este alias se utiliza típicamente para acortar comandos de uso frecuente.
Sigue el siguiente patrón:

alias nombre-alias=“comando”
# alias navegación

alias apps="cd ~/Aplicaciones”
alias downloads="cd ~/Downloads”
alias dbcore=“cd ~/dev/projects/project-movie/docker/db_core”
alias ptmovie=“cd ~/dev/projects/project-movie”
# alias herramientas

alias dps="docker ps -a”
alias di=“docker images”
alias dv=“docker volumes”
alias kp="kubectl get pods”
alias kdp=“kubectl describe pod”

Alias sufijo

Podemos utilizar los alias de sufijo para iniciar archivos con una extensión específica en una herramienta de nuestra elección.

Se identifican por la flag -s y siguen el siguiente patrón:

alias -s extensión=nombre-herramienta
alias -s md=code

En el ejemplo anterior, al escribir en la terminal readme.md. Si este archivo no existe, el alias lo crea y lo abre en Visual Studio Code.

En caso de querer abrir varios tipos de archivos con la misma herramienta, se pueden definir en una misma línea:

alias -s {md, json}=code
alias -s {zip,ZIP}="unzip"

Alias global

Los alias globales son similares a los regulares, pero se pueden usar en cualquier lugar de la línea de comandos, no solo al comienzo de un comando. Para definir un alias global, usamos el comando alias -g seguido del alias y su expansión.

alias -g extensión=nombre-herramienta

Por ejemplo, puede definir un alias global de la siguiente manera:

alias -g gp="| grep"

El siguiente comando ls -l | grep ".txt" que nos muestra el listado de archivos con formato .txt se convierte en:  ls -l gp ".txt"

blog ls -1 gp ".t×t"
-rw-r--r-- 1 raluca staff   0 Apr 17 19:04 docs.txt
-rw-r--r-- 1 raluca staff   0 Apr 17 19:05 keys.txt
blog

Alias con argumentos

Nos ayudan a trabajar con un conjunto más complejo de comandos, a ser más flexibles y expandir la funcionalidad de un alias.

El registro de alias con parámetros se parece bastante a una definición de función en los lenguajes de programación regulares.

alias md='createFolder'

function createFolder(){
  mkdir $1;
  echo "Created folder: $1";
  cd $1;
  echo "Entered folder: $1";
}

En el ejemplo anterior, creamos el alias md que, al ejecutar la función createFolder, crea el directorio con el nombre que le pasemos y cambia el directorio a él.

blog md folder_01
Created folder: folder_01
Entered folder: folder_01
folder_01
alias_conclusion

Conclusión

Estos son algunos de los alias que más uso en mi día a día. Me ayudan a navegar rápidamente a través de la terminal y ser eficiente con los comandos que necesito usar diariamente.

Es importante identificar las herramientas de línea de comandos que usamos con regularidad, buscar patrones y crear los alias correspondientes que aumenten nuestra productividad.

Full-Stack

Picture of Raluca Dana

Raluca Dana

Perfil fullstack. Me gusta hacer mi trabajo, pero me encanta hacerlo con un buen equipo.
Picture of Raluca Dana

Raluca Dana

Perfil fullstack. Me gusta hacer mi trabajo, pero me encanta hacerlo con un buen equipo.

We are HIRING!

What Can We Do