XUT_ / COURSES / CYBER SECURITY 101

Types of Linux Shells

Como la Command Prompt o la PowerShell en Windows, Linux tiene diferente consolas disponibles.

Para ver nuestra consola actual podemos escribir echo $SHELL. El archivo /etc/shells contiene todas las consolas disponibles instaladas en nuestro sistema. Para listarlas: cat /etc/shells.

Si quieres abrir una de las shells que se muestran, como por ejemplo /usr/bin/zsh, lo único que tienes que hacer es teclear su nombre en tu línea de comandos (zsh).

Si quieres cambiar tu shell predeterminada a otra, puedes usar el comando: chsh -s /usr/bin/zsh (change shell).

Vamos a ver algunas de las shells más usadas:


Bourne Again Shell

Es la consola por defecto de la mayoría de distros Linux. Antes de Bash existían diferentes consolas como sh, ksh y csh. Bash llegó para unir funcionalidades y mejorarlas. Estas son algunas de las habilidades únicas de Bash:

  • Capacidad de scripting.
  • Habilita la tabulación para el autocompletado de rutas y comandos.
  • Guarda un historial de todos los comandos usados. Puedes tanto usar las flechas de arriba y abajo o escribir history para verlos.

Friendly Interactive Shell

FISH no está por defecto en la mayoría de distribuciones. Como indica su nombre, se centra más en ser fácil para el usuario que otras consolas. Algunos de los puntos clave son:

  • Ofrece una sintaxis muy sencilla.
  • Tiene autocorrección de errores en los comandos que escribes.
  • Puedes personalizar la línea de comandos.
  • Tiene un resaltado de sintaxis muy interesante.
  • Ofrece scripting, autocompletado con tabulación e historial de comandos.

Z Shell

Esta tampoco esta instalada en la mayoría de distribuciones. Se considera una shell moderna que combina funcionalidades de algunas shells anteriores. Algunas de sus características son:

  • Autocompletado por tabulación avanzado y capacidad de scripting.
  • Autocorrección de comandos.
  • Ofrece personalización extendida (lo que puede hacerla más lenta que otras shells).
  • Ofrece historial de comandos y muchas otras funcionalidades.