Flux rss
Bookmark Favorito / Compartir
Sistemi UNIX - Lo shell Sistemas UNIX  -Shell UNIX-System - SHELL Systèmes UNIX - Le shell UNIX system - The shell

Introducción al shell

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".

El shell es un intérprete de comandos entre el SO (sistema operativo) y el usuario

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

Ventana de línea de comandos (prompt)

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:
  • "$" define a un usuario normal
  • "#" define al administrador, llamado "root"

El concepto de la línea de comandos

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

Entrada-salida estándar

Una vez que se ejecuta un comando, se crea un proceso. Luego, este proceso abre tres flujos:

  • stdin, denominado entrada estándar, en el que el proceso leerá los datos de entrada. En forma predeterminada, stdin se refiere al teclado. STDIN se identifica con el número 0;
  • stdout, denominado salida estándar, en el que el proceso escribirá los datos de salida. En forma predeterminada, stdout se refiere a la pantalla. STDOUT se identifica con el número 1;
  • stderr, denominado error estándar, en el que el proceso escribirá los mensajes del error. En forma predeterminada, stderr se refiere a la pantalla. STDERR se identifica con el número 2;

entrada-salida estándar: STDOUT, STDIN, STDERR

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.

Redirecciones

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/myconfigurationfile
El siguiente comando equivale a una copia de los archivos:
cat toto > toto2
El 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:
> file
La 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

Tuberías de comunicación

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


Última actualización el jueves, 16 de octubre de 2008, 15:43:30 .Este documento intitulado « Sistema UNIX: El shell » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.
Introducción a los sistemas UNIX El sistema UNIX El sistema Unix es un sistema operativo que admitemúltiples usuarios, así como también múltiples tareas, lo que significa que permite que en un único equipo o multiprocesador se ejecuten simultáneamente varios programas a cargo de uno... es.kioskea.net/contents/unix/unixintro.php3
Restaurar sistema : Unidades desactivadas se Restaurar sistema : Unidades desactivadas se supervisan en los reinicios. Tengo varias particiones. En varias tengo instalado windows xp pro +sp3 Cuando reinicio uno de mis sistemas y reviso las unidades que supervisa resulta que me aparecen todas... es.kioskea.net/forum/affich-21055-restaurar-sistema-unidades-desactivadas-se
El sistema de archivos ¿Qué es un sistema de archivos? Aunque los discos rígidos pueden ser muy chicos, aún así contienen millones de bits, y por lo tanto necesitan organizarse para poder ubicar la información. Éste es el propósito del sistema de archivos. Recuerde que un... es.kioskea.net/contents/repar/filesys.php3
[CD-ROM] Unidad de DVD/CD-ROM o grabadora no reconocidaSi tu unidad de DVD/CD-ROM o tu grabadora no aparece en Mi PC o no consigues reproducir tus CD o DVD, entonces lee este articulo que te ayudará a solucionar estel problema. Revisar las conexiones Modificar el Registro del sistema Leer el... es.kioskea.net/faq/sujet-1380-cd-rom-unidad-de-dvd-cd-rom-o-grabadora-no-reconocida
Guia de uso del Shell para principiantesSHELL BASH – GUIA DE USO – Nivel Principiante Introducción Llamado a los miembros de Kioskea II. ¿Qué es el Shell? III. Cómo acceder a la línea de comandos IV. Las consolas virtuales Ejemplo: Acceder a la consola 3 desde la interfaz... es.kioskea.net/faq/sujet-387-guia-de-uso-del-shell-para-principiantes
Crear una imagen del sistema (Ghost)Crear una imagen (ghost) de una partición 1 - Para qué hacer una imagen del sistema 2 - Pre-requisitos 2.1 - Explicación 2.2 - Mover carpetas a otras particiones 2.3 - Actualización de imágenes 2.4 - Clonar configuraciones diferentes 3 -... es.kioskea.net/faq/sujet-180-crear-una-imagen-del-sistema-ghost
Linux comandos para editar shell (Resuelto)Hola, me pueden ayudar a conseguir los comandos para editar shell. Configuración: Windows XP Internet Explorer 6.0 es.kioskea.net/forum/affich-3655-linux-comandos-para-editar-shell
Como puedo unir archivos en ambiente linux, (Resuelto)Hola, mi problema es que descargue dos partes de un archivo al querer unirlos no podia, y me di cuenta que era por que tengo el sistema operativo Linux, por favor necesito un programa que sea compatible en el ambiente linux. gracias Configuración:... es.kioskea.net/forum/affich-116268-como-puedo-unir-archivos-en-ambiente-linux
PC DAÑADA,error al cargar sistema operativoHola, tengo un problem prendo la pc pero al cargar sale el siguiente mensaje verifying DMI POOL DATA se espera unos minutos y sale el sgte mensaje ERROR AL CARGAR SISTEMA OPERATIVO QUE HAGO Configuración: Windows XP Internet Explorer 7.0 es.kioskea.net/forum/affich-49081-pc-danada-error-al-cargar-sistema-operativo
Descargar Revo UninstallerRevo Uninstaller es un programa diseñado para que puedas dar un buen mantenimiento a tu sistema operativo. Ya que muchas veces incorporamos herramientas que la mayoria de veces no son tan utiles como pensabamos. En un principio se ocupara de... es.kioskea.net/telecharger/telecharger-2368-revo-uninstaller
Descargar Argente - Uninstall ManagerArgente - Uninstall Manager es un programa gratuito capaz de analizar todas las aplicaciones que están instaladas en Windows, las que podrás desinstalar fácilmente y así ganar espacio en el sistema. El programa presenta todas las aplicaciones que... es.kioskea.net/telecharger/telecharger-4863-argente-uninstall-manager
Descargar Ashampoo UnInstallerCon Ashampoo UnInstaller podras mantener tu sistema como el primer dia , desinstalando y eliminado progarmas que no utilizas y que solo hacen que tu sistema funcione mas lento . Cuenta con una interfaz que es muy simple por lo que ningun usuario... es.kioskea.net/telecharger/telecharger-3077-ashampoo-uninstaller
Microsoft deja de vender el sistema operativo Windows XPUna imagen del lanzamiento del Windows Vista en un centro comercial de Seúl, en una imagen captada el 31 de enero de 2007 en la capital surcoreana. Microsoft puso fin este lunes a la venta de su sistema operativo Windows XP, mucho más popular que... es.kioskea.net/actualites/microsoft-deja-de-vender-el-sistema-operativo-windows-xp-10533-actualite.php3
Primeras transmisiones del satélite Giove-B, del sistema GalileoEl cohete que portaba el Giove-B, el segundo satélite experimental del sistema de localización Galileo, de la Agencia Espacial Europea, despega del cosmódromo kazajo de Baikonur, el 27 de abril. Giove-B, segundo satélite experimental del sistema de... es.kioskea.net/actualites/primeras-transmisiones-del-satelite-giove-b-del-sistema-galileo-10356-actualite.php3
Linux - ShellIntroducción a la shell El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Por esta razón, se le da el nombre inglés "shell", que significa "caparazón". Por lo tanto, la shell actúa como un intermediario entre el... es.kioskea.net/contents/linux/linshell.php3
Comandos de UnixTabla de los comandos principales de UNIX Comandos de Unix Descripción Opciones ls Muestra las listas de los contenidos de un directorio -a Muestra todos los archivos, incluyendo los archivos... es.kioskea.net/contents/unix/unixcomm.php3
UNIX: ArchivosIntroducción a los archivos UNIX En los sistemas UNIX cualquier elemento se representa en forma de archivos. Todos los archivos están ordenados en una única estructura jerárquica en la que la base, denominada raíz, se escribe "/". Tipos de... es.kioskea.net/contents/unix/unix-fichiers.php3