Revolucionando la línea de comandos con Zsh 2

Keyboard in action

El componente más famoso de Linux es su poderoso intérprete de comandos. La consola en este sistema es una aplicación más, que se ejecuta siempre que el usuario esté conectado, y su función principal es interpretar todos los comandos que se ingresan a través del teclado. Esto permite que pueda ser reemplazado fácilmente por otro intérprete sin derivar en situaciones traumáticas.

En la actualidad Bash, del proyecto GNU, es el intérprete de comandos más popular, ya que viene incluido por defecto en la mayoría de las distribuciones. Aún así, existe una alternativa mucho más potente y con muchas funcionalidades adicionales que pueden cambiar la vida de los que usan diariamente la consola: Zsh.

Zsh está ganando cada vez más popularidad. Desde hace unos meses que la estoy usando y cambió la manera en la que uso la consola. Este gran intérprete tiene varias características que lo hacen genial y diferente a los demás:

  • Mejoras en el autocompletado: Si bien bash tiene la oportunidad de completar el comando, o la ruta al archivo o directorio que estamos escribiendo presionando la tecla TAB, Zsh incluye capacidades de autocompletado mucho más potentes. Entre estas posibilidades podemos citar:
    • Menú de sugerencias en el que podemos seleccionar la opción correcta usando las flechas del teclado.autcompletado-1
    • Completado de parámetros de una gran cantidad de comandos con una breve descripción. Por ejemplo, puede autocompletar con los nombres de los paquetes de los repositorios si usamos apt-get o pacman; o puede mostrar un menú con todos los procesos si usamos el comando kill.autcompletado-2
  • Corrección de errores en el tipeo de comandos: es normal cometer algún error al ingresar un comando. Zsh muchas veces se da cuenta de esto y nos sugiere la versión correcta del comando:
    $ vm archivo1.txt archivo1-BACKUP.txt zsh: correct 'vm' to 'mv' [nyae]?
  • Mayores posibilidades en la definición de aliases: Además de la definición normal de aliases, como se realiza en bash, en Zsh el comando alias tiene algunas funciones extra:
    • Alias global: El alias puede aparece en cualquier lugar del comando introducido en la consola:
      $ alias -g grp='| grep -i'
      $ ps ax grp firefox 16171 ?        Sl    10:42 /usr/lib/firefox/firefox 25058 pts/2    S+     0:00 grep -i firefox
    • Suffix alias: Se utilizan para agregar algo al comienzo de un comando introducido en la consola cuyo final coincida con lo definido en el alias:
      $ alias -s txt=nano
      $ archivo.txt
      Ejecutando el comando anterior abriremos el archivo “archivo.txt” en nano.
  • Compatibilidad con Bash: Si venís desde hace tiempo usando Bash, es muy probable que ya tengas varias configuraciones y scripts armados. No debería representar ningún problema usarlos en Zsh.
  • Muchas cosas más que pueden ver leyendo la documentación oficial.

Instalación de ZSH

Ubuntu y sus parientes (Debian, Linux Mint y muchas otras)

Sólo tenemos que ejecutar los siguientes comandos para instalar Zsh en nuestro sistema:
$ sudo apt-get update && sudo apt-get install zsh
$ chsh -s /bin/zsh

Luego verificamos que shell estamos usando:
$ echo $Shell
Una vez que tengamos Zsh funcionando podemos editar el archivo de configuración .zshrc para adaptar este poderoso intérprete a nuestros gusto.

Arch Linux

En Arch Linux la instalación básica es muy simple:
# pacman -S zsh
$ chsh -s /bin/zsh

No me extiendo más en la instalación en Arch, ya que sería imposible hacer un mejor trabajo que el artículo de Zsh en la wiki.

Para leer más:

2 thoughts on “Revolucionando la línea de comandos con Zsh

  1. Pingback: Siguiendo la telaraña 43/2013 en Thalskarth's Maëlstrom

  2. Pingback: Siguiendo la telaraña 43/2013 en Thalskarth's Maëlstrom

Leave a Reply

Connect with Facebook