next up previous contents index
Siguiente: Salida del sistema Subir: Conceptos básicos de Anterior: Consolas Virtuales   Índice General   Índice de Materias


Intérpretes de órdenes y órdenes

Para la mayoría de sus exploraciones en el mundo de , usted le hablará al sistema a través de un shell (intérprete de órdenes), un programa que recibe las órdenes que escribe y los traduce en instrucciones al sistema operativo. Esto se puede comparar al programa COMMAND.COM de MS-DOS, que hace esencialmente lo mismo. Un intérprete de órdenes es únicamente un interfaz para . Hay muchos interfaces disponibles --como el sistema X Window, que le permite ejecutar orden usando el ratón y el teclado.

A la vez que entra en el sistema, éste inicia el intérprete de órdenes, y usted ya puede comenzar a introducir órdenes. Aquí tenemos un ejemplo rápido. Larry entra en el sistema y el indicador `` indicador de órdenes'' del intérprete de órdenes queda a la espera de órdenes.


\begin{tscreen}
mousehouse login: larry \\
Password: larry's password \\
Welcome to Mousehouse! \\
\\
/home/larry\char93
\end{tscreen}

La última línea de este texto es el indicador del intérprete de órdenes, comunicando que está listo para recibir órdenes. (Más adelante veremos más cosas acerca del indicador). Probemos a decirle al sistema que haga algo interesante:


\begin{tscreen}
/home/larry\char93  make love \\
make: *** No way to make target \lq love'. Stop. \\
/home/larry\char93
\end{tscreen}

Bien, como podemos ver, make es el nombre de un programa que hay en el sistema, y el intérprete de órdenes ejecutó este programa cuando le dimos el orden. (Desgraciadamente, el sistema se mostró antipático.)

Esto nos lleva a la siguiente pregunta: ¿Qué es un orden? ¿Qué ocurre cuando escribe ``make love''? La primera palabra en la línea de órdenes, ''make'', es el nombre dla orden que debe ser ejecutado. Todo lo demás en la línea de órdenes se toma como argumentos para este orden. Ejemplo:


\begin{tscreen}
/home/larry\char93  cp foo bar
\end{tscreen}

El nombre de este orden es ``cp'', y los argumentos son ``foo'' y bar''.

Cuando introduce un orden, el intérprete de órdenes hace varias cosas. Primero, comprueba la orden para ver si es interno al intérprete de órdenes. (Es decir, un orden que el intérprete de órdenes sabe ejecutar por sí mismo. Hay muchos de estos órdenes, y los veremos más adelante). El intérprete de órdenes también comprueba si la orden es un alias, o nombre sustitutorio, para otro orden. Si no se cumple ninguna de estas dos condiciones, el intérprete de órdenes busca un programa, en el disco, que tenga el nombre especificado. Si tiene éxito, el intérprete de órdenes ejecuta el programa, mandándole los argumentos especificados en la línea de órdenes.

En nuestro ejemplo, el intérprete de órdenes busca un programa llamado make, y lo ejecuta con el argumento love. El orden make es un programa usado a menudo para compilar grandes programas, y toma como argumentos el nombre de un ''objetivo''para compilar. En el caso de ''make love'', le dijimos a make que compilara el objetivo love. Como make no puede encontrar un objetivo con ese nombre, falla con un divertido mensaje de error, y nos lleva de nuevo al indicador del intérprete de órdenes.

¿Qué ocurre si escribimos una orden en el intérprete de órdenes y éste no puede encontrar un programa que tenga el nombre especificado? Bien, podemos probar lo siguiente:


\begin{tscreen}
/home/larry\char93  eat dirt \\
eat: command not found \\
/home/larry\char93
\end{tscreen}

Bastante simple, si el sistema no puede encontrar un programa con el nombre dado en la línea de órdenes (aquí, ''eat''), imprime un mensaje de error. A menudo se encontrará con ese mensaje de error si se equivoca con la orden (por ejemplo, si hubiera escrito ``mkae love'' en lugar de ``make love'').


next up previous contents index
Siguiente: Salida del sistema Subir: Conceptos básicos de Anterior: Consolas Virtuales   Índice General   Índice de Materias
Ismael Olea 2002-09-26