| UNIX Ver También: |
El intérprete de comandos es la interfaz entre el usuario y el sistema operativo, por este motivo se le da el nombre "shell", que en castellano significa "caparazón".
Por lo tanto, el shell actúa como un intermediario entre el sistema operativo y el usuario utilizando líneas de comando introducidas por dicho usuario. Su función consiste en la lectura de la línea de comandos, la interpretación de su significado, la ejecución del comando y luego la devolución del resultado a través de las salidas.
El shell es un archivo ejecutable que debe interpretar los comandos, transmitirlos al sistema y devolver el resultado. Existen muchos tipos de shell: Los más comunes son: sh (llamado "Bourne shell"), bash ("Bourne again shell"), csh ("C Shell"), Tcsh ("Tenex C shell"), ksh ("Korn shell"), y zsh ("Zero shell"). Generalmente, sus nombres coinciden con el nombre del ejecutable.
Cada usuario tiene un shell predeterminado, que se activará al abrirse el aviso del comando. El shell predeterminado se especifica en el archivo de configuración /etc/passwd, en el último campo de la línea que corresponde al usuario. Es posible cambiar el shell durante una sesión; para hacerlo, sólo se deberá ejecutar el archivo ejecutable correspondiente. Por ejemplo:
/bin/bash
El shell se inicia a través de la lectura de su configuración completa (en un archivo del directorio /etc/), y luego de la lectura de la configuración propia del usuario (en un archivo oculto cuyo nombre comienza con un punto y que se ubica en el directorio básico del usuario, es decir /home/user_name/.configuration_file). Luego, se muestra una ventana de línea de comandos o prompt:
machine:/directory/current$En forma predeterminada, en la mayoría de los shells el "prompt" (aviso) consiste en el nombre de la máquina seguido por dos puntos (:), el directorio actual y luego, un carácter que indica el tipo de usuario conectado:
Una línea de comandos es una cadena de caracteres que representan a un comando. Este comando corresponde a un archivo ejecutable del sistema o del shell junto con otros argumentos opcionales (parámetros):
ls -al /home/jf/En el comando anterior, ls es el nombre del comando, mientras que -al y home/jean-francois/ son los argumentos. Los argumentos que comienzan con - se denominan opciones. Por lo general, para cada comando hay una cierta cantidad de opciones que se pueden detallar al introducir uno de los siguientes comandos:
command --help command -? man command
Una vez que se ejecuta un comando, se crea un proceso. Luego, este proceso abre tres flujos:
En forma predeterminada, cada vez que se ejecuta un programa, los datos se leen desde el teclado y el programa envía los datos de salida y los errores a la pantalla. Sin embargo, también es posible leer datos desde cualquier dispositivo de entrada, incluso desde un archivo, y enviar los datos de salida a un dispositivo de visualización, un archivo, etc.
Como cualquier sistema Unix, Linux posee mecanismos que permiten redirigir la entrada-salida estándar hacia los archivos.
Por lo tanto, si se utiliza el carácter ">" se puede redirigir la salida estándar de un comando que se ubica a la izquierda hacia un archivo que se ubica a la derecha:
ls -al /home/jf/ > toto.txt echo "Toto" > /etc/myconfigurationfileEl siguiente comando equivale a una copia de los archivos:
cat toto > toto2El propósito de la redirección ">" es crear un nuevo archivo. Entonces, si ya existe un archivo con el mismo nombre, dicho archivo será eliminado. El siguiente comando simplemente crea un archivo vacío:
> fileLa utilización del carácter doble ">>" permite agregar la salida estándar al archivo. Es decir, permite agregar la salida después del archivo sin eliminarlo.
En forma similar, el carácter "<" indica una redirección de la entrada estándar. El siguiente comando envía el contenido del archivo toto.txt hacia la entrada del comando cat, cuyo único propósito es mostrar el contenido de la salida estándar (este ejemplo no es muy útil pero resulta instructivo):
cat < toto.txt
Por último, la utilización de la redirección "<<" permite la lectura en la entrada estándar, hasta que se encuentre la cadena ubicada a la derecha. En el siguiente ejemplo, se leerá la entrada estándar hasta que se encuentre la palabra STOP. Luego, se mostrará el resultado:
cat << STOP
Las tuberías (en inglés "pipes") son mecanismos de comunicación específicos para todos los sistemas UNIX. Una tubería, simbolizada por una barra vertical (carácter "|"), permite asignar la salida estándar de un comando a la entrada estándar de otro, de la misma forma en que una tubería permite la comunicación entre la entrada estándar de un comando y la salida estándar de otro.
En el siguiente ejemplo, la salida estándar del comando ls -al se envía al programa sort, el cual debe ordenar los resultados en orden alfabético.
ls -al | sort
Esto permite conectar una cierta cantidad de comandos a través de sucesivas tuberías. En el siguiente ejemplo, el comando muestra todos los archivos del directorio actual, selecciona las líneas que contienen la palabra "zip" (utilizando el comando grep) y cuenta la cantidad total de líneas:
ls -l | grep zip | wc -l
| 14/05 16h23 | Linux comandos para editar shell | 2 |
| 28/04 20h00 | Eliminar Shell windows XP | 3 |
| 11/04 19h32 | Shell en LINUX | 5 |
![]() | DbPowerAmp - dBpoweramp Music Converter™ (DMC) permite: ripear los CD de audio, es decir extraer las pistas en formato MP3,WAV ... | Categoría: Conversiones sonido Licencia: Shareware |