d3us

A la hora de usar la terminal, disponer de programas que nos simplifiquen la experiencia de usuario es imprescindible. La shell es un programa que toma los comandos que escribes desde tu teclado y se los da al sistema operativo para que sean ejecutados. En la comunidad del pingüino podemos seguir el desarrollo de varias shell diferentes que a su vez, poseen diversas características que las acaban haciendo únicas.

Este es un post dirigido a aquellos que están empezando a dar sus primeros pasos en la terminal y les gustaría contar con una shell para Linux más adecuada a sus preferencias o necesidades.

Bash

shell para linux

Bourne again shell, es la primera shell que hemos conocido la gran mayoría de usuarios de Linux. Las grandes distribuciones generalmente suelen tener a Bash como shell por defecto y es una opción excelente para los usuarios que están empezando a usar la terminal. Su punto fuerte es la comunidad que la envuelve. Al ser de uso mayoritarío, encontraremos más información sobre ella que de otras opciones. Por lo tanto, si queremos buscar tutoriales de algún tipo o buscamos scripts para nuestra shell, normalmente nos los encontraremos dedicados a Bash.

Habitualmente en las shell tu mayor aliado será la tecla de tabulación, es decir, TAB. Se vuelve imprescindible si tenemos que escribir largas rutas de ficheros, ya que Bash incorpora una función de autocompletado que con escribir la primera letra del destino y pulsando TAB, nos escribirá el resto de lo que buscamos. Dicha función nos va ahorrar miles de golpes al teclado.

No hay muchas cosas remarcables a contar de esta shell, simplemente sirve a su propósito.

Zsh

shell para linux

Z shell, es una shell a la que me gusta referirme como la shell que Bash sería, si se hubiera tomado las vitaminas que le hacen falta. No conozco a nadie que haya decidido volver a Bash después de dar el salto a Zsh, ahora os muestro la razón.

Para empezar, es importante que sepáis que Zsh es compatible con Bash. ¿Qué quiere decir esto? Que los scripts escritos para Bash funcionarán correctamente en Zsh. El autocompletado de Zsh es magnífico. Supongamos que queremos entrar a nuestra carpeta Documentos, pero contamos con otra carpeta que empieza con la letra "D" también, llamada Descargas. En Bash, escribiríamos lo siguiente:

$ cd Do


Y pulsaríamos TAB para que hiciera el autocompletado. Sin embargo, en Zsh no hace falta que escribamos cd para entrar a una carpeta ni para salir de ella. No hace falta escribir en mayúsculas tampoco y lo mejor de todo es que si hay varios resultados que empiecen por dicha letra, pulsar TAB irá seleccionando cada uno de ellos hasta que demos con el que estábamos buscando. Zsh también será magnífica a la hora de seleccionar argumentos de un comando que queramos usar. Como ejemplo de ello tenéis la imagen anterior, en la que cp -[TAB], nos muestra las opciones disponibles.

Fish

shell para linux

Friendly interactive shell, es la shell más intuitiva de las que he mostrado en esta lista. Cuenta con un coloreado de sintaxis que nos permite saber si hemos escrito bien un comando o no incluso antes de escribirlo. Si escribimos una orden de un comando que no tenemos instalado, nos advierte de ello y nos muestra el nombre del paquete para que lo instalemos.

El autocompletado de Fish es similar al de Zsh pero con el añadido de mostrar la historia de los comandos que hayamos escrito anteriormente, como si de una sombra en nuestro texto se tratase. El único lado malo que le veo es que no es compatible con Bash, pero lo han querido así ya que escribir scripts para Fish utiliza una sintaxis distinta y a mi opinión más sencilla.

Conclusiones

Estas han sido las shell que más recomiendo a quien esté empezando con la terminal, cualquiera de las tres es perfectamente válida para un usuario novato. Solo he arañado la superficie de las funciones que poseen, así que os invito a probarlas y a buscar más información. A parte de estas hay muchas más shell, ¿vosotros que shell usáis?

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

También en Hipertextual: