Está en la página 1de 4

Brayan Luis Ortega Sánchez

Análisis y Seguridad de Sistemas Operativos

SHELL

La interfaz con el sistema operativo se denomina shell.

El shell es la capa más externa del sistema operativo. Los shells incorporan un
lenguaje de programación para controlar procesos y archivos, además de iniciar y
controlar otros programas. El shell gestiona la interacción entre el usuario y el
sistema operativo solicitándole la entrada, interpretando dicha entrada para el
sistema operativo y gestionando cualquier resultado de salida procedente del
sistema operativo.

Los shells ofrecen un método para comunicarse con el sistema operativo. Esta
comunicación tiene lugar de forma interactiva (la entrada desde el teclado se ejecuta
inmediatamente) o como un script de shell. Un script de shell es una secuencia de
mandatos del shell y del sistema operativo que se almacena en un archivo.

Cuando se inicie la sesión en el sistema, éste localizará el nombre de un programa


de shell a ejecutar. Después de ejecutarse, el shell visualiza un indicador de
mandatos. Este indicador suele ser un $ (signo de dólar). Cuando escriba un
mandato en el indicador y pulse la tecla Intro, el shell evaluará el mandato e intentará
ejecutarlo. Según las instrucciones del mandato, el shell grabará la salida del
mandato en la pantalla o lo dirigirá a la salida.

CARACTERÍSTICAS DEL SHELL

Flujos

El shell le otorga a cada programa en ejecución 3 flujos: Entrada Estándar


(teclado, archivo, dispositivo E/S), Salida Estándar (terminal, archivo, dispositivo
E/S) y Error Estándar (terminal, archivo, dispositivo E/S).
Brayan Luis Ortega Sánchez
Análisis y Seguridad de Sistemas Operativos

Ejecución del Shell

Una vez que usted se ha registrado en la consola virtual, el sistema carga el


intérprete de comandos en memoria. Éste lee primero el archivo /etc/profile que
contiene la configuración común del entorno para todo el sistema y sus usuarios,
luego lee el archivo .bash_profile ubicado en el directorio home del usuario recien
ingresado.

¿Cómo se escriben los comandos?

La sintaxis para escribir un comando en el prompt de bash es:

comando [parámetro1] [ parametro2] ...

Capitalización de las Letras

Recordemos que siempre los comandos y parámetros en GNU/Linux son "case


sensitive", que quiere decir que "algo" no es igual a "ALGO" u "AlGo".

Historial de Comandos

El archivo .bash_history es un archivo de historial con todos los comandos


utilizados por el usuario y como es lógico se encuentra en el directorio home de
dicho usuario. Éste archivo aloja una cantidad de comandos definida previamente.
Se accede al historial por medio de las teclas FLECHA ARRIBA y FLECHA
ABAJO.

Si necesita escribir una cantidad excesivamente grande de parámetros y ha


llegado al final de la linea de comandos, puede hacer uso del simbolo "\" seguido
de un "enter" para poder continuar con la escritura de dichos parametros en la
linea siguiente y también sirve para ver que escribimos anteriormente.

Completado de Linea

Se puede hacer que el shell complete la linea de comandos cuando se introduzcan


las primeras letras y se presione la tecla TAB. También se puede utilizar esta
propiedad para expandir la ruta a un directorio determinado.

Ejemplo: cd /ho (presionamos TAB) y el shell nos devolverá /home/


Brayan Luis Ortega Sánchez
Análisis y Seguridad de Sistemas Operativos

Comillas

Las comillas controlan la forma en que el shell expandirá las ordenes que estén
encerradas entre ellas.

Existen tres tipos de comillas, las dobles ("), las sencillas (') y las inversas (`).

 Las comillas inversas indican al shell que tendrá que reemplazar lo que está
encerrado entre ellas con su resultado.
 Las comillas sencillas (') le dicen al sistema que no hagan ninguna
expansión.
 Las comillas dobles tienen casi la misma funcionalidad que las simples pero
con la salvedad de que lo que se incluya dentro de estas pasará a ser como
una cadena simple de caracteres a excepción de las comillas inversas (`), el
signo dólar ($), la diagonal (\) y las mismas comillas dobles (").

TIPOS DE SHELL EN LINUX


En Linux y Unix, un shell se refiere a un programa que se utiliza para interpretar los
comandos escritos que el usuario envía al sistema operativo. La analogía más
cercana en Windows es la línea de comandos DOS. Sin embargo, a diferencia de
Windows, Linux y UNIX permite al usuario elegir qué shell le gustaría utilizar.
Shell C
La Shell C, como su nombre podría dar a entender, fue diseñada para permitir a los
usuarios escribir programas en script de shell con una sintaxis muy similar a la del
lenguaje de programación C. Se conoce como "csh".
Shell TC
Shell TC es una expansión de la Shell C. Tiene todas las mismas funcionalidades,
pero añade la posibilidad de utilizar pulsaciones de teclado del programa de
procesador de palabras Emacs para editar el texto en la línea de comandos. Por
ejemplo, los usuarios pueden presionar Esc-D para eliminar el resto de la palabra
seleccionada. También se conoce como "tcsh".
Shell Korn
Shell Korn también fue escrita por un programador en los Laboratorios Bell, David
Korn. Intenta combinar las características de la Shell C, Shell TC y Shell Bourne en
un solo paquete. También incluye la capacidad para crear nuevos comandos de
shell para los desarrolladores cuando surja la necesidad.
Se conoce como "ksh".
Brayan Luis Ortega Sánchez
Análisis y Seguridad de Sistemas Operativos

Shell Bourne-Again
La Shell Bourne-Again es una versión actualizada de la Shell Bourne original creada
por la Free Software Foundation en su proyecto de código abierto GNU. Por esta
razón, es una shell utilizada ampliamente en la comunidad de código abierto.
Su sintaxis es similar a la utilizada por la Shell Bourne, sin embargo, incorpora
algunas de las funcionalidades más avanzadas que se encuentran en las shells C,
TC y Korn.
Entre las funcionalidades adicionales que carecía Bourne, está la capacidad para
completar nombres de archivos pulsando la tecla TAB, la capacidad de recordar un
historial de comandos recientes y la capacidad de ejecutar múltiples programas en
segundo plano a la vez.
Se conoce como "bash".

También podría gustarte