Sistemas operativos modernos

invoca el programa cp con dos argumentos, origen y destino. Este programa interpreta el pri­ mero como el nombre de un archivo existente, crea una copia de ese archivo y le asigna el nom­ bre destino. No todos los argumentos son nombres de archivo. En head -20 archivo el primer argumento, -20, le dice a head que imprima las primeras 20 líneas de archivo, en vez del número de líneas predeterminado, que es 10. Los argumentos que controlan el funcionamien­ to de un comando o especifican un valor opcional se denominan indicadores, y por convención se indican con un guión. El guión es necesario para evitar ambigüedades, porque el comando head 20 archivo es perfectamente válido e indica a head que imprima las primeras 10 líneas de un archivo lla­ mado 20 y luego imprima las primeras 10 líneas de un segundo archivo llamado archivo. Casi todos los comandos de UNIX aceptan múlfiples indicadores y argumentos. Para facilitar la especificación de múltiples nombres de archivo, el shell acepta caracteres mágicos, también llamados comodines. Por ejemplo, un asterisco coincide con todas las cade­ nas posibles, así que Is *.c pide a Is que muestre una lista de todos los archivos cuyo nombre termine con .c. Si existen ar­ chivos llamados x.c, y.c y z.c, el comando anterior equivale a teclear Is x.c y.c z.c Otro comodín es el signo de interrogación, que coincide con cualquier carácter individual. Una lista de caracteres encerrada entre corchetes selecciona cualquiera de ellos, así que Is [ape]* produce una lista con todos los archivos que comienzan con “a”, “p” o “e”. Un programa como el shell no tiene que abrir la terminal para leer de ella o escribir en ella. Más bien, cuando él (o cualquier otro programa) inicia, de manera automáfica tiene acceso a un archivo llamado entrada estándar (para leer), otro llamado salida estándar (para escribir las salidas normales) y otro llamado e rro r estándar (para escribir mensajes de error). Por lo regular, los tres son de manera predeterminada la terminal, así que las lecturas de la entrada es­ tándar se toman del teclado y las escrituras en la salida estándar o el error estándar se envían a la pantalla. Muchos programas UNIX leen de la entrada estándar y escriben en la salida están­ dar de manera predeterminada. Por ejemplo, sort invoca el programa sort, que lee líneas de la terminal (hasta que el usuario teclea un CTRL-D pa­ ra indicar el fin del archivo), las ordena en forma alfabética y escribe el resultado en la pantalla. También es posible redirigir la entrada estándar y la salida estándar, pues en muchos casos es úfil hacerlo. La sintaxis para redirigir la entrada estándar emplea un signo menor que (<) se

RkJQdWJsaXNoZXIy MjI4NDcx