El shell (caparazón) de un sistema operativo es la interfaz que media entre el usuario y el sistema operativo. Básicamente, su función es la de interpretar, ejecutar y devolver una respuesta a lo que el usuario escribe por línea de comandos.
El shell, en definitiva, no es más que un ejecutable que interpretar los comandos transmitirlos. Existen varios tipos de shell:
El shell predeterminado de cada usuario se especifica al momento de su creación o bien, editando el último campo de la línea del usuario en el archivo /etc/passwd. Eso no quita, que el usuario, desde un shell no pueda ejecutar otro.
La línea de comando o prompt puede depender de la configuración propia del shell o de la configuración del usuario. Esta línea de comando puede terminar en:
La línea de comandos no es más que una cadena de caracteres que representan a un comando y que luego será interpretada por el shell. El comando suele ser un archivo ejecutable del sistema o del shell junto con otros argumentos opcionales (parámetros).
E/S estándar
Ejecutado un comando, se crea un proceso y con él, tres flujos:
stdin, stdout y stderr se suelen identificar con los números 0, 1 y 2.
Redirecciones
La E/S estándar se puede redirigir a archivo, lo que suele resultar bastante útil.
Por ejemplo, para redirigir a un archivo el resultado de un ls:
ls -rtl > /tmp/dir_tmp.txt
Por ejemplo, para redirigir el contenido de un archivo al comando cat:
cat < /tmp/dir_tmp.txt
Por ejemplo: para leer la entrada estándar hasta que se encuentre la palabra STOP.
cat << STOP
Pipes
Finalmente, el uso de pipes (especificados con la barra vertical |) permite asignar la salida estándar de un comando a la entrada del otro y así sucesivamente cuantas veces se quiera.
Por ejemplo: para realizar un listado de archivos de un directorio y luego ordenarlo:
ls -al /tmp/ | sort
Por ejemplo, para contabilizar la cantidad de archivos de un directorio que contienen la palabra tar:
ls -l /tmp | grep tar | wc -l
O bien, si queremos un ejemplo algo más elaborado, puedes conocer el Top 5 de los comandos más utilizados.
Vía: Kioskea.net
2 Respuestas para "El shell de UNIX"
[...] tal motivo y con ánimo a conocer un poco más acerca de algún shell de Unix, veremos algunos ejemplos cuidadosamente explicados de como hacer loops en Bash (el shell [...]
[...] sed es un "editor de textos" para el filtrado y la transformación de textos. Escribo "editor de texto" entre comillas pues en realidad sed no trabaja con cadenas de caracteres sino con "flujos", la diferencia con los editores de textos clásicos (interactivos) es que sed acepta como entrada estándar un archivo o cualquier otro stream; resultado que es procesado y devuelto a la salida estándar (vea más acerca de stdin, stdout y stderr aquí) [...]
Comentarios: