Aliases para agilizar tareas en Bash

Los aliases, como su nombre indica, sirven para llamar a una orden por otro nombre. La orden a la que se le aplica un alias va a funcionar como si se le hubiese llamado directamente. Por ejemplo, si yo quiero ir al directorio padre con la orden .., solo tengo que crear un alias desde la terminal con la siguiente orden: alias ..='cd ..'.

Seguramente tengas ya varios aliases creados y no lo sepas. Si ejecutas alias, podrás ver los aliases que tengas ya definidos. Estos aliases se encuentran definidos en el archivo .bashrc, ahí puedes añadir los tuyos propios (recuerda recargar la configuración de Bash tras añadirlos para que puedas empezar a usarlos sin reiniciar el ordenador). Pero si quieres añadir muchos y quieres distinguir cuáles son los tuyos, es recomendable tenerlos en un archivo separado.

En el archivo .bashrc encontrarás probablemente estas líneas o algunas parecidas:

# 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

Esto quiere decir que cada vez que inicias Bash, se cargan los alias encontrados en el archivo ~/.bash_aliases en caso de que exista. Si no tienes aún este archivo, créalo y añade algunos aliases que te ayuden en tu día a día. A la larga te ahorrarán muchísimo tiempo.

A continuación, te muestro algunos aliases útiles. Tengo un repositorio en https://notabug.org/jorgesumle/bash_aliases con todos mis aliases, echále un vistazo y copia los que te sean útiles.

alias ....='cd ../../..'
alias ...='cd ../..'
alias ..='cd ..'
alias install='sudo apt-get install'
alias search='apt-cache search'
alias update='sudo apt-get update && sudo apt-get upgrade'

Resumen de atajos de teclado para la Terminal (Bash)

Este resumen lo he elaborado a partir del manual de referencia de Bash.

C-b
Se mueve atrás un carácter.
C-f
Se mueve adelante un carácter.
SUPR o Retroceso
Borra el carácter a la izquierda del cursor.
C-d
Borra el carácter debajo del cursor.
Caracteres imprimibles
Inserta un carácter en la posición del cursor.
C-_ o C-u
Deshace la última instrucción de edición. Puedes desahacer hasta dejar la línea vacía.
C-a
Se mueve al principio de la línea.
C-e
Se mueve al final de la línea.
M-f
Se mueve una palabra adelante, donde la palabra está compuesta de letras y números.
M-b
Se mueve atrás una palabra
C-l
Limpia la pantalla, volviendo a imprimir la línea actual arriba.
C-k
Mata (matar texto significa borrar texto de la línea, pero guardándolo para su uso posterior) el texto desde la posición actual del cursor hasta el final de la línea.
M-d
Mata desde la posición actual del cursor hasta el final de la línea
M-d
Mata hasta el final de una palabra.
M-SUPR
Mata desde el cursor hasta el final de la palabra actual, o, si entre palabras, hasta el principio de la palabra anterior. Los límites de las palabras son los mismos que usa M-f
M-DEL
Mata desde la posición del cursor hasta el inicio de la palabra actual, o, si entre palabras, hasta el principio de la palabra anterior. Los límites de las palabras son los mismos que los usados por M-b
C-w
Mata desde el cursor hasta el espacio en blanco anterior. Esto es diferente que M-SUPR porque los límites de las palabras difieren.
C-y
Pega el texto recientemente matado de nuevo al buffer del donde se encuentra el cursor.
M-y
Rota el kill-ring, y pega lo que está al tope. Solo puedes hacer esto si la instrucción anterior es C-y o M-y

gksudo en vez de sudo para aplicaciones gráficas

¿Que diferencia hay entre sudo y gksudo? La principal es que sudo está hecho para aplicaciones de texto que ejecutas en la Terminal y gksudo o gksu (son equivalentes), para aplicaciones gráficas.

Si eres un usuario de GNU/Linux, probablemente alguna vez habrás utilizado sudo para abrir una aplicación gráfica. También te habrás dado cuenta de que la mayoría de las veces no da ningún problema. Entonces, ¿por qué deberías usar gksu?

Cuando lanzas un programa con sudo, estás utilizando la configuración del usuario y ejecutando el programa siendo el superusuario. Pero si utilizas, gksudo estás utilizando el programa como superusuario y cargando la configuración de superusuario (root). La mayoría de las veces no supone ningún problema utilizar sudo para abrir programas gráficos con privilegios, pero otras veces sí.

Si vas a realizar tareas administrativas, recomiendo hacerlo todo desde la Terminal con sudo, porque es más rápido y más seguro. Para encontrar más información, lee la página de manual de gksu.

Recargar la configuración de Bash (.bashrc)

Cuando modificas el archivo de configuración de Bash (~/.bashrc), debes cerrar e iniciar una nueva sesión para que se hagan efectivos los cambios. También puedes utilizar la instrucción source ~/.bashrc o . ~/.bashrc (son equivalentes).

xdg-open

Una instrucción bastante útil es xdg-open. Con ella podemos abrir cualquier programa o URL desde la línea de órdenes. Si ejecutara xdg-open https://freakspot.net, se abriría la página principal de este sitio web con Abrowser (mi navegador por defecto) y luego podría ejecutar otra instrucción. Una desventaja que tiene es que solo podemos pasarle un parámetro, por lo que para abrir dos páginas web habría que ejecutar xdg-open dos veces.