Sistemas operativos modernos

Luego de teclear el comando, el shell exhibe ei indicador de comandos y está listo para aceptar y ejecutar el siguiente. También es posible poner canalizaciones en segundo plano, por ejemplo con sort <x I head & Es posible ejecutar en segundo plano varias canalizaciones al mismo tiempo. Puede colocarse una lista de comandos de shell en un archivo y luego iniciar un shell que uti­ lice ese archivo como entrada estándar. El (segundo) shell tan sólo los procesará en orden, como lo haría si se hubieran tecleado los comandos. Los archivos que contienen comandos de shell se denominan scripts de shell. Los scripts pueden asignar valores a variables de shell y leerlos des­ pués; también pueden tener parámetros y usar construcciones if, for, while y case. Por tanto, un script de shell en realidad es un programa escrito en lenguaje shell. El shell C de Berkeley es un shell alterno diseñado para que los scripts de shell (y el lenguaje de comandos en general) se vean como programas en C en muchos sentidos. Puesto que el shell es simplemente un progra­ ma de usuario más, muchas personas han escrito y distribuido diversos shells. 10.2.4 Programas utilitarios de UNIX La interfaz de usuario de UNIX no sólo consiste en el shell, sino también en un gran número de programas utilitarios estándar. En términos generales, dichos programas pueden dividirse en las siguientes seis categorías: 1. Comandos para manipular archivos y directorios. 2. Filtros. 3. Herramientas para crear programas, como editores y compiladores. 4. Procesamiento de texto. 5. Administración del sistema. 6 . Diversos. El estándar POSIX 1003.2 especifica la sintaxis y semántica de poco menos de 100 de estos pro­ gramas, que pertenecen sobre todo a las tres primeras categorías. Lo que se busca al estandarizar­ los es que cualquiera pueda escribir scripts de shell que utilicen estos programas y funcionen en todos los sistemas UNIX. Claro que, además de estos programas utilitarios estándar, hay muchos programas de aplicación, como navegadores Web, visores de imágenes, etcétera. Consideremos algunos ejemplos de estos programas, comenzando por la manipulación de archivos y directorios. cp a b copia el archivo a en b, dejando intacto el archivo original. En cambio, mv a b

RkJQdWJsaXNoZXIy MjI4NDcx