GNU/Linux >> Tutoriales Linux >  >> Linux

Resumen de shell de Linux:15 shells de Linux de código abierto más populares

Los sistemas Unix han cautivado al mundo desde sus inicios en los años 70. Una de las características fundamentales que ayudaron a las distribuciones de Linux y BSD a asegurar su estatura actual es el shell de Linux. El shell es una de las herramientas esenciales para muchos aficionados a Linux debido a su inmenso poder y diversas aplicaciones. Es una interfaz de línea de comandos para tu sistema operativo, que te permite realizar cualquier tipo de operación según tu criterio. Además, los shells de Linux no son solo una interfaz, sino también un lenguaje de secuencias de comandos completo con su propio conjunto de sintaxis y semántica.

Conchas de Linux de uso frecuente

Linux ofrece algunos de los mejores shells de código abierto para usuarios avanzados que siempre buscan agregar nuevos conjuntos de herramientas a su arsenal. Lo que, a su vez, hace que elegir un caparazón en particular sea bastante difícil para muchos usuarios cotidianos. Nuestros editores se han tomado la libertad de señalar algunos de los mejores y gratuitos shells de código abierto para usuarios de Linux. Quédese con nosotros para averiguar qué shell de Linux se adapta mejor a su propósito.

1. concha sh

El Bourne Shell o “sh” fue el shell original del histórico sistema operativo Unix. Su creador, Stephen Bourne, lo desarrolló en AT&T Bell Labs en 1977 y desde entonces se ha incluido con la mayoría de los sistemas Unix anteriores. Bourne Shell obtuvo su forma abreviada de la extensión de secuencias de comandos que utiliza, lo que, como era de esperar, requiere que los usuarios terminen los nombres de las secuencias de comandos con sh. Estableció el estándar para muchos shells futuros populares con características como redirección, capacidades de secuencias de comandos y construcciones de lenguaje robustas.

Características de Bourne Shell

  • El indicador de shell predeterminado de Bourne Shell es el símbolo $, y fue el primer shell que usó este carácter para su indicador.
  • Tiene soporte integrado para redirección de entrada-salida, Unicode, redirección de transmisión, secuencias de comandos por lotes y muchos más.
  • Aunque la versión original de 1977 de este shell era propietaria, se ha puesto a disposición del público con acceso a la fuente.
  • El shell sh es altamente configurable y se puede modificar fácilmente para que coincida con diferentes criterios del sistema.

2. Concha de golpe

Conocido ampliamente como Bourne Again Shell, Bash es probablemente el shell de Linux más utilizado en las máquinas Unix contemporáneas. Si tiene una distribución estándar de Linux como Ubuntu o Arch, entonces el shell predeterminado que está usando es el shell Bash. Este shell de Linux de código abierto es bien conocido en la comunidad por su sólido conjunto de funciones y facilidad de uso. La mayoría de los usuarios de Linux ejecutan Bash en un momento u otro de su vida.

Características de Bash Shell

  • Las funciones de edición de la línea de comandos proporcionadas por Bash son sencillamente excepcionales y ofrecen un historial de comandos ilimitado.
  • Bash proporciona sólidas funciones de shell, alias, mecanismos de control de trabajos, redirección de entrada-salida, compatibilidad con ISO 8061 junto con compatibilidad con Unicode.
  • Este shell de Linux de código abierto brinda soporte de autocompletado para nombres de comandos, rutas, comodines y permite listas de directorios coloreadas junto con resaltado de texto.
  • Bash puede realizar aritmética de enteros de cualquier base de dos a sesenta y cuatro y permite matrices indexadas con tamaño ilimitado.

3. Carcasa C

El shell C o "csh" es uno de los shells Unix de código abierto más antiguos. Fue desarrollado en los años 70 por Bill Joy, entonces estudiante de posgrado en la UCB. Desde entonces, csh se ha enviado con numerosas variaciones de Unix, sobre todo los diversos BSD. Incorpora una sintaxis similar a C para el intérprete que es útil para muchos debido al hecho de que el sistema Unix original y los núcleos Linux modernos están escritos en gran parte en C/C++.

- -

Características de C Shell

  • C shell ofrece un innovador mecanismo de historial, procedimientos de control de trabajos, nombre de archivo interactivo y finalización de nombre de usuario junto con sintaxis estándar similares a C.
  • Permite a los usuarios avanzados utilizarlo como un shell de inicio de sesión interactivo o como un procesador de comandos para scripts de shell.
  • El indicador de shell predeterminado utilizado por el shell C de Linux es el símbolo '%', contrario al signo familiar '$' para muchos usuarios de Bash.
  • C shell permite a los usuarios la capacidad de buscar y reemplazar sustituciones de variables junto con patrones coincidentes basados ​​en comodines.

4. Concha Korn

Podría decirse que Korn Shell o ksh es uno de los shells de código abierto más populares para Linux en la actualidad. Fue desarrollado en los legendarios Bell Labs por David Korn, quien se inspiró en la interactividad del shell C y la productividad del shell Bash. Korn Shell ha ganado una inmensa popularidad desde sus primeros días, gracias a sus características avanzadas que incluyen control de trabajo avanzado, alias de comando, aritmética de coma flotante y muchas otras.

Características de Korn Shell

  • Korn Shell permite a los usuarios terminar los trabajos actuales usando Ctrl + Z y ponerlos en primer plano o en segundo plano usando los comandos fg y bg .
  • Se puede utilizar para almacenar el código de shell directamente en la memoria, lo que permite aumentar la capacidad de programación y el rendimiento eficiente.
  • El ksh ofrece edición avanzada de línea de comandos donde los usuarios pueden usar comandos de edición de estilo vi o Emacs directamente desde su shell.
  • Los scripts de shell de Korn suelen ser más rápidos que los scripts de shell de Bourne y ofrecen funciones de E/S avanzadas junto con mecanismos de seguridad notables.

5. Concha Zsh

ZSH Shell es un innovador shell de Linux moderno con una gran cantidad de características sólidas. Está desarrollado sobre Bash y ofrece un shell de inicio de sesión interactivo junto con el intérprete de comandos efectivo. Zsh es conocido por su rendimiento, que mejora considerablemente a muchos shells de código abierto para Linux. También toma prestados elementos de otros proyectiles populares de los años 90, incluidos los proyectiles Ksh y Tcsh. Prueba Zsh si eres un gurú de Linux que busca shells de Linux avanzados.

Características de Zsh Shell

  • La función de finalización automática de Zsh es muy inteligente y admite una función de finalización automática altamente interactiva tanto para archivos como para rutas.
  • El mecanismo de intercambio de historial de este shell Unix de código abierto es simplemente inmenso, lo que permite compartir el historial de muchas instancias de terminal diferentes que se ejecutan al mismo tiempo.
  • Los usuarios pueden elegir entre más de 400 complementos y más de 200 temas de su popular marco impulsado por la comunidad oh-my-zsh.
  • Zsh también es compatible con el modo vi, el escape inteligente, el englobamiento recursivo, la canalización de salidas a archivos temporales, la corrección ortográfica y muchas más funciones interactivas.

6. Shell Tcsh

El shell Tcsh es una versión mejorada del shell C que ofrece finalización de comandos programable y edición de línea de comandos como características clave. Es completamente compatible con el shell Csh y se puede utilizar tanto como un shell de inicio de sesión interactivo como un procesador de scripts de shell. Tcsh viene con un potente editor de línea de comandos, un mecanismo de historial moderno, finalización de palabras programable, control de trabajo, soporte de revisión ortográfica y una sintaxis similar a C seguida de Csh. Este shell de Unix es el más adecuado para programadores avanzados.

Características de Tcsh Shell

  • Tcsh viene con soporte incorporado para el autocompletado de archivos y variables, así como selectores de argumentos de alias y finalización programables.
  • Permite a los usuarios experimentados incorporar comodines para una mayor flexibilidad al ejecutar scripts de shell en la terminal.
  • El comando where prediseñado de este shell de Linux funciona como el comando which en Bash, pero muestra todas las ubicaciones del objetivo especificado en el directorio $PATH.
  • Tcsh es el intérprete de línea de comandos predeterminado para FreeBSD y sus descendientes, como DragonFly BSD y DesktopBSD.

7. Concha De Pescado

Fish Shell es un shell de Unix amigable e interactivo que pretende ser un reemplazo moderno de los primeros shells de código abierto para Linux. Está disponible en todas las distribuciones de Linux y BSD junto con el sistema operativo Windows. Fish ofrece un amplio conjunto de potentes funciones que facilitan el descubrimiento, el recuerdo y el uso de emocionantes comandos de Linux en su máquina. Si está buscando un shell de línea de comandos inteligente para su escritorio Linux, sin duda vale la pena probar Fish.

Características del caparazón de pescado

  • Fish ofrece una potente función de sugerencia automática conocida como "buscar mientras escribe" basado en su historial de línea de comando y directorio actual.
  • Su característica de finalización Tav rica en funciones permite a los usuarios expandir rutas de archivos, variables y muchas finalizaciones específicas de comandos con comodines y expansión de llaves.
  • Fish viene con soporte incorporado para color verdadero de 24 bits, lo que hace que sus sesiones de terminal sean mucho más coloridas y atractivas.
  • Es un shell excelente para las personas que buscan shells de código abierto que funcionen de forma inmediata y no requieran configuración.

8. Capa de iones

El shell Ion es un shell moderno fascinante que presenta una sintaxis simple pero poderosa junto con un aumento significativo en el rendimiento. Está escrito usando el lenguaje de programación Rust, lo que lo hace mucho menos vulnerable a los problemas comunes de "ShellShcok" que encuentran muchos usuarios de Bash. Ion toma prestados muchos elementos de diseño de conchas populares como Bash, Fish y Oil. Así que no debería llevarte mucho tiempo ponerte en marcha con este fantástico caparazón.

Características del Ion Shell

  • El shell Ion es más rápido que Dash, que a su vez es aproximadamente cuatro veces más rápido que el shell Bash estándar que la mayoría de las máquinas Linux usan en la actualidad.
  • Debido a que está escrito en Rust, Ion ofrece un alto grado de seguridad de la memoria que los shells tradicionales de línea de comandos de Unix basados ​​en C/C++.
  • Ion tiene soporte de expansión integrado para cadenas, arreglos, globos, llaves (rangos, permutaciones, llaves anidadas), aritmética y procesos.
  • Su diseño simple, limpio y conciso hace que sea relativamente fácil acostumbrarse y permite a los usuarios compilar el shell como un binario estático.

9. Consola de tablero

El shell Dash es un acrónimo de Debian Almquist shell (guión) y es el intérprete de línea de comandos predeterminado para los sistemas operativos Debian. Es mucho más pequeño que el shell GNU Bash estándar, pero aún apunta a la compatibilidad con POSIX. Dash ha descendido de la versión NetBSD de ash (el Almquist SHell) antes de ser portado al ecosistema Linux y ofrece un aumento de rendimiento significativo que los shells tradicionales de Unix. Dash es más rápido que la mayoría de los shells y requiere menos espacio y menos bibliotecas.

Características de Dash Shell

  • Dash es uno de los shells de código abierto más rápidos para Linux, casi cuatro veces más rápido que Bash y otros shells estándar.
  • El diseño minimalista de Dash lo hace mucho más pequeño que los intérpretes de línea de comandos cotidianos y requiere recursos del sistema limitados (espacio en disco, RAM o CPU).
  • Debido a su base de código significativamente más pequeña, Dash tiene una superficie de ataque menor y es muy seguro frente a ataques de shell frecuentes.
  • Los usuarios de los sistemas Ubuntu o Debian pueden encontrar más información sobre Dash escribiendo man dash en la ventana de su terminal.

10. Eshell

Eshell es un conveniente programa de interpretación de línea de comandos escrito con Emacs Lisp y tiene como objetivo ser extremadamente portátil además de proporcionar un soporte perfecto para los códigos Lisp. Ofrece una lista bastante importante de funciones cotidianas que incluyen finalización automática, gestión de historial, mecanismo de control de trabajos y muchas más. Las construcciones de secuencias de comandos incluidas con Eshell son bastante sencillas y funcionan correctamente. Si eres un programador de Lisp o un entusiasta de Emacs de vanguardia, Eshell puede convertirse en el shell de Linux perfecto para ti.

Características del Eshell

  • Eshell no es un emulador de terminal independiente, sino un shell cotidiano que se comunica con su máquina utilizando las funcionalidades de Emacs.
  • A partir de ahora, no admite programas interactivos directamente, por lo que debe invocarlos en una instancia de término ANSI separada.
  • El soporte predeterminado de Eshell para la interacción y la modificación del historial es bastante bueno, y la sintaxis es algo similar a Bash y Zsh.
  • Los usuarios pueden personalizar Eshell modificando la función eshell-prompt-function variable, que define cómo debe comportarse el aviso en su sistema.

11. Concha rc

El shell rc es un intérprete de línea de comandos clásico que tiene un gran parecido con el shell Bourne. Sin embargo, tiene una estructura algo simplista en comparación con el shell Bourne. Esto se debe a que rc utiliza estructuras de control similares a C en lugar de la sintaxis similar a ALGOL utilizada por sh. Tom Duff, el desarrollador principal de este shell de Unix, es bien conocido por su programación de calidad y sus habilidades excepcionales para resolver problemas.

Características del rc Shell

  • rc usa las construcciones de secuencias de comandos if not en lugar de vanilla else y proporciona el mismo bucle for que usa en el shell de Bourne.
  • Aunque rc tiene una disciplina de tipeo débil, incorpora un poderoso mecanismo para manipular variables.
  • rc es razonablemente liviano, lo que lo hace más rápido que muchos shells tradicionales de código abierto para Linux.
  • Viene equipado con un excelente soporte para manejo de excepciones, mecanismo de búsqueda y reemplazo, coincidencia de patrones y mucho más.

12. Shell Scsh

Scheme Shell o Scsh es un shell de línea de comandos portátil disponible para una amplia variedad de sistemas operativos además de Linux y BSD. Tiene capas con la interfaz de programación Scheme y está diseñado para escribir fácilmente programas Unix del mundo real. Se puede usar para escribir scripts eficientes para aplicaciones y programas de sistemas operativos estándar. Viene con soporte incorporado para canalizaciones, redirección de entrada-salida, enlaces simbólicos, conectores BSD, patrón de expresión regular junto con muchas más características interesantes.

Características de Scsh Shell

  • El shell de Scheme tiene un excelente soporte de biblioteca para construcciones de secuencias de comandos cotidianas, como listas, caracteres y cadenas.
  • Los usuarios pueden elegir usar expresiones regulares de Scheme, un lenguaje específico de dominio (DSL) o pequeños lenguajes al manipular expresiones regulares.
  • El soporte de red proporcionado por este shell de código abierto es realmente excelente y más rápido en comparación con muchos.
  • Sus abstracciones de calidad admiten pseudo terminales, awk como scripts, macros, búsqueda inteligente y habilidades de reemplazo, entre muchas más.

13. Caparazón Xonsh

Xonsh es un shell de Linux moderno impulsado por el lenguaje de secuencias de comandos Python. Si alguna vez se preguntó si podría usar el intérprete de Python como su shell de Unix, Xonsh le permite hacer exactamente eso. El lenguaje se ha construido como un superconjunto de Python 3.5+ y proporciona numerosas primitivas de shell que usa regularmente en Bash e iPython. Además, su sitio web es realmente genial y permite a los nuevos usuarios probar Xonsh en vivo desde su navegador.

Características de Xonsh Shell

  • Xonsh se desarrolló como un lenguaje sensato con soporte nativo para una variedad de sistemas operativos, incluidos Linux, Mac OSX y Windows.
  • La característica de finalización de tabulación de este shell es simplemente excepcional y también admite la finalización desde el análisis de la página del manual.
  • Los usuarios familiarizados con Python encontrarán que Xonsh es muy adecuado ya que la sintaxis se parece mucho a la de Python.
  • Viene con una biblioteca bastante amplia que ofrece muchas primitivas cotidianas listas para usar.

14. Oh Shell

Oh es un fantástico shell de código abierto para usuarios modernos de Linux. Aunque a primera vista parecerá bastante similar a los shells tradicionales de Unix, difiere de ellos en lo que respecta a la programación. Desarrollado con Golang, Oh ofrece soporte de concurrencia nativo de alta calidad. Sin embargo, el núcleo de Oh es una instancia extremadamente modificada del lenguaje de programación Scheme. También utiliza la misma sintaxis para el código, los datos, la canalización y los canales, lo que permite que el usuario final los use indistintamente en sus scripts.

Características de Oh Shell

  • El shell en sí está construido usando Go, pero las construcciones de programación son un dialecto del lenguaje de programación Scheme.
  • Oh es uno de los mejores shells de Unix cuando se trata de soportar la concurrencia.
  • Maneja canales junto con tuberías como valores de primera clase y tiene una estructura sintáctica concisa.
  • Oh permite miembros tanto públicos como privados y los utiliza como base de un sistema de objetos basado en prototipos.

15. Concha élfica

El shell Elvish es uno de mis shells de código abierto favoritos para Linux desde que lo probé hace algunos meses. Es un intérprete de línea de comandos realmente fantástico que le permite hacer todo tipo de cosas en su máquina. Desde manipular el propio sistema hasta escribir guiones elocuentes, Elvish se puede utilizar para realizar una extensa lista de tareas. Viene con una rica biblioteca de funciones sólidas para la manipulación de cadenas, la coincidencia de expresiones regulares, el análisis JSON, la creación de redes y muchas más.

Características de la concha élfica

  • Las canalizaciones élficas permiten que el sistema transmita datos estructurados como listas, mapas e incluso funciones junto con datos de texto estándar.
  • Viene con una sintaxis familiar similar a C que hace que las secuencias de comandos en élfico sean muy intuitivas para los usuarios experimentados de Linux.
  • Elvish está escrito utilizando el lenguaje de programación Go y, por lo tanto, es muy seguro en comparación con otros shells de Unix.
  • Este shell de Unix viene con un administrador de archivos preconstruido que hace que la administración del sistema sea mucho más cómoda.

Pensamientos finales

Debido a la gran cantidad de shells robustos de código abierto que ofrece el creciente ecosistema de Linux, a menudo se convierte en una tarea difícil elegir el shell de Linux adecuado para usted. Nuestros editores han repasado todas las opciones populares que puede encontrar y compilado esta práctica guía para usted. Como las personas tienen una preferencia variada por diferentes tipos de caparazones, el mejor para usted depende completamente de usted. Alentamos a nuestros lectores a probar algunos de estos caparazones según sus requisitos y obtener experiencia de primera mano por sí mismos. Déjanos un comentario sobre tu opinión sobre nuestras selecciones.


Linux
  1. Mi historia de Linux:cubriendo el código abierto en español

  2. Las 5 mejores herramientas de almacenamiento en caché de Linux de código abierto recomendadas por los geeks

  3. 10 navegadores web ligeros de código abierto para Linux

  4. Los 10 mejores software de contabilidad de código abierto para Linux

  5. Scribus:un software de autoedición de código abierto

Los 6 mejores shells de código abierto para Linux

Comando fuente en Linux

Shells populares de código abierto en Linux

Explicación del comando fuente en Linux

8 tipos de shells de Linux

Koodo Reader:un lector de libros electrónicos de código abierto para Linux