¿Qué shell de Linux es el mejor? 5 conchas comunes comparadas

los mejores caparazones de linux

¿Feliz de usar el shell bash en Linux? ¿O prefieres probar una alternativa? Hay tsch, fish, KornShell y Z Shell para elegir. Pero, ¿cuál de estos populares shells de Linux es el mejor?

¿Qué es un shell de Linux?

Por lo general, cuando escribe una aplicación, se realiza en un lenguaje de alto nivel que los humanos pueden entender. Ejemplos de estos son C #, Java, C ++, etc. Lo creas o no, tu computadora ve todo como 1s como 0s o, como se conoce comúnmente, código binario o máquina .

Un compilador traducirá el lenguaje de alto nivel en un archivo binario como un ejecutable. Este archivo binario es lo que debe hacer para iniciar esa aplicación.

Ahora esta es una vista de muy alto nivel de lo que está sucediendo; recuerde, su computadora necesita un nivel de traducción. Esto se encuentra entre lo que le está diciendo que haga y cómo puede entenderlo.

Un shell es lo que se conoce como intérprete. Similar a un compilador, un intérprete traduce el código humano en código de máquina. Una de las diferencias es que un intérprete hace esta declaración a la vez. Mientras tanto, un compilador escanea todo el programa y lo traduce a código de máquina.

El shell, por lo tanto, es una interfaz para interactuar con su sistema operativo (SO). A medida que escribe comandos en el shell, él es responsable de interpretar esos comandos y hacer que la magia suceda. Operaciones como copiar archivos, tuberías, listas de archivos son responsabilidad de un shell.

Varios shells de Linux están disponibles. Para descubrir todos los shells disponibles en su sistema, abra el terminal y escriba:

 cat /etc/shells 

Para saber qué shell está utilizando actualmente, escriba:

 echo $0 

¿Cuál es el mejor shell de Linux?

¿Pero estás usando el mejor shell de Linux? Echemos un vistazo a lo que está disponible.

1. Bash

Esta es una milla el shell más popular entre los usuarios de Linux. Incluso es difícil pensar en shells sin Bourne-Again Shell (bash) como parte de la ecuación. Muchas distribuciones de Linux vienen con bash como shell predeterminado porque bash es el shell GNU predeterminado. Lanzado en 1989, también cuenta con algunas décadas de desarrollo saludable.

El predecesor de Bash es The Bourne Shell (sh), que es uno de los shells originales de Unix. Una característica interesante para los programadores sh era que podían portar sus scripts directamente a bash sin cambiarlos. Bash también ofrece varias mejoras a su predecesor:

  • Finalización del comando.
  • Historial de comandos

A menudo, la documentación en línea supondrá que está utilizando bash. Sin embargo, no está exento de defectos, como puede atestiguar cualquiera que haya escrito un script bash. No es que no puedas hacer algo, es que no siempre es particularmente elegante leer y escribir.

2. KornShell

¿KornShell es el mejor shell de Linux?

Comúnmente conocido como ksh, KornShell es un popular shell Linux alternativo que se originó en los Laboratorios Bell en la década de 1980. No hay muchas diferencias entre bash y ksh, pero cada una tiene menos ventajas que la otra. Ksh, por ejemplo, tiene el viejo comando cd antiguo. Si estaba en el directorio / Download / foo / bar / one / foobar y tuvo que acceder / Download / foo / bar / two / foobar solo tiene que ingresar:

 cd one two 

Los veteranos de ksh argumentarán su superioridad al mencionar sus ventajas en términos de secuencias de comandos. Éstos incluyen:

  • Mejor sintaxis de bucle
  • Formas naturales de repetir comandos
  • Matrices asociativas

A diferencia de bash, es difícil encontrar ayuda para ksh en línea. Si quieres probar ksh, ingresa:

 sudo apt install ksh ksh 

3. Tcsh

Shell de Tsch en Linux

Tcsh puede rastrear sus orígenes hasta los primeros días de Unix. Es una versión mejorada de C shell (csh) y características:

  • Línea de comando programable completada
  • Cambiar desde la línea de comando
  • Agregar argumentos a los alias
  • Fácil acceso al historial de comandos

¡Puede ejecutar cualquier comando escribiendo ! N reemplazando n con el número correspondiente en el historial mostrado. Completar la pestaña Historial en tcsh funciona escribiendo:

 !a<TAB> 

Esto se expande al último comando que comenzó con la letra "a". Comparativamente, en bash, ¡debes escribir ! A: p para ver el comando primero, seguido de !! para ejecutarlo

Para probar tcsh, escriba:

 sudo apt install tcsh tcsh 

Tcsh es el shell predeterminado para sistemas basados ​​en BSD como FreeBSD. La gran fortaleza de tcsh es su lenguaje de script, útil para cualquiera que esté programando principalmente en C. Esto hace que tcsh sea útil para la creación de prototipos de pequeños programas en C sin confundirse con cosas como los paréntesis que se están utilizando. Este problema tiende a ocurrir si cambia continuamente de programación C a scripting de shell.

4. pescado

Usa la concha de pescado en Linux

Entre toda la seriedad de Linux, el equipo de pescadores ha incluido un sentido del humor en su proyecto. En su página web, la lengua en la mejilla título lee "Finalmente, un shell de línea de comandos para los 90", aunque los peces ( "f riendly i nteractive sh ell") fue desarrollado en 2005. Al Más allá del promocionado "Glorious VGA in color", hay algunas mejoras sobre otros shells:

  • Los comandos con sintaxis no válida se muestran en rojo
  • La sintaxis correcta aparece en azul
  • Consejos de autocompletar
  • Finalización de comandos basados ​​en páginas man en su máquina .

Esta característic
a agrega sintaxis desde la página de manual de software recién instalada a las sugerencias de autocompletar. Si desea familiarizarse con la línea de comando, el pescado puede ser un excelente lugar para comenzar.

Para probar de qué se trata el pescado, escriba:

 sudo apt install fish fish 

5. Z Shell

Z Shell en Linux

Muchos considerarían que esto dejará el mejor shell al final, lo que sería completamente comprensible. Zsh tiene similitudes con bash y ksh e incorpora muchas de las características que se encuentran en ellos y también tcsh. Características de Zsh:

  • Lista de autocompletar navegable
  • Corrección ortográfica superior
  • Línea de comando completada
  • Historia compartida entre terminales
  • Globbing (caracteres comodín para nombres de archivo)

Globbing en zsh es muy útil. Mecanografía:

 vim /u/l/b/a<TAB> 

Abriría el archivo:

 /usr/local/bin/autoupdate.sh 

Zsh puede tardar un tiempo en configurarse en el primer uso si no utiliza la configuración predeterminada. Para probarlo, ingrese:

 sudo apt install zsh zsh 

¿Qué shell de Linux es el mejor para mí?

El hecho de que estas opciones estén disponibles es brillante. Cada uno es un vistazo a la historia de la informática, donde los programadores han decidido querer hacer las cosas a su manera.

Las diferencias sustanciales entre estos shells se pueden encontrar en la sintaxis del script. Cada caparazón tiene un conjunto particular de tonos que los separan unos de otros. En la actualidad, bash domina en términos de participación de mercado, por lo que es mucho más fácil encontrar ayuda. Bash es simplemente el mejor todoterreno, capaz de satisfacer las necesidades de todos, excepto de los usuarios más avanzados.

Cuando haya optado por un shell de Linux, asegúrese de estar familiarizado con los conceptos básicos del script de shell .

Lea el artículo completo: ¿ qué shell de Linux es el mejor? 5 conchas comunes comparadas