GNU/Linux >> Tutoriales Linux >  >> Linux

UNIX/Linux:¿Qué es un shell? ¿Cuáles son las diferentes conchas?

¿Qué es una concha?

Un shell es un programa que proporciona una interfaz entre un usuario y el núcleo de un sistema operativo (SO). Un sistema operativo inicia un shell para cada usuario cuando el usuario inicia sesión o abre una ventana de terminal o consola.

Un núcleo es un programa que:

  • Controla todas las operaciones de la computadora.
  • Coordina todas las utilidades de ejecución
  • Garantiza que la ejecución de las utilidades no interfiera entre sí ni consuma todos los recursos del sistema.
  • Programa y administra todos los procesos del sistema.

Al interactuar con un kernel, un shell proporciona una forma para que un usuario ejecute utilidades y programas.

Entorno del usuario

El shell también proporciona un entorno de usuario que puede personalizar mediante archivos de inicialización. Estos archivos contienen configuraciones para las características del entorno del usuario, como:

  • Rutas de búsqueda para encontrar comandos.
  • Permisos predeterminados en archivos nuevos.
  • Valores para variables que usan otros programas.
  • Valores que puede personalizar.

¿Cuáles son las diferentes conchas?

Las siguientes secciones describen los shells del sistema operativo disponibles principalmente en el sistema operativo UNIX/Linux. También se describen las características de Shell y sus indicaciones predeterminadas.

1. La concha de Bourne

El shell Bourne (sh), escrito por Steve Bourne en AT&T Bell Labs, es el shell UNIX original. Es el shell preferido para la programación de shell debido a su tamaño compacto y velocidad. Un inconveniente de Bourne Shell es que carece de funciones para uso interactivo, como la capacidad de recuperar comandos anteriores (historial). El shell Bourne también carece de manejo de expresiones lógicas y aritméticas incorporadas.

El shell Bourne es el shell predeterminado del sistema operativo Solaris. Es el shell estándar para las secuencias de comandos de administración del sistema Solaris. Para el shell Bourne:

  • El nombre de la ruta completa del comando es /bin/sh y /sbin/sh .
  • El aviso predeterminado para usuarios no root es $ .
  • El aviso predeterminado del usuario raíz es # .

2. La carcasa C

El shell C (csh):

  • Es una mejora de UNIX escrita por Bill Joy en la Universidad de California en Berkeley.
  • Funciones incorporadas para uso interactivo, como alias y historial de comandos .
  • Incluye prácticas funciones de programación, como aritmética integrada y una sintaxis de expresión similar a C .

Para el shell C, el:

  • El nombre de la ruta completa del comando es /bin/csh .
  • El indicador predeterminado de usuario no raíz es nombre de host % .
  • El aviso predeterminado del usuario raíz es nombre de host # .

3. La concha de Korn

El caparazón de Korn (ksh):

  • Escrito por David Korn en los laboratorios Bell de AT&T
  • Es un superconjunto del shell de Bourne.
  • Admite todo en el shell de Bourne.
  • Tiene funciones interactivas comparables a las del shell C.
  • Incluye prácticas funciones de programación como aritmética integrada y matrices tipo C , funciones y instalaciones de manipulación de cadenas .
  • Es más rápido que el shell C.
  • Ejecuta scripts escritos para el shell Bourne.

Para el caparazón Korn:

  • El nombre de la ruta completa del comando es /bin/ksh .
  • El aviso predeterminado para usuarios no root es $ .
  • El aviso predeterminado del usuario raíz es # .

4. El Bourne-Again Shell de GNU

El shell GNU Bourne-Again (bash):

  • Es compatible con el shell Bourne.
  • Incorpora funciones útiles de los shells Korn y C.
  • Tiene teclas de flecha que se asignan automáticamente para recuperar y editar comandos.

Para el shell GNU Bourne-Again, el:

  • El nombre de la ruta completa del comando es /bin/bash .
  • El aviso predeterminado para un usuario no raíz es bash-x.xx$ . (Donde x.xx indica el número de versión del shell. Por ejemplo, bash-3.50$)
  • El aviso predeterminado del usuario raíz es bash-x.xx# . (Donde x.xx indica el número de versión del shell. Por ejemplo, bash-3.50$#)

Aquí hay una breve comparación de las 4 conchas y sus propiedades.

Concha Ruta Mensaje predeterminado (usuario no root) Mensaje predeterminado (usuario raíz)
La concha de Bourne (sh) /bin/sh y /sbin/sh $ #
La consola C (csh) /bin/csh % #
La concha Korn (ksh) /bin/ksh $ #
GNU Bourne-Again Shell (Bash) /bin/bash bash-x.xx$ bash-x.xx#


Linux
  1. Linux vs Unix:¿Cuál es la diferencia?

  2. ¿Qué es un usuario de Linux?

  3. Linux:¿cuáles son las diferentes formas de establecer permisos de archivos, etc. en Gnu/linux?

  4. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

  5. ¿Qué son los archivos dispersos en Linux?

¿Qué es el Shell en Linux?

¿Qué es Subshell en Linux?

¿Qué es Login Shell en Linux?

¿Qué es Shebang en Linux Shell Scripting?

¿Qué son los inodos en Linux?

8 tipos de shells de Linux