programación

Terminal like a boss: alias.

En esta segunda entrega de "Terminal like a boss", vamos a desencadenar el poder de los alias para movernos por la terminal como verdaderos ninjas.

Imágen de portada

El comando alias nos permite ejecutar cualquier comando/s, con opciones pre cargadas. Básicamente son atajos o abreviaturas de comandos más complejos o largos. En macOS y Ubuntu (y otras distros también), si ejecutas el comando ll vas a ver el listado de archivos. ¿Pero qué fué lo que pasó?, ll no es un comando *nix, entonces ¿por que fué que se ejecutó ls?.

Plot twist: ll es un alias:

type ll
ll is an alias for ls -al

Además de este alias, muchos sistemas operativos o frameworks (ej: oh-my-zsh) vienen con algunos ya predefinidos. Podemos ver el listado completo con el comando

alias

Un gran poder conlleva una gran responsabilidad.

Los aliases son muy poderosos, y como dijo el tío Ben Franklin D. Roosevelt, hay que ser responsable al momento de usar los aliases. Es muy fácil reemplazar un comando o programa del sistema por accidente, también está el asunto que si agregas muchos aliases al archivo de configuración, el tiempo de inicio de nuevas terminales puede verse afectado. Por último, pero no menos importante, se encuentra la "pureza" del entorno. Es buena práctica tener el sistema lo más estándar posible, tanto por si otra persona tiene que utilizar nuestro sistema o si nosotros nos conectamos a equipos remotos y no tenemos los comandos personalizados.

Como crear alias.

La sintaxis general para el comando alias puede variar según el shell, pero en la mayoría el formato es el siguiente

alias [nombre="valor"]

En el caso de ll el comando sería el siguiente

alias ll="ls -al"

Como se habrán dado cuenta, cuando cerramos la terminal o abrimos otra sesión el alias no está. Para hacerlo permanente lo ingresamos en el dot rc (.bashrc, .zshrc, etc) del shell que utilicemos.

Listado de alias útiles.

Acá dejamos una lista de algunos aliases que pensamos que podrían ser de utilidad.

# Subir por el árbol de directorios
alias ..="cd .."
alias ...="cd ../../../"
alias ....="cd ../../../../"
alias .....="cd ../../../../../"

# cd sin argumentos para ir al home.
alias cd="cd ~"

# Actualizar Ubuntu / Debian y derivados.
alias update="sudo apt-get update && sudo apt-get upgrade"

# Inicializar un nuevo repositorio git.
alias ginit="git init && touch README.md .gitignore && git add ."

# Comprimir y descomprimir (extraer) con tar.
alias tarc="tar czvf"
alias tarx="tar xzvf"

# Mostrar el historial paginado
alias h="history | less"
# Mostrar y buscar en el historial, uso: hg [búsqueda]
alias hg="history | grep "

# Ver dirección de IP externa.
alias myip="curl https://ifconfig.me/ip"

# Ver donde estoy, útil para sesiones remotas por SSH.
alias w="echo '`pwd`@`hostname`'"

Portada

unsplash-logoAisha Askhadova



Comentarios