es.phhsnews.com


es.phhsnews.com / ¿Cuál es la diferencia entre Bash, Zsh y otros shells de Linux?

¿Cuál es la diferencia entre Bash, Zsh y otros shells de Linux?


La mayoría de las distribuciones de Linux incluyen el shell bash de manera predeterminada, pero también se puede cambiar a otro entorno de shell. Zsh es una alternativa particularmente popular, y hay otras conchas, como cenizas, guiones, peces y tcsh. ¿Pero cuál es la diferencia, y por qué hay tantos?

¿Qué hacen los depósitos?

Cuando inicia sesión en la línea de comando o inicia una ventana de terminal en Linux, el sistema inicia el programa de shell. Las shells ofrecen una forma estándar de extender el entorno de línea de comando. Puede cambiar el shell predeterminado por otro, si lo desea.

El primer entorno de shell fue Thompson Shell, desarrollado en Bell Labs y lanzado en 1971. Los entornos de Shell han estado construyendo sobre el concepto desde entonces, agregando una variedad de nuevas características, funcionalidad y mejoras de velocidad.

Por ejemplo, Bash ofrece terminación de nombre de comando y archivo, características de scripting avanzadas, historial de comandos, colores configurables, alias de comando y una variedad de otras características que no estaban disponibles. en 1971, cuando se lanzó el primer caparazón.

El caparazón también se usa en segundo plano por varios servicios del sistema. Las distribuciones de Linux incluyen muchas funciones escritas como scripts de shell. Estos scripts son comandos y otras funciones avanzadas de scripts de shell que se ejecutan en el entorno de shell.

Shells Leading to Bash: sh, csh, tsh y ksh

RELACIONADO: ¿Qué es Unix y por qué es importante? ?

El progenitor más famoso de las conchas modernas es el caparazón de Bourne, también conocido como "sh", que recibió su nombre de su creador Stephen Bourne, que trabajó en los Bell Labs de AT & T. Lanzado en 1979, se convirtió en el intérprete de comandos predeterminado en Unix debido a su compatibilidad con sustitución de comandos, tuberías, variables, prueba de condición y bucle, junto con otras características. No ofrecía mucha personalización para los usuarios, y no soportaba detalles tan modernos como alias, finalización de comandos y funciones de shell (aunque finalmente se agregó esta última).

El shell C, o "csh", se desarrolló a fines de la década de 1970 por Bill Joy en la Universidad de California, Berkley. Agregó una gran cantidad de elementos interactivos con los que los usuarios podían controlar sus sistemas, como alias (accesos directos para comandos largos), capacidades de administración de trabajos, historial de comandos y más. Fue modelado a partir del lenguaje de programación C, en el que se escribió el sistema operativo Unix. Esto también significaba que los usuarios del shell Bourne tenían que aprender C para poder ingresar comandos en él. Además, csh tuvo bastantes errores que los usuarios y creadores tuvieron que resolver durante un período extenso de tiempo. La gente terminó usando el shell Bourne para los scripts porque manejaba mejor los comandos no interactivos, pero se quedaba con el shell C para un uso normal.

Con el tiempo, muchas personas corrigieron errores y agregaron funciones al shell C, que culminó en una versión mejorada de csh conocida como "tcsh". Pero csh seguía siendo el predeterminado en las computadoras basadas en Unix, y había agregado algunas características no estándar. David Korn de Bell Labs trabajó en KornShell, o "ksh", que intentó mejorar la situación al ser compatible con versiones anteriores con el lenguaje del shell Bourne, pero añadiendo muchas características del shell csh. Fue lanzado en 1983, pero bajo una licencia propietaria. No fue software libre hasta la década de 2000, cuando fue lanzado bajo varias licencias de código abierto.

The Birth of Bash

La interfaz del sistema operativo portátil para Unix, o POSIX, fue otra respuesta a la frenética propiedad de csh implementaciones. Creó con éxito un estándar para la interpretación de comandos (entre otras cosas) y, finalmente, reflejó muchas de las características de KornShell. Al mismo tiempo, el Proyecto GNU estaba intentando crear un sistema operativo gratuito compatible con Unix. El Proyecto GNU desarrolló un shell de software libre para ser parte de su sistema operativo libre y lo llamó "Bourne Again Shell", o "bash".

Bash se ha mejorado en las décadas posteriores a su primer lanzamiento en 1989, pero es sigue siendo el shell por defecto en la mayoría de las distribuciones de Linux de hoy. También es el shell predeterminado en macOS de Apple, y está disponible para su instalación en Windows 10 de Microsoft.

Conchas más recientes: ceniza, guión, zsh y pez

Mientras que la comunidad Linux se ha asentado en Bash en los años siguientes, los desarrolladores no dejaron de crear nuevos proyectiles cuando Bash se lanzó por primera vez hace 28 años.

Kenneth Almquist creó un clon de shell de Bourne conocido como caparazón de Almquish, un caparazón, "ceniza", o algunas veces simplemente "sh". también era compatible con POSIX y se convirtió en el shell por defecto en BSD, una rama diferente de Unix. El caparazón de cenizas es más liviano que bash, lo que lo hace popular en sistemas Linux embebidos. Si tiene un teléfono Android rooteado con BusyBox instalado -o cualquier otro dispositivo con la suite de software BusyBox- está usando el código de ash.

Debian desarrolló un entorno shell basado en cenizas y lo llamó "dash". Está diseñado para ser compatible con POSIX y liviano, por lo que es más rápido que Bash, pero no tendrá todas sus características. Ubuntu usa el shell del tablero como su caparazón por defecto para tareas no interactivas, acelerando las secuencias de comandos del caparazón y otras tareas que se ejecutan en segundo plano. Ubuntu todavía usa bash para capas interactivas, sin embargo, por lo que los usuarios aún tienen el entorno interactivo con todas las funciones.

Uno de los shells más nuevos más populares es Z shell, o "zsh". Creado por Paul Falstad en 1990, zsh es un shell de estilo Bourne que contiene las características que encontrarás en bash, y aún más. Por ejemplo, zsh tiene revisión ortográfica, la capacidad de ver si hay inicios de sesión / logouts, algunas funciones de programación integradas como bytecode, soporte para notación científica en sintaxis, permite la aritmética de coma flotante y más funciones.

Otra más nueva shell es el Consola interactiva amigable, o "pez", lanzado en 2005. Tiene una sintaxis de línea de comandos única que está diseñada para ser un poco más fácil de aprender, pero no deriva del shell Bourne ni del shell C. Es una idea interesante, pero lo que aprendes a través del uso de peces no necesariamente te ayudará a utilizar bash y otras conchas derivadas de Bourne.

¿Qué deberías elegir? (y por qué Zsh es popular)

No es necesario que elija un caparazón. Su sistema operativo elige su shell por defecto para usted, y esa elección casi siempre es bash. Siéntese frente a una distribución de Linux, o incluso una Mac, y casi siempre tendrá un entorno de shell bash. Bash tiene bastantes funciones avanzadas, pero probablemente no las utilizará a menos que programe scripts de shell.

En los sistemas Linux embebidos o BSD, terminará con el shell de cenizas. Pero ash es un shell basado en Bourne y es ampliamente compatible con bash. Cualquier conocimiento que tenga al usar bash se transferirá al uso de un caparazón de cenizas o guiones, aunque algunas características avanzadas de scripting no están disponibles en este ligero caparazón.

Casi todas las cubiertas que encontrará estarán basadas en Bourne y funcionarán de manera similar, incluido zsh .

Es por eso que zsh es popular. Este shell más nuevo es compatible con bash, pero incluye más características. El shell zsh ofrece corrección ortográfica incorporada, finalización de línea de comandos mejorada, módulos cargables que actúan como complementos para su shell, alias globales que le permiten alias nombres de archivos o cualquier otra cosa en la línea de comandos en lugar de solo comandos, y más apoyo de tematización. Es como bash, pero con muchos extras, funciones adicionales y opciones configurables que puede apreciar si pasa mucho tiempo en la línea de comandos.

Si está familiarizado con bash, puede cambiar a zsh sin aprender una sintaxis diferente; solo obtendrá características adicionales. si está familiarizado con zsh, puede cambiar a bash sin aprender una sintaxis diferente: simplemente no tendrá acceso a esas funciones.

"Oh My ZSH" es una herramienta que le ayuda a habilitar más fácilmente el plug-in de zsh. ins y cambiar entre los temas prefabricados, personalizando rápidamente su shell zsh sin pasar horas ajustando las cosas.

También hay otros shells. Por ejemplo, el shell tcsh aún está disponible y sigue siendo una opción. FreeBSD usa tsch como shell raíz predeterminado y ash como su caparazón interactivo predeterminado. Si usa la programación C regularmente, tsch podría ser una mejor opción para usted. Sin embargo, no es tan común como bash o zsh.

Cómo cambiar entre caparazones

Es fácil cambiar a un nuevo caparazón para probarlo. Simplemente instale el shell desde el administrador de paquetes de su distribución Linux y escriba el comando para iniciar el shell.

Por ejemplo, supongamos que quiere probar zsh en Ubuntu. Ejecutas los siguientes comandos para instalarlos y luego ejecutarlos:

sudo apt install zsh zsh

Entonces estarías sentado en un shell zsh. Escriba "exit" en el intérprete de comandos para abandonarlo y regresar a su shell actual.

Esto es solo temporal. Cada vez que abra una nueva ventana de terminal o inicie sesión en su sistema en la línea de comandos, verá su shell predeterminado. Para cambiar el intérprete de comandos que ve al iniciar sesión, conocido como su shell de inicio de sesión, generalmente puede usar el comandochsho "Cambiar shell".

Para usar este comando, primero Necesito encontrar la ruta completa a tu caparazón con el comando. Por ejemplo, digamos que queríamos cambiar al shell zsh. Ejecutaríamos el siguiente comando:

que zsh

En Ubuntu, esto nos dice que el binario zsh se almacena en /usr/bin/zsh.

Ejecuta el siguiente comando, ingresa tu contraseña y tú " Se le pedirá que elija un nuevo shell de inicio de sesión:

chsh

De acuerdo con el comando anterior, ingresaríamos/ usr / bin / zsh. El shell zsh sería nuestro predeterminado hasta que ejecutamos el comandochshy lo cambiamos de nuevo.


¿Cuál es la diferencia entre un fotograma completo y la cámara del sensor de cultivo?

¿Cuál es la diferencia entre un fotograma completo y la cámara del sensor de cultivo?

Los sensores de la cámara vienen en diferentes tamaños. El que está en su teléfono inteligente es mucho más pequeño que el de mi Canon 5D MKIII, una réflex digital profesional. Para cámaras DSLR y sin espejo de alta calidad, hay dos tamaños de sensor principales: 35 mm (generalmente denominado "fotograma completo") y APS-C (normalmente denominado "sensor de recorte" o "cámara de recorte").

(how-top)

Cómo deshabilitar la aceleración de la CPU de tu iPhone en iOS 11.3

Cómo deshabilitar la aceleración de la CPU de tu iPhone en iOS 11.3

Apple ha sido criticado recientemente por admitir que aceleran las velocidades de CPU en iPhones con baterías viejas. Después de una buena cantidad de presión por parte de los medios y los clientes, la compañía está incluyendo una forma de desactivar esta aceleración en iOS 11.3, que debería estar disponible en las próximas semanas.

(how-top)