Documente Academic
Documente Profesional
Documente Cultură
1 IBM
SC10-9309-03
AIX 5L Versión 5.1 IBM
SC10-9309-03
Cuarta edición (abril de 2001)
Antes de utilizar la información de esta publicación, lea la información general que encontrará en el “Apéndice B.
Avisos” en la página 283.
Esta edición se aplica a AIX 5L Versión 5.1 y a todos los releases siguientes de este producto, hasta que se indique
lo contrario en nuevas ediciones.
(c) Copyright KnowledgeSet Corporation, Mountainview, California, 1990.
(c) Copyright AT&T, 1984, 1985, 1986, 1987, 1988, 1989. Reservados todos los derechos.
Este software y documentación se basan en parte en Fourth Berkeley Software Distribution bajo licencia de The
Regents of the University of California. Agradecemos a las instituciones siguientes por su función en su desarrollo:
Electrical Engineering and Computer Sciences Department en el Berkeley Campus.
El Sistema de manejo de mensajes MH de Rand lo ha desarrollado Rand Corporation y la University of California.
Partes del código y documentación que se describen en este manual derivan del código y la documentación
desarrollados bajo los auspicios de the Regents of the University of California y se han adquirido y modificado bajo
la condición de que aparezca la siguiente nota de copyright y permiso:
Copyright Regents of the University of California, 1986, 1987, 1988, 1989. Reservados todos los derechos.
La redistribución y el uso en formatos fuente y binario están permitidos siempre y cuando se mantenga esta nota y
el reconocimiento debido a la University of California en Berkeley. El nombre de la Universidad no puede utilizarse
para promover productos derivados de este software sin el previo permiso escrito. Este software se proporciona "tal
cual" sin ninguna garantía implícita o explícita.
Copyright (c) 1993, 1994 Hewlett-Packard Company
Copyright (c) 1993, 1994 International Business Machines Corp.
Copyright (c) 1993, 1994 Sun Microsystems, Inc.
Copyright (c) 1993, 1994 Novell, Inc.
Reservados todos los derechos. Este producto y la documentación relacionada están protegidos por copyright y se
distribuyen bajo licencias que restringen su uso, copia, distribución y descompilación. Ninguna parte de este
producto o documentación relacionada puede reproducirse de ningún modo sin la previa autorización por escrito.
DESCRIPCIÓN DE DERECHOS RESTRINGIDOS: El uso, duplicación o divulgación por parte del Gobierno de los
Estados Unidos está sujeto a las restricciones establecidas en DFARS 252.227-7013 (c)(1)(ii) y FAR 52.227-19.
ESTA PUBLICACIÓN SE PROPORCIONA "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, NI EXPLÍCITA NI
IMPLÍCITA INCLUYENDO, PERO NO LIMITÁNDOSE, A LAS GARANTÍAS IMPLÍCITAS DE COMERCIALIZACIÓN,
DE ADECUACIÓN A UN PROPÓSITO DETERMINADO O DE NO INCUMPLIMIENTO.
ESTA PUBLICACIÓN PUEDE CONTENER INCORRECCIONES TÉCNICAS O ERRORES TIPOGRÁFICOS.
PERIÓDICAMENTE SE REALIZARÁN MODIFICACIONES EN LA INFORMACIÓN AQUÍ CONTENIDA; DICHOS
CAMBIOS SE INCORPORARÁN EN NUEVAS EDICIONES DE LA PUBLICACIÓN. HEWLETT-PACKARD
COMPANY, INTERNATIONAL BUSINESS MACHINES CORP., SUN MICROSYSTEMS, INC. y UNIX SYSTEMS
LABORATORIES, INC., PUEDEN REALIZAR MEJORAS Y/O CAMBIOS EN EL(LOS) PRODUCTO(S) Y/O
PROGRAMA(S) QUE SE DESCRIBEN EN ESTA PUBLICACIÓN EN CUALQUIER MOMENTO.
© Copyright International Business Machines Corporation 1997, 2001. Reservados todos los derechos.
Contenido
Acerca de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Quién debe utilizar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Resaltado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
ISO 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Publicaciones relacionadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Marcas registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Capítulo 6. Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Tipos de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Archivos normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Archivos de directorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Archivos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Convenios de denominación de archivos . . . . . . . . . . . . . . . . . . . . . . . 71
Nombres de vías de acceso de archivos . . . . . . . . . . . . . . . . . . . . . . . 71
Patrones de coincidencia con comodines y metacaracteres . . . . . . . . . . . . . . . . 71
Coincidencia con patrones en contraste con expresiones normales . . . . . . . . . . . . . 73
Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Procedimientos de gestión de archivos . . . . . . . . . . . . . . . . . . . . . . . . 73
Supresión de archivos (mandato rm) . . . . . . . . . . . . . . . . . . . . . . . . 74
Movimiento y cambio del nombre de los archivos (mandato mv) . . . . . . . . . . . . . . 75
Copia de archivos (mandato cp) . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Búsqueda de archivos (mandato find) . . . . . . . . . . . . . . . . . . . . . . . . 76
Visualización del tipo de archivo (mandato file) . . . . . . . . . . . . . . . . . . . . 78
Visualización del contenido del archivo (mandatos pg, more, page y cat) . . . . . . . . . . . 78
Búsqueda de series en los archivos de texto (mandato grep) . . . . . . . . . . . . . . . 80
Clasificación de los archivos de texto (mandato sort) . . . . . . . . . . . . . . . . . . 80
Comparación de archivos (mandato diff) . . . . . . . . . . . . . . . . . . . . . . . 81
Cálculo de las palabras, líneas y bytes de los archivos (mandato wc) . . . . . . . . . . . . 82
Visualización de las primeras líneas de los archivos (mandato head) . . . . . . . . . . . . 82
Visualización de las últimas líneas de los archivos (mandato tail) . . . . . . . . . . . . . . 83
Contenido v
Corte de secciones de los archivos de texto (mandato cut) . . . . . . . . . . . . . . . . 83
Pegado de secciones de los archivos de texto (mandato paste) . . . . . . . . . . . . . . 84
Numeración de las líneas de los archivos de texto (mandato nl) . . . . . . . . . . . . . . 85
Eliminación de las columnas de los archivos de texto (mandato colrm) . . . . . . . . . . . . 85
Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Enlace de archivos y directorios . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Tipos de enlaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Enlace de archivos (mandato ln) . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Eliminación de archivos enlazados . . . . . . . . . . . . . . . . . . . . . . . . . 89
Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Copia de archivos de DOS en archivos del sistema operativo base . . . . . . . . . . . . . 90
Copia de archivos del sistema operativo base en archivos de DOS . . . . . . . . . . . . . 90
Supresión de archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Listado del contenido de un directorio de DOS. . . . . . . . . . . . . . . . . . . . . 91
Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Resumen de mandatos para archivos . . . . . . . . . . . . . . . . . . . . . . . . . 92
Procedimientos para el manejo de archivos . . . . . . . . . . . . . . . . . . . . . . 92
Enlace de archivos y directorios . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Contenido vii
Resumen de mandatos para la seguridad de los archivos y del sistema . . . . . . . . . . . . 139
Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Contenido ix
Sustitución de alias en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Sustitución de variables y nombres de archivo en el shell C . . . . . . . . . . . . . . . . 242
Sustitución de variables en el shell C. . . . . . . . . . . . . . . . . . . . . . . . 242
Sustitución de nombres de archivos en el shell C . . . . . . . . . . . . . . . . . . . 244
Expansión de nombres de archivo . . . . . . . . . . . . . . . . . . . . . . . . . 244
Abreviatura de los nombres de archivos. . . . . . . . . . . . . . . . . . . . . . . 245
Clases de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Variables de entorno en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Redirección de entrada y salida en el shell C. . . . . . . . . . . . . . . . . . . . . . 248
Flujo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Control de trabajos en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Lista de mandatos incorporados del shell C . . . . . . . . . . . . . . . . . . . . . . 250
Información relacionada del shell C . . . . . . . . . . . . . . . . . . . . . . . . . 251
Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Contenido xi
xii Guía del usuario del sistema: Sistema operativo y dispositivos
Acerca de este manual
Este manual contiene información para los usuarios principiantes del sistema que deseen adquirir un
mayor grado de experiencia con el sistema operativo. Facilita información sobre, por ejemplo, cómo
ejecutar los mandatos, cómo manejar procesos, archivos y directorios y cómo imprimir. Asimismo,
presenta mandatos del sistema para realizar tareas tales como la protección de archivos, la utilización de
medios de almacenamiento, la personalización de archivos de entorno (.profile, .Xdefaults, .mwmrc) y la
escritura de scripts de shell. Para los usuarios de DOS, esta guía presenta procedimientos para la
utilización de archivos de DOS en este entorno.
Los usuarios de un entorno de red que estén interesados en obtener más información acerca de los
mandatos de comunicaciones del sistema operativo, deben leer la publicación AIX 5L Version 5.1 Guía del
usuario del sistema: Comunicaciones y redes.
Resaltado
En este manual se utilizan los convenios de resaltado siguientes:
Negrita Identifica mandatos, palabras clave, archivos, directorios y otros elementos cuyos nombres están
predefinidos por el sistema.
Cursiva Identifica parámetros cuyos nombres o valores reales deben ser proporcionados por el usuario.
Monoespaciado Identifica ejemplos de valores determinados de datos, ejemplos de texto similar al que el usuario
puede ver visualizado, ejemplos de porciones de código de programa similar al que el usuario
podría haber escrito como programador, mensajes del sistema o información que debe escribir el
propio usuario.
ISO 9000
En el desarrollo y la fabricación de este producto se han utilizado sistemas de calidad registrados que
cumplen la norma ISO 9000.
Publicaciones relacionadas
Encontrará información relacionada en los manuales siguientes:
v Guía rápida de iniciación
v AIX 5L Version 5.1 Guía del usuario del sistema: Comunicaciones y redes
v AIX 5L Version 5.1 System Management Guide: Operating System and Devices
v AIX 5L Version 5.1 Guide to Printers and Printing
v AIX 5L Version 5.1 Commands Reference
v AIX 5L Version 5.1 Files Reference
v Common Desktop Environment 1.0: User’s Guide
Marcas registradas
Los términos siguientes son marcas registradas de International Business Machines Corporation en los
Estados Unidos y/o en otros países:
v AIX
v AIXwindows
UNIX es una marca registrada de The Open Group en los Estados Unidos y/o en otros países.
Otros nombres de empresas, productos o servicios pueden ser marcas registradas o marcas de servicios
de otras empresas.
Si el sistema está configurado como un sistema multiusuario, los usuarios autorizados deberán tener una
cuenta, una contraseña y un nombre de inicio de sesión en el sistema. El sistema operativo hace un
seguimiento de los recursos utilizados por cada usuario. Esto se denomina contabilidad del sistema. Cada
usuario recibirá un área privada en el espacio de almacenamiento del sistema, que se denomina sistema
de archivos. Al iniciar la sesión, parece como si el sistema de archivos sólo tuviera los archivos del
usuario, pero hay millares de archivos en el sistema.
Es posible tener más de un nombre de inicio de sesión válido en un sistema. Si desea cambiar de un
nombre de inicio de sesión a otro, no tiene que finalizar la sesión del sistema. Puede utilizar los distintos
nombres de inicio de sesión simultáneamente en distintos shells o consecutivamente en el mismo shell sin
necesidad de finalizar la sesión. Además, si el sistema es parte de una red con conexiones a otros
sistemas, puede iniciar la sesión en cualquiera de los sistemas en los que tiene un nombre de inicio de
sesión. Esto se conoce como inicio de sesión remoto.
Cuando haya terminado de trabajar en el sistema operativo, deberá finalizar la sesión para asegurarse de
que los archivos y los datos están protegidos.
Puede que el sistema se haya configurado para que sólo pueda iniciar la sesión durante determinadas
horas del día y en determinados días de la semana. Si intenta iniciar la sesión en un momento no
permitido, se le denegará el acceso. El administrador del sistema puede comprobar cuáles son sus horas
de inicio de sesión.
Debe iniciar la sesión en el indicador de inicio de sesión (login). Cuando inicie la sesión en el sistema
operativo, se situará automáticamente en el directorio inicial (también llamado directorio de inicio de
sesión).
Si la máquina no se ha encendido
1. Ponga los interruptores de alimentación de cada dispositivo conectado en la posición de encendido.
2. Ponga el conmutador de modalidad de llave de la unidad del sistema en la posición Normal.
3. Arranque la unidad del sistema poniendo el interruptor de alimentación en la posición de encendido (I).
4. Observe el visor de tres dígitos. Cuando se hayan completado las pruebas automáticas sin error, el
visor de tres dígitos estará en blanco.
Si el sistema ya se ha encendido
1. Escriba el nombre de inicio de sesión a continuación del indicador login: y pulse Intro:
login: NombreInicioSesión
Si no aparece el indicador de contraseña, esto significa que no tiene ninguna contraseña definida; puede
empezar a trabajar en el sistema operativo.
Tras iniciar la sesión, en función de la configuración del sistema operativo, el sistema se iniciará en una
interfaz de línea de mandatos (shell) o en una interfaz gráfica (por ejemplo, AIXwindows o Common
Desktop Environment (CDE)).
Nota: Cada sistema tiene un número máximo de nombres de inicio de sesión que pueden estar
activos al mismo tiempo. Este número queda determinado por el contrato de licencia y varía
dependiendo de las instalaciones.
Por ejemplo, si el otro nombre de inicio de sesión que utiliza es carlos2, en el indicador de mandatos,
escriba:
login carlos2
Si aparece el indicador password:, escriba la contraseña y pulse Intro. (La contraseña no se visualiza en
la pantalla cuando se escribe).
Consulte el mandato login en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Para verificar si su ID de usuario es juan, utilice el mandato id. Para obtener más información acerca del
mandato id, consulte el apartado “Visualización de los ID de usuario (mandato id)” en la página 7.
Consulte el mandato su en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
La próxima vez que inicie la sesión, se suprimirán todos los mensajes de inicio de sesión. Puede indicar
al sistema que conserve el mensaje del día y que suprima otros mensajes de inicio de sesión.
Consulte el mandato touch en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
O bien
O bien
Consulte el mandato logout en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato shutdown en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Mandato whoami
Para determinar qué nombre de inicio de sesión se está utilizando, en el indicador de mandatos, escriba:
whoami
Consulte el mandato whoami en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato who am i
Una variante del mandato who, el mandato who am i, visualiza el nombre del inicio de sesión, el nombre
del terminal y la hora del inicio de sesión.
En este ejemplo, el nombre de inicio de sesión es carlos, el nombre del terminal es pts/0 y también se
indica que este usuario ha iniciado la sesión el 21 de junio a las 07:53.
Consulte el mandato who en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato logname
Otra variante del mandato who, el mandato logname, visualiza la misma información que el mandato
who.
Consulte el mandato logname en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Consulte el mandato uname en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato uname en la publicación AIX 5L Version 5.1 Commands Reference para obtener
más información y conocer la sintaxis exacta.
Nota: Este mandato sólo identifica a los usuarios del nodo local.
Para que se visualice información acerca de quién está utilizando el nodo del sistema local, escriba:
who
En este ejemplo, el usuario alberto, que está en el terminal lft/0, ha iniciado la sesión el día 8 de junio
a las 08:34.
Consulte el mandato who en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
En este ejemplo, el usuario carlos tiene el número de ID 2988 y sólo tiene el nombre de grupo primario
staff con el número de ID 1.
Consulte el mandato id en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Contraseñas
El sistema asocia una contraseña con cada cuenta. Una contraseña exclusiva proporciona parte de
seguridad del sistema a los archivos. La utilización del sistema y los datos son recursos valiosos que
requieren protección. La seguridad es un aspecto importante de los sistemas informáticos ya que impide
que personas no autorizadas tengan acceso al sistema y que sean invadidos por archivos de otros
usuarios. La seguridad también puede proporcionar a algunos usuarios privilegios exclusivos cuyos
mandatos pueden utilizar y a cuyos archivos pueden acceder. Para lograr una protección eficaz, algunos
administradores del sistema sólo permiten a los usuarios acceder a determinados mandatos o archivos.
Utilizar contraseñas opacas es un buen modo de proteger el ID de usuario. Las contraseñas que se
basan en información personal, por ejemplo el nombre y la fecha de cumpleaños, son malas contraseñas.
Incluso ciertas palabras de uso común pueden adivinarse fácilmente.
Las buenas contraseñas tiene al menos seis caracteres e incluyen caracteres no alfabéticos. También son
buenas las extrañas combinaciones de palabras y palabras cuya ortografía se altera.
Esto impide que un usuario no autorizado cambie la contraseña mientras el usuario no trabaja con el
sistema. Escriba la contraseña actual y pulse Intro.
3. Aparece el siguiente indicador:
Nueva contraseña de IDusuario:
Esta petición le impide definir una contraseña como una serie de texto tan extraña que no puede
reproducir.
Ejemplos
1. Para cambiar la contraseña del usuario Carlos, escriba:
passwd
Pulse Intro.
Consulte el mandato passwd en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
El mandato passwd no vuelve a solicitar una entrada de contraseña. Se muestra un mensaje que
comprueba la contraseña NULL.
Consulte el mandato passwd en la publicación AIX 5L Version 5.1 Commands Reference para obtener
más información y conocer la sintaxis exacta.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Mandato de contraseña
passwd Cambia la contraseña del usuario.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Esta sección trata sobre los siguientes procedimientos para visualizar información sobre el entorno.
v “Listado de los dispositivos del sistema (mandato lscfg)”
v “Visualización del nombre de la consola (mandato lscons)” en la página 14
v “Visualización del nombre del terminal (mandato tty)” en la página 15
v “Listado de las pantallas disponibles (mandato lsdisp)” en la página 15
v “Listado de los fonts disponibles (mandato lsfont)” en la página 15
v “Listado de las correlaciones del teclado (mandato lskbd)” en la página 16
v “Listado de los productos de software (mandato lslpp)” en la página 16
v “Listado de las asignaciones de teclas de control del terminal (mandato stty)” en la página 17
v “Listado de todas las variables de entorno (mandato env)” en la página 17
v “Visualización del valor de una variable de entorno (mandato printenv)” en la página 18
v “Utilización de idiomas bidireccionales (mandato aixterm)” en la página 19.
v “Resumen de mandatos para el entorno de usuario y la información del sistema” en la página 19
Por ejemplo, para que se listen los dispositivos que se han configurado en el sistema, en el indicador de
mandatos, escriba:
lscfg
Pulse Intro.
Pulse Intro.
También puede utilizar el mandato lscfg para que se visualicen los datos vitales del producto (VPD),
como los números de pieza, los números de serie y los niveles de cambios técnicos. En algunos
dispositivos, los VPD se recopilan de forma automática y se añaden a la configuración del sistema. En
otros dispositivos, los VPS se entran manualmente. Si delante de los datos aparece ME, ello indica que los
datos se han entrado manualmente.
Por ejemplo, para que se listen los dispositivos que se han configurado en el sistema con datos vitales del
producto, en el indicador de mandatos, escriba:
lscfg -v
Pulse Intro.
Consulte el mandato lscfg en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Pulse Intro.
En este ejemplo, tty06 es el nombre del terminal y /dev/tty06 es el archivo de dispositivo que contiene
la interfaz de este terminal.
Consulte el mandato tty en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se listen todas las pantallas disponibles, escriba:
lsdisp
Pulse Intro.
Consulte el mandato lsdisp en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se listen todos los fonts disponibles para la pantalla en formato de lista, escriba:
lsfont -l
Pulse Intro.
A continuación se muestra un ejemplo de la lista que se visualiza, donde se indica el identificador de font,
el tipo de font y el número de caracteres por pantalla:
Consulte el mandato lsfont en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se listen todas las correlaciones de teclado, escriba:
lskbd
Pulse Intro.
Consulte el mandato lskbd en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se listen todos los productos de software del sistema, en el indicador del sistema,
escriba:
lslpp -l -a
Pulse Intro.
Pulse Intro.
Pulse Intro.
En este ejemplo, las líneas como intr = |C; quit = |\; erase = |H; son los valores de las teclas de
control. La tecla |H es la tecla de retroceso y la función que se ha establecido para ésta es borrar.
Pulse Intro.
Consulte el mandato stty en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Todas la variables (y los valores que se asocian a éstas) que un mandato puede reconocer al inicio de su
ejecución constituyen su entorno. Este entorno incluye variables que un mandato hereda de sus variables
y proceso padre especificados como palabras clave en la línea de mandatos que llama al mandato. El
shell interactúa con el entorno de varios modos. Cuando se inicia, el shell explora el entorno y crea un
parámetro para cada nombre encontrado, dando al parámetro el valor correspondiente y marcándolo para
exportación. Los mandatos ejecutados heredan el entorno.
Por ejemplo, para que se listen todas las variables de entorno, escriba:
env
Pulse Intro.
Consulte el mandato env en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Entorno del shell Korn” en la página 184
Por ejemplo, para buscar el valor actual de la variable de entorno MAILMSG, escriba:
printenv MAILMSG
Pulse Intro.
Consulte el mandato printenv en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato aixterm en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
El sistema operativo le permite manipular la entrada y la salida (E/S) de los datos hacia y desde el
sistema utilizando mandatos y símbolos de E/S específicos. Puede controlar la entrada especificando la
ubicación de donde se recogerán datos. Por ejemplo, puede especificar la lectura de la entrada a medida
que se entran datos en el teclado (entrada estándar) o la lectura de entrada desde un archivo. Puede
controlar la salida especificando dónde visualizar o almacenar datos. Por ejemplo, puede especificar
grabar datos en la pantalla (salida estándar) o grabar en un archivo.
Los distintivos definen de forma más detallada las acciones de los mandatos. Un distintivo es un
modificador que se utiliza con el nombre del mandato en la línea de mandatos, por lo general, precedido
de una barra inclinada.
También pueden agruparse los mandatos y almacenarse en un archivo. Se conocen como procedimientos
de shell o scripts de shell. En lugar de ejecutar los mandatos individualmente, se ejecuta el archivo que
contiene los mandatos. Encontrará más información acerca de los scripts y de los procedimientos en el
apartado “Creación y ejecución de un script de shell” en la página 164
Para entrar un mandato, escriba el nombre del mandato en el indicador de mandatos y pulse Intro.
$ NombreMandato
> diary
(aparece el indicador >)
El carácter > es el indicador secundario ($ es el indicador primario por omisión del usuario que no es
root), que indica que la línea actual es la continuación de la línea anterior. Tenga en cuenta que csh no
proporciona ningún indicador secundario y el salto de línea debe producirse en un límite de palabra y
su indicador primario es %.
v Para ejecutar un mandato, escriba el nombre del mandato en el indicador de mandatos y pulse Intro.
Cuando un mandato utiliza distintivos, se sitúan directamente después del nombre del mandato. Los
distintivos de un solo carácter en un mandato pueden combinarse con un guión. Por ejemplo, el mandato
anterior también puede escribirse como:
ls -aF
Existen algunas circunstancias en las que un parámetro comienza de hecho con un guión (-). En este
caso, utilice el delimitador guión guión (—) delante del parámetro. El delimitador del guión doble — indica al
mandato que el elemento que le sigue no es un distintivo, sino un parámetro.
Por ejemplo, si deseara crear un directorio denominado -tmp y escribiera el mandato siguiente:
mkdir -tmp
ls es el nombre del mandato, -a es el distintivo y temp es el parámetro. Este mandato visualiza todos (-a)
los archivos del directorio temp. En el ejemplo siguiente:
ls -a
puesto que no se indica ningún parámetro, el valor por omisión es el directorio actual. En el ejemplo
siguiente:
ls temp mail
no se proporciona ningún distintivo y temp y mail son parámetros. En este caso, temp y mail son dos
nombres de directorios distintos. El mandato ls visualizará todos los archivos, menos los ocultos, de cada
uno de estos directorios.
Si el mandato que desea utilizar acepta números negativos como parámetros u opciones-argumentos,
podrá utilizar numéricos comprendidos en el rango INT_MIN a INT_MAX, tal como se definen ambos en
/usr/include/sys/limits.h. Esto no significa necesariamente que todos los números que están dentro de
dicho rango sean semánticamente correctos. Algunos mandatos tienen una especificación incorporada
que permite un rango de números menor, por ejemplo algunos de los mandatos de impresión. Si se
genera un error, el mensaje de error le permite saber que el valor no está en el rango soportado y no que
el mandato es sintácticamente incorrecto.
Los convenios para la negrita y la cursiva son los mismos que los de los diagramas de sintaxis. En las
sentencias de uso de mandatos se utilizan los siguientes convenios adicionales:
v Los parámetros delimitados por corchetes son opcionales.
v Los parámetros incluidos entre llaves son obligatorios.
v Los parámetros que no están delimitados por corchetes o por llaves son obligatorios.
v Una barra vertical significa que sólo elige un parámetro. Por ejemplo, [ a | b ] indica que puede elegir
entre a, b o nada. Del mismo modo, { a | b } indica que debe elegir a o bien b.
v Los puntos suspensivos ( ... ) significan que el parámetro puede repetirse en la línea de mandatos.
v El guión ( - ) representa la entrada estándar.
Consulte el mandato smit en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Para buscar los archivos del directorio actual que no tienen ninguna documentación, escriba:
whereis -m -u *
Pulse Intro.
Para buscar todos los archivos que contienen el nombre Mail, escriba:
whereis Mail
Pulse Intro.
Consulte el mandato whereis en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Objetivo
Sintaxis
pg [ - Número ] [ -c ] [ -e ] [ -f ] [ -n ] [ -p Serie ]
[ -s ] [ +NúmeroLínea | +/Patrón/ ] [ Archivo ... ]
Descripción
La información que el mandato man proporciona también puede obtenerse utilizando el programa
InfoExplorer.
Consulte el mandato man en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Consulte el mandato whatis en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: El mandato de shell history no es lo mismo que el mandato history utilizado con el editor
INed. Además, tenga en cuenta que el shell Bourne no soporta histórico de mandatos.
Para obtener información detallada acerca de los shells, consulte el ″“Capítulo 11. Shells” en la
página 159″
Para que se muestre una lista con los mandatos que ha entrado anteriormente, en el indicador de
mandatos, escriba:
history
Pulse Intro.
El mandato history que él mismo entra muestra una lista con los 16 mandatos anteriormente entrados. El
sistema visualiza información parecida a la siguiente:
928 ls
929 mail
930 printenv MAILMSG
931 whereis Mail
932 whatis ls
933 cd /usr/include/sys
934 ls
935 man pg
936 cd
937 ls | pg
938 lscons
939 tty
940 ls *.txt
941 printenv MAILMSG
942 pwd
943 history
El listado muestra en primer lugar la posición del mandato en el archivo $HOME/.sh_history y luego el
mandato.
Para obtener una lista de los cinco mandatos anteriores, en el indicador de mandatos, escriba:
history -5
Pulse Intro.
El mandato history seguido de un número muestra una lista con todos los mandatos anteriormente
entrados, empezando por el número de mandato indicado.
Para obtener una lista de mandatos desde el mandato número 938, en el indicador de mandatos, escriba:
history 938
Pulse Intro.
Si desea que se listen las pantallas actualmente disponibles en el sistema, escriba lsdisp en el indicador
de mandatos y pulse Intro. El sistema devuelve información en la pantalla. Si desea que vuelva a
mostrarse la misma información, en el indicador de mandatos, escriba:
r
Pulse Intro.
El sistema vuelve a ejecutar el mandato que se ha entrado más recientemente. En este ejemplo, se
ejecutaría el mandato lsdisp.
Pulse Intro.
El alias del shell Korn r localiza el mandato más reciente que empieza por el carácter o caracteres
especificados.
Por ejemplo, si la línea de mandatos 940 es ls *.txt y desea ejecutar ls *.exe, en el indicador de
mandatos, escriba:
r txt=exe 940
Pulse Intro.
Por ejemplo, si el mandato de la línea 940 es el mandato más reciente que empieza por la letra l en
minúsculas, también puede escribir:
r txt=exe l
Pulse Intro.
Nota: Sólo se sustituirá la primera aparición de la serie Antigua por la serie Nueva. Si se entra el
alias de shell Korn r sin un número de mandato o carácter específico, la sustitución se efectúa en el
mandato entrado anteriormente.
Si no especifica un programa editor como argumento para el mandato incorporado del shell Korn fc, se
utilizará el editor que especifica la variable FCEDIT. Si la variable FCEDIT no se ha definido, se utilizará
el editor /usr/bin/ed. El mandato o mandatos editados se imprimen y ejecutan cuando sale del editor.
Utilice el mandato printenv para visualizar el valor de la variable FCEDIT.
Pulse Intro.
En este punto, aparece el editor por omisión con la línea de mandatos 933. Debe cambiar include/sys
por tmp y, cuando salga del editor, se ejecutará el mandato editado.
Por ejemplo, si desea editar un mandato utilizando el editor /usr/bin/vi, en el indicador de mandatos,
escriba:
fc -e vi 933
Pulse Intro.
Por ejemplo, si desea editar los mandatos 930 a 940, en el indicador de mandatos, escriba:
fc 930 940
Pulse Intro.
En este punto, aparece el editor por omisión con las líneas de mandato 930 a 940. Cuando salga del
editor, todos los mandatos que aparezcan en el editor se ejecutan secuencialmente.
El primer carácter de un nombre de alias puede ser cualquier carácter imprimible, a excepción de los
metacaracteres. Los caracteres restantes deben ser los mismos que los de un nombre de archivo válido.
Para crear un alias para el mandato rm -i (le pregunta antes de suprimir archivos), en el indicador de
mandatos, escriba:
alias rm="/usr/bin/rm -i"
Pulse Intro.
En este ejemplo, siempre que escriba el mandato rm y pulse Intro, el mandato que realmente se
ejecutará es /usr/bin/rm -i.
Para crear un alias para el mandato ls -alF | pg (visualiza información detallada acerca de todos los
archivos del directorio actual, incluidos los archivos invisibles, marca los archivos ejecutables con un * y
los directorios con una / y realiza un desplazamiento de pantalla a pantalla), en el indicador de mandatos,
escriba:
alias dir="/usr/bin/ls -alF | pg"
Pulse Intro.
En este ejemplo, siempre que escriba el mandato dir y pulse Intro, el mandato que realmente se
ejecutará es /usr/bin/ls -alF | pg.
Para que se visualicen todos los alias de que dispone, en el indicador de mandatos, escriba:
alias
Pulse Intro.
Todos los caracteres del juego de caracteres ampliado europeo tienen formatos ASCII. Estos formatos
pueden utilizarse para representar los caracteres ampliados en la entrada; por otra parte, los caracteres
puede escribirse directamente con un dispositivo como, por ejemplo, un teclado que dé soporte a los
caracteres ampliados europeos.
Los siguientes mandatos de formateo de texto aceptan todos los idiomas internacionales que utilizan
caracteres de un solo byte. Estos mandatos se encuentran en /usr/bin. (Los mandatos que se identifican
con un asterisco (*) dan soporte al proceso de texto en varios idiomas. Para obtener más información
acerca del soporte en varios idiomas, consulte el apartado “Soporte de caracteres de varios bytes en el
formato de texto” en la página 31.)
addbib* hyphen pic* pstext
checkmm ibm3812 ps4014 refer*
checknr* ibm3816 ps630 roffbib*
Los mandatos de formateo de texto y los paquetes de macros que no están en la lista anterior no se han
habilitado para procesar los caracteres internacionales de .
Al texto que contiene caracteres ampliados se le da salida de acuerdo con los convenios de formateo del
idioma en uso. Los caracteres que no están definidos para la interfaz a un dispositivo de salida específico
no generan salida ni indicación de errores.
Aunque los nombres de las peticiones, paquetes de macros y mandatos están basados en el inglés, la
mayoría de ellos pueden aceptar entrada (por ejemplo, nombres de archivos y parámetros) que incluya
caracteres del juego de caracteres ampliado europeo.
En el caso de los mandatos nroff y troff y sus predecesores, la entrada del mandato debe ser ASCII o se
producirá un error de sintaxis no recuperable. Los caracteres internacionales, de un solo byte o de varios
bytes, pueden escribirse cuando éstos se especifican entre comillas y no existe ningún otro texto que
tenga que formatearse. Por ejemplo, utilizando macros desde el mandato pic:
define foobar % AlgúnTexto %
Después de la directiva define, el primer nombre, foobar, debe ser ASCII. Sin embargo, el texto de
sustitución, AlgúnTexto, puede contener caracteres que no sean ASCII.
Aunque los nombres de las peticiones, macros y mandatos están basados en el inglés, la mayoría de
ellos pueden aceptar entrada (por ejemplo, nombres de archivos y parámetros) que incluya cualquier tipo
de carácter multibyte.
Si ya está familiarizado con la utilización de mandatos de formateo de texto de un solo byte, la lista
siguiente resume las características que son indicativas o exclusivas para los escenarios multibyte:
v El texto no está delimitado por guiones.
En lo que respecta a los mandatos nroff y troff y sus predecesores, la entrada de mandatos debe ser
ASCII o se generará un error de sintaxis. Los caracteres internacionales, de un solo byte o de varios
bytes, pueden escribirse cuando éstos se especifican entre comillas y dentro de otro texto que tenga que
formatearse. Por ejemplo, utilizando macros desde el mandato pic:
define foobar % AlgúnTexto %
Después de la directiva define, el primer nombre, foobar, debe ser ASCII. Sin embargo, el texto de
sustitución, AlgúnTexto, puede contener caracteres que no sean ASCII.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
El sistema asigna un número de identificación de proceso (número PID) a cada proceso cuando se inicia.
Si inicia el mismo programa varias veces, tendrá un número PID distinto cada vez.
Cuando se inicia un proceso en un sistema, el proceso utiliza una parte de los recursos disponibles en el
sistema. Cuando está ejecutándose más de un proceso, un planificador que está incorporado al sistema
operativo otorga a cada proceso su parte compartida de tiempo del sistema, según las prioridades
establecidas. Estas prioridades pueden cambiarse mediante la utilización de los mandatos nice o renice.
Nota: Sólo podrá cambiar la prioridad de un proceso por una prioridad más alta un usuario que
disponga de autorización de usuario root. Todos los usuarios pueden especificar prioridades más
bajas para un proceso. Si están iniciando un proceso, utilizan el mandato nice; si ya han iniciado un
proceso, utilizan el mandato renice.
Daemons
Los daemons son procesos que se ejecutan de forma desatendida. Están constantemente en el segundo
plano y están disponibles siempre. Los daemons suelen iniciarse cuando se arranca el sistema y se
ejecutan hasta que se detiene el sistema. Un proceso daemon efectúa servicios del sistema y está
disponible siempre para más de una tarea o usuario. El usuario root o el shell root inicia los procesos
daemon y sólo puede detenerlos el usuario root. Por ejemplo, el proceso qdaemon proporciona acceso a
los recursos del sistema como, por ejemplo, las impresoras. Otro daemon usual es el daemon sendmail.
Proceso zombie
Un proceso zombie es un proceso finalizado que ya no se ejecuta pero que sigue reconociéndose en la
tabla de procesos (en otras palabras, tiene un número PID). Ya no se asigna espacio del sistema a dicho
proceso. Los procesos zombie han sido cerrados o han salido y siguen existiendo en la tabla de procesos
hasta que muere el proceso padre o se apaga el sistema y se reinicia. Los procesos zombie se muestran
como <defunct> cuando el mandato ps los lista.
Inicio de un proceso
Puede iniciar un proceso en primer plano desde una estación de pantalla entrando el nombre de un
programa o el nombre de un mandato en el indicador del sistema. Una vez que se ha iniciado un proceso
en primer plano, el proceso interactúa con el usuario en la estación de pantalla hasta que se completa.
Esto significa que no puede producirse ninguna otra interacción (por ejemplo, entrar otro mandato) en la
estación de pantalla hasta que el proceso haya finalizado o hasta que lo interrumpa.
Un solo usuario puede ejecutar más de un proceso a la vez hasta un máximo por omisión de 40 procesos
por usuario.
y pulse Intro.
$ NombreMandato&
Cuando el proceso está ejecutándose en segundo plano, puede efectuar tareas adicionales entrando otros
mandatos en la estación de pantalla.
Generalmente, los procesos en segundo plano son más útiles para mandatos que tardan mucho en
ejecutarse. No obstante, puesto que aumentan la cantidad total de trabajo que efectúa el procesador, los
procesos en segundo plano también ralentizan el resto del sistema.
La mayoría de los procesos dirigen la salida a salida estándar, aunque se ejecuten en segundo plano. A
menos que se redireccione, la salida estándar va hacia la estación de pantalla. Puesto que la salida de un
proceso en segundo plano puede interferir con otros trabajos del sistema, es útil redireccionar la salida de
los procesos en segundo plano a un archivo o a una impresora. De este modo, podrá ver la salida cuando
lo desee.
Nota: En algunas circunstancias, la salida de un proceso en segundo plano puede generarse en una
secuencia distinta de la que se generaría si se ejecutara en primer plano. Puede que los
programadores deseen utilizar la subrutina fflush para asegurarse de que la salida se genera en el
orden correcto, con independencia de si el proceso se ejecuta en primer plano o en segundo plano.
Mientras se ejecuta un proceso en segundo plano, puede comprobar su estado con el mandato ps.
Mandato ps
EL mandato ps tiene varios distintivos que le permiten especificar qué procesos deben listarse y qué
información acerca de cada proceso debe visualizarse.
Para que se muestren todos los procesos que están ejecutándose en el sistema, en el indicador de
mandatos, escriba:
ps -ef
Pulse Intro.
Si el listado es muy largo, la parte superior se sale de la pantalla. Para que no suceda esto, utilice el
mandato ps interconectado con el mandato pg. En el indicador de mandatos, escriba:
ps -ef | pg
Pulse Intro.
Para que se muestre información acerca de todos los procesos que están ejecutándose en el sistema, en
el indicador de mandatos, escriba:
ps gv
Pulse Intro.
Este formato del mandato lista estadísticas de cada proceso activo. La salida de este mandato tiene este
aspecto aproximado:
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND
0 - A 0:44 7 8 8 xx 0 0 0.0 0.0 swapper
1 - A 1:29 518 244 140 xx 21 24 0.1 1.0 /etc/init
771 - A 1:22 0 16 16 xx 0 0 0.0 0.0 kproc
1028 - A 0:00 10 16 8 xx 0 0 0.0 0.0 kproc
1503 - A 0:33 127 16 8 xx 0 0 0.0 0.0 kproc
1679 - A 1:03 282 192 12 32768 130 0 0.7 0.0 pcidossvr
2089 - A 0:22 918 72 28 xx 1 4 0.0 0.0 /etc/sync
2784 - A 0:00 9 16 8 xx 0 0 0.0 0.0 kproc
2816 - A 5:59 6436 2664 616 8 852 156 0.4 4.0 /usr/lpp/
3115 - A 0:27 955 264 128 xx 39 36 0.0 1.0 /usr/lib/
3451 - A 0:00 0 16 8 xx 0 0 0.0 0.0 kproc
3812 - A 0:00 21 128 12 32768 34 0 0.0 0.0 usr/lib/lpd/
3970 - A 0:00 0 16 8 xx 0 0 0.0 0.0 kproc
4267 - A 0:01 169 132 72 32768 16 16 0.0 0.0 /etc/sysl
4514 lft/0 A 0:00 60 200 72 xx 39 60 0.0 0.0 /etc/gett
4776 pts/3 A 0:02 250 108 280 8 303 268 0.0 2.0 -ksh
5050 - A 0:09 1200 424 132 32768 243 56 0.0 1.0 /usr/sbin
5322 - A 0:27 1299 156 192 xx 24 24 0.0 1.0 /etc/cron
5590 - A 0:00 2 100 12 32768 11 0 0.0 0.0 /etc/writ
5749 - A 0:00 0 208 12 xx 13 0 0.0 0.0 /usr/lpp/
6111 - T 0:00 66 108 12 32768 47 0 0.0 0.0 /usr/lpp/
Consulte el mandato ps en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Otros mandatos que puede utilizar son smit process y los smit monitors.
Nota: Para ejecutar un proceso con una prioridad más alta, deberá disponer de autorización de
usuario root.
Mandato nice
Para establecer la prioridad inicial de un proceso, escriba:
nice -n Número SerieMandato
donde Número es un número comprendido entre el 0 y el 39, siendo 39 la prioridad más baja. Cuanto
mayor sea el número, menor será la prioridad. Si utiliza cero, el proceso se ejecutará en la prioridad de
planificación base. SerieMandato es el mandato y los distintivos y parámetros que desea ejecutar.
Consulte el mandato nice en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer de la sintaxis exacta.
También puede utilizar el mandato smit nice para efectuar esta tarea.
Nota: Para ejecutar un proceso con una prioridad más alta o para cambiar la prioridad de un
proceso que no ha iniciado, deberá disponer de autorización de usuario root.
donde Prioridad es un número comprendido entre el -20 y el 20. Cuanto mayor sea el número, menor
será la prioridad. Si utiliza cero, el proceso se ejecutará en la prioridad de planificación base. IDProceso
es el PID al que desea cambiar la prioridad.
También puede utilizar el mandato smit renice para efectuar esta tarea.
Nota: La tecla de interrupción (Control-C) no cancela los procesos en segundo plano. Para cancelar
un proceso en segundo plano, deberá utilizar el mandato kill.
La mayoría de mandatos simples no son buenos ejemplos para demostrar cómo cancelar un proceso, ya
que se ejecutan con tanta rapidez que finalizan antes de que tenga tiempo de cancelarlos. Por lo tanto,
en los ejemplos de este apartado se utiliza un mandato que tarda algo más de unos pocos segundos en
En el ejemplo siguiente, el mandato find inicia un proceso. Una vez que el proceso se ejecuta durante
algunos segundos, puede cancelarlo pulsando la tecla de interrupción:
$ find / -type f /usr/sbin/acct/lastlogin
/usr/sbin/acct/prctmp
/usr/sbin/acct/prdaily
/usr/sbin/acct/runacct
/usr/sbin/acct/sdisk
/usr/sbin/acct/shutacct INTERRUPT (Ctrl-C)
$ _
Nota: Control-Z funciona en el shell Korn (ksh) y en el shell C (csh), pero no en el shell Bourne
(bsh).
Nota: Control-Z funciona en el shell Korn (ksh) y en el shell C (csh), pero no en el shell Bourne
(bsh). Para reiniciar un proceso detenido, debe ser el usuario que inició el proceso o tener
autorización de usuario root.
1. Para ver todos los procesos que se ejecutan o que se han detenido, pero que no han muerto en el
sistema, escriba:
ps -ef
Puede que desee interconectar este mandato por medio de un mandato grep para restringir la lista a
los procesos entre los que probablemente se encontrará el que desea iniciar. Por ejemplo, si deseara
reiniciar una sesión vi, podría escribir:
ps -ef | grep vi
Pulse Intro. Este mandato sólo visualizaría las líneas de la salida del mandato ps que contuvieran la
palabra vi. La salida tendría este aspecto:
UID PID PPID C STIME TTY TIME COMMAND
root 1234 13682 0 00:59:53 - 0:01 vi test
root 14277 13682 1 01:00:34 - 0:00 grep vi
2. En la salida del mandato ps, busque el proceso que desea reiniciar y anote su número PID. En este
ejemplo, el PID es 1234.
3. Para enviar la señal CONTINUE al proceso detenido, escriba:
kill -19 1234
Sustituya el PID de su proceso por 1234. El número -19 indica la señal CONTINUE. Este mandato
reinicia el proceso en segundo plano. Es correcto que el proceso se ejecute en segundo plano, una
vez que haya finalizado con el procedimiento. Si el proceso debe ejecutarse en primer plano (como
correspondería a una sesión vi), debe continuar con el paso siguiente.
4. Para llevar el proceso al primer plano, escriba:
Una vez más, sustituya el PID de su proceso por 1234. El proceso debe estar ejecutándose ahora en
primer plano. (Ahora está en la sesión de edición de vi).
Si existe el archivo at.allow, sólo podrán utilizar el mandato at los usuarios cuyos nombres de inicio de
sesión aparezcan en dicho archivo. Un administrador del sistema puede hacer que un usuario deje de
tener permiso para utilizar el mandato at haciendo que el nombre de inicio de sesión del usuario aparezca
en el archivo at.deny. Si sólo existe el archivo at.deny, podrán utilizar el mandato at los usuarios cuyos
nombres no aparezcan en dicho archivo.
Si el archivo at.allow no existe y el archivo at.deny no existe o está vacío, sólo podrá someter un trabajo
con el mandato at el usuario que disponga de autorización de usuario root.
La sintaxis del mandato at le permite especificar una serie de fecha, una serie de hora y de día o bien
una serie incremental que especifique el momento en el que desea que se ejecute el proceso. También le
permite especificar qué shell o cola debe utilizar. Los siguientes ejemplos muestran algunas utilizaciones
usuales del mandato.
Mandato at
Por ejemplo, si el nombre de inicio de sesión es alberto y tiene un script llamado WorkReport que desea
que se ejecute a medianoche, efectúe las siguientes operaciones:
1. Escriba la hora en que desea que se ejecute el programa.
a medianoche
2. Escriba los nombres de los programas que desea ejecutar, pulsando Intro después de cada nombre.
Cuando escriba el último nombre, pulse el carácter de fin de archivo (Control-D) para señalizar el fin
de la lista.
WorkReport|D
Para que se listen los programas que ha enviado para que se ejecuten posteriormente, escriba:
at -l
Para cancelar un programa que ha establecido para que se ejecute posteriormente, obtenga primero la
lista de los números de trabajo que se han asignado a los programas con at -l. Una vez que conozca el
número de trabajo del programa que desea cancelar, escriba:
at -r alberto.741502800.a
Consulte el mandato at en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Para realizar esta tarea, también puede utilizar los mandatos smit at y smit sjat.
Para obtener información acerca de las restricciones de usuario para la utilización del mandato at,
consulte la Nota.
Mandato at
Para listar los procesos planificados, escriba:
at -l
Este mandato lista todos los procesos planificados de la cola. Si es usted un usuario root, este mandato
lista todos los procesos planificados de todos los usuarios. Para obtener información detallada acerca de
la sintaxis, consulte el mandato at.
Mandato atq
Para listar todos los procesos planificados en la cola, escriba:
atq
Si es usted un usuario root, puede listar los procesos planificados de la cola de un usuario determinado
escribiendo:
atq NombreUsuario
También puede utilizar el mandato smit rmat para efectuar esta tarea.
Nota: Para eliminar un proceso, deberá disponer de autorización de usuario root o ser el usuario
que ha iniciado el proceso. La señal por omisión para un proceso del mandato kill es -15
(SIGTERM).
Mandato kill
1. Utilice el mandato ps para determinar el ID de proceso que desea eliminar. Puede que desee
interconectar este mandato por medio de un mandato grep para que sólo se listen los procesos
deseados. Por ejemplo, si desea obtener el ID de proceso de una sesión vi, podría escribir:
ps -l | grep vi
2. En el ejemplo siguiente, emite el mandato find para su ejecución en segundo plano. A continuación
decide cancelar el proceso. Emita el mandato ps para que se listen los números PID.
$ find / -type f > dir.paths &
[1] 21593
$ ps
PID TTY TIME COMMAND
1627 pts3 0:00 ps
5461 pts3 0:00 ksh
17565 pts3 0:00 -ksh
21593 pts3 0:00 find / -type f
$ kill 21593
$ ps
PID TTY TIME COMMAND
1627 pts3 0:00 ps
5461 pts3 0:00 ksh
17565 pts3 0:00 -ksh
[1] + Terminated 21593 find / -type f > dir.paths &
El mandato kill 21593 detiene el proceso find en segundo plano y el segundo mandato ps no
devuelve información de estado acerca del PID 21593. El sistema no visualizará el mensaje de
terminación hasta que escriba el mandato siguiente, a menos que ese mandato sea cd.
El mandato kill le permite cancelar los procesos en segundo plano. Puede que desee utilizarlo, por
ejemplo, si se da cuenta de que ha colocado un proceso en segundo plano por error o si observa que
la ejecución de un proceso está prolongándose demasiado.
Consulte el mandato kill en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Capítulo 3. Mandatos y procesos” en la página 21
Mandatos
alias Mandato de shell que imprime una lista de los alias para salida estándar.
history Mandato de shell que visualiza la lista de eventos históricos.
man Muestra información en línea acerca de mandatos, subrutinas y archivos.
wsm Efectúa gestión del sistema desde un explorador web.
whatis Describe la función que efectúa el mandato.
whereis Localiza el fuente, binario o manual de los programas instalados.
Procesos
at Ejecuta mandatos en un momento posterior, lista todos los procesos planificados o elimina un
proceso de la planificación.
atq Muestra la cola de trabajos que esperan a ser ejecutados.
kill Envía una señal a los procesos en ejecución.
nice Ejecuta un mandato en una prioridad más baja o más alta.
ps Muestra el estado actual de los procesos.
renice Altera la prioridad de los procesos en ejecución.
Información relacionada
“Visión general de los mandatos” en la página 22
A pesar de que el sistema operativo es multitarea, está diseñado para manejar procesos en combinación
entre sí. Esta sección describe las ventajas de redireccionar la entrada y la salida y de enlazar procesos
entre sí.
La pantalla es la salida estándar, que a veces se indica por medio de stdout. Por omisión, los mandatos
toman la entrada de la entrada estándar y envían el resultado a la salida estándar.
El error estándar, que a veces se indica por medio de stderr, es el lugar al que se dirigen los mensajes de
error. Por omisión, dicho lugar es la pantalla.
Estas acciones de entrada y salida por omisión se pueden variar. Puede utilizar un archivo como entrada
y grabar los resultados de un mandato en un archivo. Esto se llama redirección de entrada/salida, que es
una de las potentes funciones del sistema operativo UNIX.
Aunque no se utiliza tanto como la redirección de salida, la entrada correspondiente a un mandato, que
normalmente procede del teclado, también puede redireccionarse desde un archivo. Esto se denomina
redirección de entrada. La redirección de entrada le permite preparar un archivo con anticipación y,
después, hacer que el mandato lea el archivo.
Cuando se añade la notación > nombrearchivo al final del archivo, la salida del mandato se graba en el
archivo cuyo nombre se ha especificado. El símbolo > se conoce como el operador de redirección de
salida.
Pulse Intro.
Pulse Intro.
Por ejemplo, para enviar el listado del directorio actual a un archivo, escriba:
ls > dirlist
Pulse Intro.
Pulse Intro.
Nota: Si el archivo archivo1 no existe, se crea, a menos que se especifique la opción noclobber
del mandato incorporado de shell set ksh (shell Korn) o csh (shell C).
Pulse Intro.
En el ejemplo anterior se crea el archivo4, que se compone de archivo1, archivo2 y archivo3, que se
añaden en el orden especificado.
Atención: En este ejemplo, puede pensar que el mandato cat añadirá el contenido de archivo1,
archivo2 y archivo3 a archivo1. El mandato cat primero crea el archivo de salida, de modo que, en
realidad, borra el contenido del archivo1 y, a continuación, añade el archivo2 y el archivo3 a éste.
Nota: Sólo podrá redirigirse la entrada de los mandatos que normalmente toman su entrada del
teclado.
Por ejemplo, para enviar el archivo carta1 como mensaje al usuario carlos utilizando el mandato mail,
escriba:
mail carlos < carta1
Pulse Intro.
Por ejemplo, tiene un programa denominado miprog que acepta entrada desde la pantalla y que, mientras
se ejecuta, genera mensajes que prefiere no tener en consideración. Para leer la entrada del archivo
miscript y descartar los mensajes de la salida estándar, escriba:
miprog < miscript >/dev/null
Pulse Intro.
En este ejemplo, miprog utiliza el archivo miscript como entrada y toda la salida estándar se descarta.
Si desea redirigir el error estándar u otra salida, debe utilizar un descriptor de archivo. Los descriptores de
archivo también pueden especificarse para redirigir la entrada estándar y la salida estándar, pero ya son
los valores por omisión.
Un descriptor de archivo es un número que se asocia a cada uno de los archivos de E/S que
normalmente utiliza un mandato. A continuación se indican los números que se asocian a la entrada
estándar, a la salida estándar y al error estándar:
Para redirigir la salida de error estándar, escriba el número de descriptor de archivo 2 delante de la salida
o añada los símbolos de redirección (> o > >) y un nombre de archivo tras el símbolo. Por ejemplo, el
siguiente mandato toma la salida de error estándar del mandato cc donde se utiliza para compilar
testfile.c y la añade al final del archivo ERRORS:
cc testfile.c 2 > > ERRORS
Si un mandato graba en más de una salida, puede redirigir independientemente cada una. Imagine que
un mandato dirige su salida estándar al descriptor de archivo 1, dirige su salida de error estándar al
descriptor de archivo 2 y crea un archivo de datos en el descriptor de archivo 9. La línea de mandatos
siguiente redirige cada una de estas salidas a un archivo distinto:
mandato > estándar 2> error 9> datos
donde eofstring es cualquier serie que no contenga caracteres de patrones de coincidencia, el shell toma
las líneas siguientes como entrada estándar del mandato hasta que el shell lee una línea que sólo se
compone de eofstring (posiblemente precedida de uno o más caracteres de tabulación). Las líneas que
aparecen entre la primera y la segunda eofstring suelen denominarse documento de entrada en línea o
documento here. Si existe un guión (-) inmediatamente después de los caracteres de redirección <<, el
shell elimina los caracteres de tabulación iniciales de cada línea del documento de entrada en línea antes
de pasar la línea al mandato.
El shell crea un archivo temporal que contiene el documento presente y efectúa una sustitución de
variables y mandatos en el contenido antes de pasar el archivo al mandato. Efectúa emparejamiento de
patrones en nombres de archivo que son parte de líneas de mandatos en sustituciones de mandatos.
Para impedir todas las sustituciones, delimite cada carácter de la eofstring:
mandato << \eofstring
El documento presente es especialmente útil para una pequeña cantidad de datos de entrada que es
preferible situar en el procedimiento de shell que conservarlos en un archivo separado (por ejemplo, en
scripts de editor). Por ejemplo, puede escribir:
cat <<- xyz
Este mensaje se mostrará en la pantalla
sin las tabulaciones iniciales.
xyz
Pulse Intro.
Conductos y filtros
UNIX le permite conectar dos o más mandatos de tal modo que la salida estándar de un mandato se
utilice como entrada estándar de otro mandato. Un conjunto de mandatos conectados de esta forma se
denomina concatenación por conductos. La conexión que une los mandatos se denomina conducto. Los
conductos son otra función de gran importancia de UNIX, pues le permiten unir muchos mandatos que
realizan una sola acción para formar un mandato que abarque muchas acciones.
Puede dirigir la salida de un mandato para que pase a ser la entrada de otro mandato utilizando un
conducto. Los mandatos se conectan mediante un símbolo de conducto (|).
Por ejemplo, el mandato ls graba el contenido del directorio actual en la pantalla en una corriente de
datos con desplazamiento. Cuando se presenta más de una pantalla de información, algunos datos no
pueden verse. Para controlar la salida de forma que el contenido se visualice pantalla a pantalla, puede
utilizar un conducto para dirigir la salida del mandato ls al mandato pg, que controla el formato de salida
a la pantalla tal como se muestra en el ejemplo siguiente:
ls | pg
En este ejemplo, la salida del mandato ls es la entrada del mandato pg. Pulse Intro para pasar a la
siguiente pantalla.
Los conductos funcionan sólo en una dirección (de izquierda a derecha). Cada mandato de un conducto
se ejecuta como un proceso independiente y todos los procesos pueden ejecutarse al mismo tiempo. Un
proceso establece una pausa cuando no puede leer entrada o cuando el enlace al siguiente proceso está
lleno.
Otro ejemplo de la utilización de los conductos es el empleo del mandato grep. grep busca en un archivo
las líneas que contienen series de un determinado patrón. Para que se visualicen todos los archivos
creados o modificados en julio, escriba:
ls -l | grep Jul
Pulse Intro.
Por ejemplo, para ver y guardar la salida de un mandato al mismo tiempo, escriba:
ps -ef | tee program.ps
Pulse Intro.
Esto visualiza la salida estándar del mandato ps -ef en la estación de trabajo y, al mismo tiempo, guarda
una copia de ésta en el archivo program.ps. Si program.ps ya existe, se suprime y se sustituye a no ser
que se especifique la opción noclobber del mandato incorporado set.
Esto visualiza la salida estándar del mandato ls -l en la estación de trabajo y, al mismo tiempo, añade
una copia de ésta al final de program.ls. Si el archivo program.ls no existe, se crea, a menos que se
especifique la opción noclobber del mandato incorporado set.
Consulte el mandato tee en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Consulte el mandato clear en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para grabar un mensaje en la salida estándar, en el indicador de mandatos, escriba:
echo Inserte un disquete . . .
Pulse Intro.
Por ejemplo, para utilizar el mandato echo con caracteres de patrones de coincidencia, en el indicador de
mandatos, escriba:
echo Los archivos de copia de seguridad son: *.bak
Pulse Intro.
El sistema visualiza el mensaje Los archivos de copia de seguridad son: seguido de los nombres de
archivos del directorio actual que acaban en .bak.
Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
>notas
Pulse Intro.
Esto añade el mensaje Recuerde realizar la copia de seguridad de los archivos de correo al
finalizar la semana. al final del archivo notas.
Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta.
El mandato script también le permite copiar la información que aparece impresa en el terminal en el
archivo que especifique, sin emular a un terminal VT100.
Ambos mandatos son útiles para generar registros de copia impresa de los diálogos de terminal.
Por ejemplo, para capturar la pantalla de un terminal mientras se emula a un VT100, en el indicador de
mandatos, escriba:
capture screen.01
Pulse Intro.
Tras la entrada de datos y el vuelco del contenido de la pantalla, detenga el mandato capture pulsando
Control-D o escriba exit y pulse Intro. El sistema visualizará información parecida a la siguiente:
El mandato capture se ha completado. El archivo es screen.01.
YA NO ESTÁ EMULANDO un terminal vt100.
Pulse Intro.
Consulte los mandatos capture y script en la publicación AIX 5L Version 5.1 Commands Reference para
conocer la sintaxis exacta.
Pulse Intro.
Consulte el mandato banner en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Información relacionada
“Visión general de los mandatos” en la página 22
Los conjuntos de archivos se almacenan en los directorios. Estos conjuntos de archivos suelen estar
relacionados entre sí; su almacenamiento en una estructura de directorios permite mantenerlos
organizados.
Un archivo es un conjunto de datos que puede leerse o en el que puede grabarse. Un archivo puede ser
un programa creado, texto escrito, datos adquiridos o un dispositivo utilizado. Los mandatos, impresoras,
terminales, correspondencia y programas de aplicación se almacenan en archivos. Esto permite a los
usuarios acceder a diversos elementos del sistema de forma uniforme y proporciona más flexibilidad al
sistema de archivos.
“Sistemas de archivos”
Sistemas de archivos
Un sistema de archivos es una estructura jerárquica (árbol de archivos) de archivos y directorios. Este tipo
de estructura parece un árbol invertido con las raíces al principio y las ramas al final. Este árbol de
archivos utiliza directorios para organizar los datos y los programas en grupos, lo que permite la gestión
de muchos directorios y archivos al mismo tiempo.
Algunas tareas se efectúan de forma más eficaz en un sistema de archivos que en cada directorio del
sistema de archivos. Por ejemplo, puede hacer copia de seguridad, mover o proteger la totalidad de un
sistema de archivos.
El tipo básico de sistema de archivos se denomina Sistema de archivos de diario. Este sistema de
archivos utiliza técnicas de registro por diario de base de datos para mantener su consistencia estructural.
Esto impide que se produzcan daños en el sistema de archivos cuando se interrumpe anormalmente el
sistema.
Algunas de las tareas de gestión del sistema más importantes están relacionadas con los sistemas de
archivos, de forma específica, cabría indicar lo siguiente:
v Asignación de espacio para los sistemas de archivos en los volúmenes lógicos
v Creación de sistemas de archivos
v Obtención de espacio disponible del sistema de archivos para los usuarios del sistema
v Supervisión de la utilización del espacio del sistema de archivos
v Realización de la copia de seguridad de los sistemas de archivos en previsión de una pérdida de datos
si se produce una anomalía en el sistema
v Mantenimiento de los sistemas de archivos en un estado coherente
El Sistema de archivos de diario (JFS) Es el tipo de sistema de archivos básico; da soporte a todo el
conjunto de mandatos del sistema de archivos.
Sistema de archivos de red (NFS) Es un tipo de sistema de archivos que permite el acceso a los
archivos que residen en las máquinas remotas como si
residieran en la máquina local.
Sistema de archivos CD-ROM (CDRFS) Es un tipo de sistema de archivos que permite acceder al
contenido de un CD-ROM mediante las interfaces normales del
sistema de archivos (abrir, leer y cerrar).
/dev/hd1 /home
/dev/hd2 /usr
/dev/hd3 /tmp
/dev/hd4 /(root)
/dev/hd9var /var
La lista siguiente proporciona información acerca del contenido de algunos subdirectorios del sistema de
archivos / (root).
/bin Enlace simbólico para el directorio /usr/bin. En los sistemas de archivos de UNIX anteriores, el
directorio /bin contenía los mandatos de usuario que ahora residen en /usr/bin en la nueva estructura
de archivos.
/dev Contiene nodos de dispositivos para archivos especiales de dispositivos locales. El directorio /dev
contiene archivos especiales para unidades de cintas, impresoras, particiones de disco y terminales.
Las máquinas autónomas montan un sistema de archivos local independiente en el directorio /usr. Las
máquinas sin discos y que disponen de poco disco montan un directorio desde un servidor remoto
sobre el sistema de archivos /usr.
/var Sirve como punto de montaje para archivos que varían en cada máquina. El sistema de archivos /var
está configurado como un sistema de archivos, pues los archivos que contiene tienden a crecer. Por
ejemplo, es un enlace simbólico para el directorio /usr/tmp, que contiene archivos de trabajo
temporales.
Por lo general, el mandato df utiliza los totales del espacio libre que contiene el superbloque. Bajo
determinadas circunstancias, estos totales podrían ser erróneos. Por ejemplo, si están realizándose
modificaciones importantes en un sistema de archivos cuando se ejecuta el mandato df, el total de
espacio libre podría no ser preciso.
Consulte el mandato df en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se visualice información acerca de todos los sistemas de archivos montados,
escriba:
df
Pulse Intro.
Si el sistema se ha configurado de forma que los directorios /, /usr, /site y /usr/venus residan en
sistemas de archivos separados, la salida del mandato df será parecida a la siguiente:
Sist.archivos 512 bloques libre %usado iusado %iusado Montado en
/dev/hd4 20480 13780 32% 805 13% /
/dev/hd2 385024 15772 95% 27715 28% /usr
/dev/hd9var 40960 38988 4% 115 1% /var
/dev/hd3 20480 18972 7% 81 1% /tmp
/dev/hd1 4096 3724 9% 44 4% /home
Por ejemplo, para que se visualice el espacio disponible del sistema de archivos en el que reside el
directorio actual, escriba:
df .
Pulse Intro.
Información relacionada
“Visión general de los mandatos” en la página 22
Los directorios contienen entradas de directorio. Cada entrada contiene un nombre de archivo o de
subdirectorio y un número de referencia de nodo de índice (número de inodo). Para aumentar la velocidad
y mejorar la utilización del espacio de disco, se almacenan los datos de un archivo en distintos lugares de
la memoria del sistema. El número de inodo contiene las direcciones que se utilizan para localizar todos
los bloques dispersos de datos que se asocian a un archivo. El número de inodo también registra otra
información acerca del archivo, incluida la hora de modificación y acceso, las modalidades de acceso, el
Puesto que los directorios suelen contener información que no debe estar disponible para todos los
usuarios del sistema, puede protegerse el acceso a los directorios. Estableciendo permisos de directorios,
puede controlar quién tiene acceso al directorio además de determinar qué usuarios (si los hay) pueden
alterar la información del directorio. Consulte el apartado “Modalidades de acceso a archivos y directorios”
en la página 130 para obtener más información.
Tipos de directorios
El sistema operativo, el administrador o los usuarios pueden definir los directorios. Los directorios
definidos por el sistema contienen tipos específicos de archivos del sistema, por ejemplo mandatos. En la
parte superior de la jerarquía del sistema de archivos se encuentra el directorio /(root) definido por el
sistema. El directorio /(root) suele contener los siguientes directorios estándar relacionados del sistema:
Algunos directorios, como el directorio de inicio de sesión o inicial ($HOME), los define y personaliza el
administrador del sistema. Cuando se inicia la sesión en el sistema operativo, el directorio de inicio de
sesión es el directorio actual.
Los directorios que usted cree reciben el nombre de directorios definidos por el usuario. Estos directorios
le ayudan a organizar y mantener los archivos.
Para que el sistema operativo pueda hacer el seguimiento y localice los directorios, cada directorio tiene
una entrada para el directorio padre, en el que se creó .. (doble punto) y una entrada para el propio
directorio, . (punto). En la mayoría de listados de directorio, dichos archivos están ocultos.
Árbol de directorios
Las estructuras de los directorios padre, subdirectorios y archivos se denominan sistemas de archivos.
Las estructuras de directorios suelen compararse con un árbol invertido. El directorio raiz, que se
Directorio padre
Cada directorio, a excepción de /(root), tiene un directorio padre y puede tener uno o más directorios hijo.
En la ilustración Ejemplo de estructuras de directorio, C es el padre de E y C es el hijo de /(root).
Directorio inicial
Cuando inicia la sesión, el sistema le sitúa en un directorio que se denomina directorio inicial o directorio
de inicio de sesión. El administrador del sistema establece este directorio para cada usuario. El directorio
inicial es donde usted guarda los archivos personales. Normalmente, los directorios que cree para su
propio uso serán subdirectorios del directorio inicial. Para volver al directorio inicial en cualquier momento,
escriba el mandato cd y pulse Intro en el indicador de mandatos.
Directorio de trabajo
Siempre se trabaja desde un directorio. El directorio en el que actualmente está trabajando se denomina
directorio actual o de trabajo. El mandato pwd (directorio de trabajo actual) informa del nombre del
directorio de trabajo. El mandato cd le permite cambiar a otros directorios de trabajo.
Nota: Los nombres de las vías de acceso no pueden tener más de 1023 caracteres.
nombres absolutos de vías de Rastrea la vía de acceso desde el directorio /(root). Los nombres absolutos de
acceso las vías de acceso empiezan por el símbolo de la barra inclinada (/).
nombre relativo de vía de acceso Enmarca la vía de acceso desde el directorio actual hasta su directorio padre o
sus subdirectorios y archivos.
Existen dos archivos denominados 9. Esto es posible porque los nombres absolutos de las vías de
acceso de los archivos especifican para cada archivo un nombre exclusivo dentro del sistema de archivos.
Los nombres de vía de acceso /A/D/9 y /C/E/G/9 especifican dos archivos exclusivos llamados 9.
A diferencia de los nombres completos de vías de acceso, los nombres relativos de vías de acceso
especifican un directorio o archivo según el directorio de trabajo actual. Para los nombres relativos de vías
de acceso, puede utilizar la notación del doble punto (..) para subir por la jerarquía del sistema de
archivos. El doble punto (..) representa el directorio padre. Puesto que los nombres relativos de vías de
acceso especifican una vía de acceso que empieza en el directorio actual, no empiezan por una barra
inclinada (/). Los nombres relativos de vía de acceso se utilizan para especificar el nombre de un archivo
en el directorio actual o el nombre de vía de acceso de un archivo o directorio por encima o por debajo
del nivel del directorio actual en el sistema de archivos. Si D es el directorio actual, el nombre relativo de
vía de acceso para acceder a 10 es F/10, pero el nombre absoluto de vía de acceso es siempre
/A/D/F/10.Además, el nombre relativo de vía de acceso para acceder a 3 es ../../B/3.
También puede representar el nombre del directorio actual utilizando la notación del punto (.). La notación
del punto (.) suele utilizarse cuando se ejecutan programas que leen el nombre del directorio actual.
Abreviatura Significado
. El directorio de trabajo actual.
.. Es el directorio que está por encima del directorio de trabajo actual (el directorio padre).
x Es el directorio inicial (esto no se aplica al shell Bourne; consulte el apartado “Shell
Bourne” en la página 210).
$HOME El directorio inicial (esto se cumple para todos los shells).
Información relacionada
“Visión general de los mandatos” en la página 22
Se presentan el mandato y un ejemplo para cada una de las tareas de directorio siguientes:
v “Creación de un directorio (mandato mkdir)”
v “Movimiento o cambio del nombre de un directorio (mandato mvdir)”
v “Visualización del directorio actual (mandato pwd)” en la página 62
v “Cambio a otro directorio (mandato cd)” en la página 62
v “Copia de un directorio (mandato cp)” en la página 63
v “Visualización del contenido de un directorio (mandato ls)” en la página 64
v “Supresión o eliminación de un directorio (mandato rmdir)” en la página 65
v “Comparación del contenido de dos directorios (mandato dircmp)” en la página 66
Cuando se crea un nuevo directorio, se crea dentro del directorio actual o de trabajo a menos que
especifique un nombre absoluto de vía de acceso en otro lugar del sistema de archivos.
Por ejemplo, para crear un nuevo directorio denominado Prueba en el directorio de trabajo actual con los
permisos por omisión, escriba:
mkdir Prueba
Pulse Intro.
Por ejemplo, para crear un nuevo directorio denominado Prueba con los permisos rwxr-xr-x en un
directorio /home/demo/sub1 anteriormente creado, escriba:
mkdir -m 755 /home/demo/sub1/Prueba
Pulse Intro.
Por ejemplo, para crear un nuevo directorio denominado Prueba con los permisos por omisión en el
directorio /home/demo/sub2, escriba:
mkdir -p /home/demo/sub2/Prueba
Pulse Intro.
Consulte el mandato mkdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Ello mueve el directorio libro para colocarlo debajo del directorio denominado manual, si manual existe.
De lo contrario, el directorio libro cambia al nombre manual.
Pulse Intro.
Esto mueve libro3 al directorio llamado proj4 y lo renombra a manual (si manual no existía ya).
Consulte el mandato mvdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Consulte el mandato pwd en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Por ejemplo, para bajar un nivel en el árbol de directorios, al directorio sys, escriba:
cd sys
Pulse Intro.
Pulse Intro.
El nombre de archivo especial, doble punto (..), hace referencia al directorio que se encuentra
inmediatamente encima del directorio actual, su directorio padre.
Consulte el mandato cd en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Para colocar una copia del ArchivoOrigen en un directorio, especifique la vía de acceso de un directorio
existente en el parámetro DirectorioDestino. Los archivos mantienen sus nombres respectivos cuando se
copian en un directorio, a no ser que especifique un nombre de archivo nuevo al final de la vía de acceso.
El mandato cp también copia directorios enteros en otros directorios si especifica los distintivos -r o -R.
Por ejemplo, para copiar todos los archivos de un directorio en un nuevo directorio, escriba:
cp /home/janet/clients/* /home/nick/customers
Pulse Intro.
Esto copiará únicamente los archivos del directorio clients en el directorio customers.
Por ejemplo, para copiar un directorio, incluidos todos sus archivos y subdirectorios, en otro directorio,
escriba:
cp -R /home/nick/clients /home/nick/customers
Pulse Intro.
Esto copia el directorio clients, incluyendo todos sus archivos, subdirectorios y los archivos de dichos
subdirectorios, bajo el directorio customers.
Consulte el mandato cp en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato ls
El mandato ls graba en salida estándar el contenido de cada Directorio o el nombre de cada Archivo
especificado junto con otras informaciones que solicite con los distintivos. Si no especifica un Archivo o un
Directorio, el mandato ls visualizará el contenido del directorio actual.
Por omisión, el mandato ls visualiza toda la información en orden alfabético por nombre de archivo. Si el
mandato lo ejecuta un usuario con autorización root, el mandato utiliza el distintivo -A por omisión, que
muestra una lista de todas las entradas, a excepción de las correspondientes al punto (.) y al doble punto
(..). Para mostrar todas las entradas de archivos, incluyendo las que comienzan por un . (punto), utilice el
mandato ls -a.
La información que se visualiza con los distintivos -e y -l se interpreta como se indica a continuación:
d La entrada es un directorio.
b La entrada es un archivo de bloques especial.
c La entrada es un archivo especial de caracteres.
l La entrada es un enlace simbólico.
p La entrada es un archivo especial de conducto FIFO (primero en entrar, primero en salir).
s La entrada es un socket local.
- La entrada es un archivo normal.
Los nueve caracteres siguientes se dividen en tres grupos de tres caracteres cada uno. Los tres primeros
caracteres muestran el permiso del propietario. El siguiente grupo de tres caracteres muestra el permiso
de otros usuarios en el grupo. El último grupo de tres caracteres muestra el permiso de otros usuarios
con acceso al archivo. Los tres caracteres de cada grupo muestran los permisos de lectura, grabación y
ejecución del archivo. El permiso de ejecución de un directorio le permite buscar un archivo especificado
en un directorio.
+ Indica que un archivo tiene información de seguridad ampliada. Por ejemplo, puede que el archivo disponga
de los atributos ampliados ACL, TCB o TP en la modalidad.
- Indica que un archivo no tiene información de seguridad ampliada.
Cuando se lista el tamaño de los archivos de un directorio, el mandato ls visualiza el total del número de
bloques, incluidos los bloques indirectos.
Por ejemplo, para que se listen todos los archivos del directorio actual, escriba:
ls -a
Pulse Intro.
Pulse Intro.
Esto visualiza un largo listado con información detallada acerca de chap1 y de .profile.
Por ejemplo, para que se visualice información detallada acerca de un directorio, escriba:
ls -d -l . manual manual/chap1
Pulse Intro.
Esto visualiza un listado largo de los directorios . y manual y del archivo manual/chap1. Sin el distintivo -d,
se listarían los archivos de los directorios . y manual en lugar de mostrarse información detallada acerca
de los propios directorios.
Consulte el mandato ls en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Pulse Intro.
Esto elimina el contenido de mydir y, a continuación, elimina el directorio vacío. El mandato rm visualizará
un mensaje de error relacionado con el intento de eliminación de los directorios del punto (.) y del doble
punto (..) y, a continuación, el mandato rmdir eliminará éstos y el propio directorio
Por ejemplo, para eliminar la estructura de directorios /tmp/jones/demo/mydir y todos los directorios que
contiene, escriba:
cd /tmp
rmdir -p jones/demo/mydir
Pulse Intro.
Esto elimina el directorio jones/demo/mydir del directorio /tmp. Si un directorio no está vacío o no tiene
permiso de grabación sobre el mismo cuando va a eliminarse, el mandato termina con los mensajes de
error apropiados.
Consulte el mandato rmdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
En la salida, el mandato dircmp lista los archivos que son exclusivos de cada directorio. A continuación
lista los archivos con nombres idénticos en ambos directorios, pero con contenido distinto. Si no se
especifica ningún distintivo, también lista los archivos que tienen contenido idéntico además de nombres
idénticos en ambos directorios.
Por ejemplo, para que se muestre un resumen de las diferencias existentes entre los archivos de los
directorios proj.ver1 yproj.ver2, escriba:
dircmp proj.ver1 proj.ver2
Pulse Intro.
Esto muestra un resumen de las diferencias entre los directorios proj.ver1 y proj.ver2.El resumen lista
por separado los archivos encontrados únicamente en un directorio o en el otro además de los archivos
que se encuentran en ambos. Si un archivo se encuentra en ambos directorios, el mandato dircmp indica
si los dos archivos son idénticos.
Por ejemplo, para que se muestren los detalles de las diferencias existentes entre los archivos de los
directorios proj.ver1 y proj.ver2, escriba:
dircmp -d -s proj.ver1 proj.ver2
Pulse Intro.
El distintivo -s suprime la información relacionada con los archivos idénticos. El distintivo -d visualiza un
listado diff para cada uno de los archivos diferentes que se han encontrado en ambos directorios.
Consulte el mandato dircmp en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Sistemas de archivos
df Ofrece información acerca del espacio en sistemas de archivos.
Información relacionada
“Visión general de los mandatos” en la página 22
Todos los tipos de archivos reconocidos por el sistema se enmarcan en una de estas categorías. No
obstante, el sistema operativo utiliza muchas variaciones de estos tipos básicos.
Archivos normales
Los archivos normales son los archivos más usuales. Otro nombre para los archivos normales es archivos
ordinarios. Los archivos normales contienen datos.
Archivos de texto
Los archivos de texto son archivos normales que contienen información que el usuario puede leer. Esta
información se almacena en ASCII. Puede visualizar e imprimir dichos archivos. Las líneas de un archivo
de texto no deben incluir caracteres NUL y ninguna puede superar la longitud en bytes de {LINE_MAX},
incluyendo el carácter de nueva línea.
Archivos binarios
Los archivos binarios son archivos normales que contienen información que el sistema puede leer. Los
archivos binarios podrían ser archivos ejecutables que indicaran al sistema que ha de realizar un trabajo.
Los mandatos y los programas se almacenan en archivos binarios ejecutables. Los programas de
compilación especial convierten texto ASCII en código binario.
La única diferencia entre los archivos de texto y los archivos binarios es que los archivos de texto tienen
líneas de menos de {LINE_MAX} bytes, sin caracteres NUL, que terminan con un carácter de nueva
línea.
Archivos de directorio
Los archivos de directorio contienen información que el sistema necesita para acceder a todos los tipos
de archivo, pero no contienen los datos reales de los archivos. En consecuencia, los directorios ocupan
menos espacio que un archivo normal y proporcionan a la estructura de sistema de archivos flexibilidad y
profundidad. Cada entrada de directorio representa un archivo o un subdirectorio. Cada entrada contiene
el nombre del archivo y el número de referencia de nodo de índice (número de inodo) del archivo. El
número de inodo apunta al nodo de índice exclusivo que se ha asignado al archivo. El número de inodo
describe la ubicación de los datos que se asocian al archivo. Un grupo independiente de mandatos crea y
controla los directorios.
Consulte el apartado “Visión general de los directorios” en la página 57 para obtener más información.
Archivos especiales
Los archivos especiales definen dispositivos para el sistema o archivos temporales creados por procesos.
Existen tres tipos básicos de archivos especiales: FIFO (primero en entrar, primero en salir), de bloques y
de caracteres. Los archivos FIFO también reciben en el nombre de conductos. Los conductos se crean
Cada archivo tiene un conjunto de permisos (llamado modalidades de acceso) que determinan quién
puede leer, modificar o ejecutar el archivo.
Para obtener más información acerca de las modalidades de acceso a archivos, consulte el apartado
“Modalidades de acceso a archivos y directorios” en la página 130.
Puesto que todas las vías de acceso de un sistema de archivos parten del directorio /(root), cada archivo
del sistema de archivos tiene una relación exclusiva con el directorio root, la cual se denomina nombre
absoluto de vía de acceso. Los nombres absolutos de las vías de acceso empiezan por el símbolo de la
barra inclinada (/). El nombre absoluto de la vía de acceso del archivo h dentro del Sistema de archivos
de ejemplo es /B/C/h. Observe que existen dos archivos denominados g. Puesto que las vías de acceso
absolutas de estos archivos son distintas, /B/g y /B/C/g, cada archivo denominado g tiene un nombre
exclusivo dentro del sistema. Cada componente de un nombre de vía de acceso es un vía de acceso
excepto el componente final. El componente final de un nombre de vía de acceso puede ser un nombre
de archivo.
Nota: Los nombres de vías de acceso no pueden superar los 1023 caracteres.
Capítulo 6. Archivos 71
Comodín *
Utilice el carácter * como patrón de cualquier secuencia o serie de caracteres. El carácter * significa
cualquier carácter, incluyendo la ausencia de caracteres. Por ejemplo, si tiene los siguientes archivos en
el directorio:
1test 2test afile1 afile2 bfile1 file file1 file10 file2 file3
y desea hacer referencia únicamente a los archivos que empiezan por file, tendría que utilizar:
file*
Para hacer referencia únicamente a los archivos que contienen la palabra file, tendría que utilizar:
*file*
Los archivos seleccionados serían: afile1 afile2 bfile1 file file1 file10 file2 file3
??
Utilice el comodín ? como sustitución de cualquier carácter. El carácter ? significa cualquier carácter.
Para hacer referencia únicamente a los archivos que empiezan por file y que acaban con un carácter
simple, utilice:
file?
Para hacer referencia únicamente a los archivos que empiezan por file y que acaban con dos caracteres
simples, utilice:
file??
Para hacer referencia únicamente a los archivos que finalizan por 1 o por 2, utilice:
*file[12]
Para hacer referencia únicamente a los archivos que comienzan por cualquier número, utilice:
[0123456789]* o bien [0-9]*
Para hacer referencia únicamente a los archivos que no empiezan por a, utilice:
[!a]*
Los archivos seleccionados serían: 1test 2test bfile1 file file1 file10 file2 file3
Las expresiones normales pueden representar una amplia gama de posibles series. Aunque muchas
expresiones normales pueden interpretarse de forma distinta según el escenario actual, las características
de internacionalización hacen que no haya diferencias entre textos de diferentes países.
Vea los ejemplos de la siguientes comparación entre patrones de coincidencia de archivos y expresiones
normales:
Patrones de coincidencia Expresión normal
* .*
? .
[!a] [|a]
[abc] [abc]
[[:alpha:]] [[:alpha:]]
Consulte el mandato awk en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Capítulo 6. Archivos 73
Tras crear y modificar archivos, puede que tenga que copiar o mover archivos de un directorio a otro,
cambiar el nombre de los archivos para distinguir las distintas versiones de un archivo o especificar
nombres distintos para el mismo archivo. Puede que también necesite crear nuevos directorios cuando
trabaje en proyectos distintos.
Asimismo, también es posible que necesite suprimir determinados archivos. El directorio puede llenarse
rápidamente de archivos que contienen información antigua o inútil. Suprimir archivos que no se necesitan
libera espacio de almacenamiento en el sistema.
Mandato rm
El mandato rm elimina de un directorio las entradas del archivo o archivos especificados. No necesita
tener permiso de lectura o de grabación sobre el archivo que desea eliminar. No obstante, debe tener
permiso de grabación sobre el directorio que contiene el archivo.
Pulse Intro.
Para suprimir todos los archivos del directorio mydir, de uno en uno, escriba:
rm -i mydir/*
Pulse Intro.
Después de que se visualice el nombre de cada archivo, escriba y y pulse Intro para suprimir el archivo o
bien pulse la tecla Intro para conservarlo.
Atención: El mandato mv puede sobregrabar muchos archivos existentes a no ser que especifique
el distintivo -i. El distintivo -i le solicita que confirme la acción antes de sobregrabar un archivo. El
distintivo -f no solicita confirmación. Si se especifican los distintivos -f y -i juntos, es vigente el último
distintivo especificado.
Pulse Intro.
Con ello, intro se mueve a manual/chap1. El nombre intro se elimina del directorio actual y el mismo
archivo aparece como chap1 en el directorio manual. Vea la nota Atención anterior.
Por ejemplo, para mover un archivo a otro directorio, conservando el mismo nombre, escriba:
mv chap3 manual
Pulse Intro.
Pulse Intro.
Con ello, el nombre appendix cambiará por apndx.a. Si ya existe un archivo denominado apndx.a, el
contenido anterior de éste se sustituirá por el de appendix. Vea la nota Atención anterior.
Consulte el mandato mv en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Si existe un archivo con el mismo nombre en el nuevo destino, el archivo copiado sobregrabará el archivo
en el nuevo destino. Por lo tanto, es conveniente asignar un nombre nuevo para la copia del archivo de
modo que se asegure de que no existe un archivo con el mismo nombre en el directorio destino.
Capítulo 6. Archivos 75
Para colocar una copia del ArchivoOrigen en un directorio, especifique la vía de acceso de un directorio
existente en el parámetro DirectorioDestino. Los archivos mantienen sus nombres respectivos cuando se
copian en un directorio, a no ser que especifique un nombre de archivo nuevo al final de la vía de acceso.
El mandato cp también copia directorios enteros en otros directorios si especifica los distintivos -r o -R.
También puede copiar archivos de dispositivo especiales. La opción preferida para realizar esta acción es
el distintivo -R. La especificación de -R da lugar a que los archivos especificados vuelvan a crearse en el
nuevo nombre de vía de acceso. La especificación del distintivo -r da lugar a que el mandato cp intente
copiar los archivos especiales en archivos normales.
Por ejemplo, para hacer una copia de un archivo en el directorio actual, escriba:
cp prog.c prog.bak
Pulse Intro.
Esto copiará prog.c en prog.bak. Si el archivo prog.bak todavía no existe, el mandato cp lo creará. Si
existe, el mandato cp lo sustituirá por una nueva copia del archivo prog.c.
Por ejemplo, para copiar un archivo del directorio actual en otro directorio, escriba:
cp jones /home/nick/clients
Pulse Intro.
Por ejemplo, para copiar todos los archivos de un directorio en un nuevo directorio, escriba:
cp /home/janet/clients/* /home/nick/customers
Pulse Intro.
Esto copiará únicamente los archivos del directorio clients en el directorio customers.
Por ejemplo, para copiar un conjunto específico de archivos en otro directorio, escriba:
cp jones lewis smith /home/nick/clients
Pulse Intro.
Esto copiará los archivos jones, lewis y smith del directorio de trabajo actual en el directorio
/home/nick/clients.
Por ejemplo, para utilizar caracteres de patrones de coincidencia para copiar archivos, escriba:
cp programs/*.c .
Esto copiará los archivos del directorio programs que acaban en .c en el directorio actual, que se
especifica mediante un punto (.). Deberá incluir un espacio entre la c y el punto final.
Consulte el mandato cp en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Con ello se busca en todo el sistema de archivos y se graban los nombres completos de las vías de
acceso de todos los archivos denominados .profile. La barra inclinada (/) indica al mandato find que
busque en el directorio /(root) y en todos sus subdirectorios. Para evitar pérdidas de tiempo, se
recomienda limitar la búsqueda especificando los directorios en los que cree que pueden encontrarse los
archivos.
Por ejemplo, para que se listen los archivos que tienen el código de permiso específico 0600 en el árbol
de directorios actual, escriba:
find . -perm 0600
Con ello se listarán los nombres de los archivos que tienen sólo permiso de lectura y permiso de
grabación del propietario. El punto (.) indica al mandato find que busque en el directorio actual y en sus
subdirectorios. Consulte el mandato chmod para ver una explicación de los códigos de permiso.
Por ejemplo, para buscar archivos con ciertos códigos de permiso en varios directorios, entre:
find manual clients proposals -perm -0600
Esto lista los nombres de los archivos que tienen permiso de lectura de propietario y de grabación de
propietario y posiblemente otros permisos. Se busca en los directorios manual, clients y proposals y en
sus subdirectorios. En el ejemplo anterior, -perm 0600 selecciona únicamente los archivos cuyos códigos
de permiso coinciden exactamente con 0600.En este ejemplo, -perm -0600 selecciona archivos con
códigos de permiso que permiten los accesos indicados por 0600 y otros accesos por encima del nivel
0600.Esto también coincide con los códigos de permiso 0622 y 2744.
Por ejemplo, para listar todos los archivos del directorio actual que se han cambiado durante el periodo de
24 horas actual, entre:
find . -ctime 0
Por ejemplo, para buscar archivos normales con múltiples enlaces, entre:
find . -type f -links +1
Pulse Intro.
Con ello se listarán los nombres de los archivos normales (-type f) que tienen más de un enlace (-links
+1).
Nota: Cada directorio tiene, como mínimo, dos enlaces: la entrada en su directorio padre y su propia
entrada .(punto). Consulte el mandato ln para obtener más información acerca de los múltiples
enlaces de los archivos.
Por ejemplo, para imprimir los nombres de las vías de acceso de todos los archivos que están en o por
debajo del directorio actual, excepto los directorios denominados SCCS o los archivos de los directorios
SCCS, escriba:
Pulse Intro.
find . -name SCCS -prune
Por ejemplo, para buscar todos los archivos que tienen una longitud exacta de 414 bytes, escriba:
find . -size 414c
Pulse Intro.
Capítulo 6. Archivos 77
Consulte el mandato find en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Si un archivo parece ser ASCII, el mandato file examina los primeros 512 bytes y determina su lenguaje.
Si un archivo parece no ser ASCII, el mandato file sigue intentando determinar si se trata de un archivo
de datos binario o de un archivo de texto que contiene caracteres ampliados.
El mandato file utiliza el archivo /etc/magic para identificar los archivos que tienen algún tipo de número
mágico, es decir, cualquier archivo que contenga una constante numérica o de serie de caracteres que
indique el tipo.
Por ejemplo, para que se visualice el tipo de información que contiene el archivo denominado myfile,
escriba:
file myfile
Pulse Intro.
Esto muestra el tipo de archivo de myfile (por ejemplo directorio, datos, texto ASCII, fuente de programa
C y archivador).
Por ejemplo, para que se visualice el tipo de cada archivo cuyo nombre se indica en filenames.lst, que
contiene una lista de los nombres de los archivos, escriba:
file -f filenames.lst
Pulse Intro.
Ello visualizará el tipo de cada archivo cuyo nombre se indica en la lista filenames.lst. El nombre de
cada archivo aparece por separado en una línea.
Por ejemplo, para crear el archivo filenames.lst de modo que contenga todos los nombres de archivos
del directorio actual, escriba:
ls > filenames.lst
Pulse Intro.
Consulte el mandato file en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
También puede visualizar el contenido de los archivos utilizando la redirección de entrada/salida. Consulte
el apartado ″Visión general de la redirección de entrada y salida (“Capítulo 4. Redirección de entrada y
salida” en la página 43)″ para obtener más información acerca de la redirección de entrada/salida.
Mandato pg
El mandato pg lee los nombres de archivos del parámetro Archivo y los graba en la salida estándar,
mostrándose una pantalla cada vez. Si especifica un guión (-) como el parámetro de Archivo o bien
ejecuta el mandato pg sin opciones, el mandato pg lee la entrada estándar. A cada pantalla le sigue un
indicador. Si pulsa la tecla Intro, se mostrará otra pantalla. Los submandatos utilizados con el mandato pg
le permiten revisar los acontecimientos que ya han pasado.
Por ejemplo, para ver el contenido del archivo myfile de modo que se muestre una página cada vez,
escriba:
pg myfile
Pulse Intro.
Consulte el mandato pg en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: En algunos modelos de terminales, el mandato more borra la pantalla, en lugar de realizar un
desplazamiento, antes de visualizar la siguiente pantalla de datos.
Pulse Intro.
Consulte el mandato more en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta.
Mandato cat
El mandato cat lee cada parámetro Archivo de forma secuencial y lo graba en la salida estándar.
Por ejemplo, para que se visualice el contenido del archivo notes, escriba:
cat notes
Pulse Intro.
Si el archivo tiene más de 24 líneas de longitud, parte del archivo se desplaza fuera de la pantalla. Para
que un archivo se visualice página por página, utilice el mandato pg.
Capítulo 6. Archivos 79
Por ejemplo, para que se visualice el contenido de los archivos notes, notes2 y notes3, escriba:
cat notes notes2 notes3
Pulse Intro.
Consulte el mandato cat en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para buscar en un archivo denominado pgm.s un patrón que contenga algunos de los
caracteres de patrones de coincidencia *, |, ?, [, ], \(, \), \{ y \}, en este caso, líneas que empiecen por
cualquier letra en mayúsculas o en minúsculas, escriba:
grep "|[a-zA-Z]" pgm.s
Pulse Intro.
Esto muestra todas las líneas de pgm.s que comienzan por una letra.
Para que se visualicen todas las líneas de un archivo denominado sort.c que no coincidan con un
patrón, escriba:
grep -v bubble sort.c
Pulse Intro.
Esto visualizará todas las líneas que no contienen la palabra bubble en el archivo sort.c.
Para que en la salida del mandato ls se visualicen las líneas que coinciden con la serie staff, escriba:
ls -l | grep staff
Pulse Intro.
Consulte el mandato grep en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: El mandato sort es sensible a las mayúsculas y las minúsculas y ordena las letras de modo
que las mayúsculas aparezcan antes que las minúsculas (en función del entorno local).
Para que se visualice el contenido ordenado del archivo denominado names, escriba:
sort names
Pulse Intro.
Para que se visualice el contenido de los dos archivos, names y states, escriba:
sort names states
Pulse Intro.
Para sustituir el contenido original del archivo denominado names por su contenido ordenado, escriba:
sort -o names names
Pulse Intro.
Esto sustituye el archivo names por los mismos datos, pero ordenado.
Consulte el mandato sort en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Cuando el mandato diff se ejecuta en archivos normales, y cuando compara archivos de texto de distintos
directorios, el mandato diff indica qué líneas deben cambiarse en los archivos para que sean iguales.
Pulse Intro.
Con ello se visualizarán las diferencias entre los archivos chap1.bak y chap1.
Capítulo 6. Archivos 81
Por ejemplo, para comparar dos archivos de modo que no se tenga en consideración las diferencias
relacionadas con la cantidad de espacios en blanco, escriba:
diff -w prog.c.bak prog.c
Pulse Intro.
Si dos líneas sólo se diferencian en el número de espacios y tabulaciones entre palabras, el mandato diff
-w las considera idénticas.
Consulte el mandato diff en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Cuando se especifican archivos en la línea de mandatos, se imprimirán sus nombres con los recuentos.
Por ejemplo, para que se visualice el número de líneas, de palabras y de bytes del archivo denominado
chap1, escriba:
wc chap1
Pulse Intro.
Con ello se visualiza el número de líneas, palabras y bytes del archivo chap1.
Por ejemplo, para que sólo se visualice el número de bytes y de palabras, escriba:
wc -cw chap*
Pulse Intro.
Esto muestra el número de bytes y palabras de cada archivo cuyo nombre comience por chap y muestra
los totales.
Consulte el mandato wc en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se visualicen las cinco primeras líneas del archivo Test, escriba:
head -5 Test
Pulse Intro.
Consulte el mandato head en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se visualicen las 10 últimas líneas del archivo notes, escriba:
tail notes
Pulse Intro.
Por ejemplo, para especificar el número de líneas desde el cual empezará a leerse a partir del final del
archivo notes, escriba:
tail -20 notes
Pulse Intro.
Por ejemplo, para que se visualice el archivo notes mostrándose una página cada vez, empezando desde
el byte número 200, escriba:
tail -c +200 notes | pg
Pulse Intro.
Por ejemplo, para seguir el crecimiento del archivo denominado accounts, escriba:
tail -f accounts
Pulse Intro.
Con ello se visualizarán las 10 últimas líneas del archivo accounts. El mandato tail sigue visualizando
líneas a medida que se añaden al archivo accounts. La visualización seguirá hasta que pulse la secuencia
de teclas (Control-C) para detenerla.
Consulte el mandato tail en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato tail en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta.
Esto muestra el nombre de inicio de sesión y los campos de nombre de usuario completos del archivo de
contraseñas del sistema. Éstos son los campos primero y quinto (-f1,5) separados por signos de dos
puntos (-d:).
Capítulo 6. Archivos 83
sys:*:3:3::/usr/src:
adm:*:4:4:Administrador del sistema:/var/adm:/usr/bin/sh
pierre:*:200:200:Pierre Harper:/home/pierre:/usr/bin/sh
joan:*:202:200:Joan Brown:/home/joan:/usr/bin/sh
Consulte el mandato cut en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, si tiene un archivo llamado names que contiene el siguiente texto:
rachel
jerry
mark
linda
scott
Pulse Intro.
Esto crea un archivo llamado npd que contiene los datos del archivo names en una columna, el archivo
places en otra columna y el archivo dates en una tercera. Ahora, el archivo npd contiene lo siguiente:
rachel New York February 5
jerry Austin March 13
mark Chicago June 21
linda Boca Raton July 16
scott Seattle November 4
Un carácter de tabulación separa el nombre, el lugar y la fecha en cada línea. Estas columnas no siempre
están alineadas, ya que las tabulaciones están definidas cada octava columna.
Por ejemplo, para separar las columnas que tienen un carácter distinto de una tabulación, escriba:
Pulse Intro.
Esto alterna ! y @ como separadores de columnas. Si los archivos names, places y dates son iguales que
los del ejemplo 1, el archivo npd contiene:
rachel!New York@February 5
jerry!Austin@March 13
mark!Chicago@June 21
linda!Boca Raton@July 16
scott!Seattle@November 4
Por ejemplo, para que el directorio actual se liste en cuatro columnas, escriba:
ls | paste - - - -
Pulse Intro.
Cada guión (-) indica al mandato paste que cree una columna que contenga los datos que se han leído
de la entrada estándar. La primera línea se sitúa en la primera columna, la segunda línea en la segunda
columna, etc.
Consulte el mandato paste en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para que se numeren sólo las líneas que no están en blanco, escriba:
nl chap1
Pulse Intro.
Esto muestra un listado numerado de chap1, numerando únicamente las líneas que no están en blanco de
las secciones del cuerpo.
Con ello se numeran todas las líneas del archivo denominado chap1, incluidas las líneas en blanco.
Consulte el mandato nl en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Si se llama con un parámetro, se eliminan las columnas de cada línea desde la columna especificada
hasta la última columna. Si se llama con dos parámetros, se eliminan las columnas desde la primera
columna especificada hasta la segunda columna especificada.
Capítulo 6. Archivos 85
Por ejemplo, para eliminar las columnas del archivo text.fil, escriba:
colrm 6 < text.fil
Pulse Intro.
Si text.fil contiene:
123456789
Consulte el mandato colrm en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Por ejemplo, el número de inodo 798 contiene una memorándum acerca de las ventas de junio de la
oficina de Omaha. Actualmente, la entrada de directorio para este memorándum es:
Cuando utiliza el mandato pg o cat para ver el contenido de cualquiera de los tres nombres de archivos,
se visualiza la misma información. Si edita el contenido del número de inodo de cualquiera de los tres
nombres de archivos, el contenido de los datos que visualizarán todos los archivos reflejarán los cambios
realizados.
Tipos de enlaces
Los enlaces se crean con el mandato ln. Existen dos tipos de enlaces:
enlace fijo Permite el acceso a los datos de un archivos desde un nombre de archivo nuevo. Los enlaces
fijos garantizan la existencia de un archivo. Cuando se elimina el último enlace fijo, se suprimen
el número de inodo y sus datos. Sólo pueden crearse enlaces fijos entre archivos que se
encuentran en el mismo sistema de archivos.
enlace simbólico Permite el acceso a datos de otros sistemas de archivos desde un nombre de archivo nuevo. El
enlace simbólico es un tipo especial de archivo que contiene un nombre de vía de acceso.
Cuando un proceso encuentra un enlace simbólico, puede que el proceso busque en dicha vía de
acceso. Los enlaces simbólicos no protegen a un archivo para evitar su supresión del sistema de
archivos.
Nota: El usuario que crea un archivo sigue siendo el propietario de ese archivo, con independencia
del número de enlaces creados. Sólo el propietario del archivo o el usuario root pueden establecer la
modalidad de acceso para dicho archivo. Sin embargo, pueden realizarse cambios en el archivo
desde un nombre de archivo enlazado con la modalidad de acceso adecuada.
Un archivo o directorio existirá en tanto que exista un enlace fijo con el número de inodo de ese archivo.
En el largo listado que visualiza el mandato ls -l, se proporciona el número de enlaces con cada archivo y
subdirectorio. El sistema operativo trata todos los enlaces fijos de igual modo independientemente del
enlace que se haya creado primero.
Capítulo 6. Archivos 87
El mandato ln enlaza el archivo que se indica en el parámetro ArchivoOrigen con el archivo que indica el
parámetro ArchivoDestino o con el mismo nombre de archivo de otro directorio que especifique el
parámetro DirectorioDestino. Por omisión, el mandato ln crea enlaces fijos. Para utilizar el mandato ln
para crear enlaces simbólicos, designe el distintivo -s.
Si va a enlazar un archivo con un nombre nuevo, puede listar únicamente un archivo. Si va a enlazar con
un directorio, puede listar más de un archivo.
Nota: No puede enlazar archivos entre distintos sistemas de archivos sin utilizar el distintivo -s.
Por ejemplo, para crear otro enlace con un archivo denominado chap1, escriba:
ln -f chap1 intro
Pulse Intro.
Esto enlaza chap1 con el nuevo nombre, intro. Cuando se utiliza el distintivo -f, se crea el nombre de
archivo intro, si todavía no existe. Si intro existe, el archivo se sustituye por un enlace con chap1. Por lo
tanto, los nombres de archivos chap1 e intro harán referencia al mismo archivo. Los cambios efectuados
a un archivo también aparecen en el otro archivo.
Por ejemplo, para enlazar un archivo denominado index con el mismo nombre en otro directorio
denominado manual, escriba:
ln index manual
Pulse Intro.
Por ejemplo, para enlazar varios archivos con nombres de otro directorio, escriba:
ln chap2 jim/chap3 /home/manual
Pulse Intro.
Esto enlaza chap2 con el nuevo nombre /home/manual/chap2 y jim/chap3 con /home/manual/chap3.
Por ejemplo, para utilizar el mandato ln con caracteres de patrones de coincidencia, escriba:
ln manual/* .
Pulse Intro.
Esto enlaza todos los archivos del directorio manual en el directorio actual, punto (.), recibiendo los
mismos nombres que tienen en el directorio manual.
Pulse Intro.
Pulse Intro.
Consulte el mandato ln en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Consulte el mandato rm en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
“Archivos de DOS”
Archivos de DOS
Este sistema operativo le permite trabajar con archivos de DOS en el sistema. Copie en un disquete los
archivos DOS con los que desee trabajar. Con los mandatos correctos, el sistema puede leer estos
archivos en un directorio del sistema operativo base en el formato correcto y nuevamente en el disquete
en formato DOS.
Capítulo 6. Archivos 89
Nota: Los caracteres de comodín * y ? (asterisco y signo de interrogación) no funcionan con estos
mandatos (aunque sí funcionan con el shell del sistema operativo base). Si no especifica una
extensión de archivo, el nombre de archivo se interpreta como si hubiera especificado una extensión
en blanco.
Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puesto
que el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistema
operativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar los
nombres de los subdirectorios de un nombre de vía de acceso del DOS.
Por ejemplo, para copiar un archivo de texto denominado chap1.doc desde un disquete de DOS en el
sistema de archivos del sistema operativo base, escriba:
dosread -a chap1.doc chap1
Pulse Intro.
Esto copia el archivo de texto de DOS \CHAP1.DOC del dispositivo por omisión /dev/fd0 en el archivo del
sistema operativo base chap1 del directorio actual.
Por ejemplo, para copiar un archivo binario desde un disquete de DOS en el sistema de archivos del
sistema operativo base, escriba:
dosread -D/dev/fd1 /survey/test.dta /home/fran/testdata
Pulse Intro.
Esto copia el archivo de datos de DOS \SURVEY\TEST.DTA de /dev/fd1 en el sistema de archivos del
sistema operativo base /home/fran/testdata.
Consulte el mandato dosread en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puesto
que el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistema
operativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar los
nombres de los subdirectorios de un nombre de vía de acceso del DOS.
Por ejemplo, para copiar un archivo de texto denominado chap1 desde el sistema de archivos del sistema
operativo base en un disquete de DOS, escriba:
Pulse Intro.
Esto copia el archivo del sistema operativo base chap1 del directorio actual en el archivo de texto de DOS
\CHAP1.DOC de /dev/fd0.
Por ejemplo, para copiar un archivo binario denominado /survey/test.dta desde el sistema de archivos
del sistema operativo base en un disquete de DOS, escriba:
doswrite -D/dev/fd1 /home/fran/testdata /survey/test.dta
Pulse Intro.
Esto copia el archivo de datos del sistema operativo base /home/fran/testdata en el archivo de DOS
\SURVEY\TEST.DTA de /dev/fd1.
Consulte el mandato doswrite en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puesto
que el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistema
operativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar los
nombres de los subdirectorios de un nombre de vía de acceso del DOS.
El mandato dosdel convierte los caracteres en minúsculas del nombre del archivo o directorio en
caracteres en mayúsculas antes de comprobar el disco. Puesto que se presupone que todos los nombres
de archivos son nombres completos (no relativos) de vías de acceso, no es necesario añadir la barra
inclinada (/) inicial.
Por ejemplo, para suprimir un archivo de DOS denominado file.ext que está en el dispositivo por
omisión (/dev/fd0), escriba:
dosdel file.ext
Pulse Intro.
Consulte el mandato dosdel en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puesto
que el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistema
operativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar los
nombres de los subdirectorios de un nombre de vía de acceso del DOS.
El mandato dosdir convierte los caracteres en minúsculas del nombre del archivo o directorio en
caracteres en mayúsculas antes de comprobar el disco. Puesto que se presupone que todos los nombres
de archivos son nombres de vías de acceso completos (no relativos), no necesita añadir la barra inclinada
(/ ) inicial.
Capítulo 6. Archivos 91
Por ejemplo, para leer un directorio de los archivos de DOS que se encuentra en /dev/fd0, escriba:
dosdir
Pulse Intro.
Consulte el mandato dosdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Archivos de DOS
dosdel Suprime archivos DOS.
dosdir Lista los archivos DOS del directorio.
dosread Copia archivos de DOS en archivos del Sistema operativo base.
doswrite Copia archivos del Sistema operativo base en archivos de DOS.
Capítulo 6. Archivos 93
94 Guía del usuario del sistema: Sistema operativo y dispositivos
Capítulo 7. Impresoras, trabajos de impresión y colas
Según la impresora de que disponga, puede controlar el aspecto y las características de la salida final. No
es necesario que las impresoras se encuentren en la misma zona que la unidad del sistema y la consola
del sistema. Una impresora puede conectarse directamente a un sistema local o bien un trabajo de
impresión puede enviarse a través de una red a un sistema remoto.
Para gestionar los trabajos de impresión con eficacia, el sistema sitúa cada trabajo en una cola esperando
a que la impresora esté disponible. El sistema puede guardar la salida de uno o más archivos en la cola.
A medida que la impresora genera la salida de un archivo, el sistema procesa el siguiente trabajo de la
cola. Este proceso continúa hasta que se han impreso todos los trabajos de la cola.
La publicación AIX 5L Version 5.1 Guide to Printers and Printing contiene información detallada acerca de
las impresoras, los trabajos de impresión y las colas.
Trabajo de impresión
Un trabajo de impresión es una unidad de trabajo que ha de ejecutarse en una impresora. Un trabajo de
impresión consiste en imprimir uno o más archivos, según cómo se solicite dicho trabajo. El sistema
asigna un número de trabajo exclusivo a cada trabajo que ejecuta.
Cola
La cola es el lugar al que se dirige un trabajo de impresión. Es la parte en formato de líneas organizadas
o stanza del archivo /etc/qconfig cuyo nombre es el nombre de la cola y que apunta al dispositivo de
cola asociado. A continuación se muestra un listado de ejemplo:
Msa1:
device = lp0
En el ejemplo anterior, lp0 es el nombre del dispositivo y el resto de las líneas definen la forma en que se
utilizará el dispositivo.
Nota: Puede existir más de un dispositivo de cola asociado a una única cola.
qdaemon
El qdaemon es un proceso que se ejecuta como proceso en segundo plano y que controla las colas. Por
lo general, se inicia al encenderse el sistema.
Spooler de impresión
El spooler no es específicamente un spooler de trabajos de impresión. En lugar de ello, proporciona una
función de spooling genérica que puede utilizarse para poner en cola diversos tipos de trabajos, incluidos
los trabajos de impresión que se colocan en la cola de una impresora.
El spooler normalmente no sabe qué tipo de trabajo pone en cola. Cuando el administrador del sistema
define una cola de spooler, el programa de spooler de componente de fondo que se ha especificado para
la cola define el objetivo de la cola. Por ejemplo, si el programa de componente de fondo del spooler es el
mandato piobe (el componente de E/S de la impresora), la cola es una cola de impresión. Del mismo
modo, si el programa de componente de fondo de spooler es un compilador, la cola está destinada a
trabajos de compilación. Cuando el mandato qdaemon del spooler selecciona un trabajo de una cola de
spooler, ejecuta el trabajo invocando el programa de componente de fondo que ha especificado el
administrador al definir la cola.
El mandato principal del spooler es el mandato enq. Aunque puede invocar este mandato directamente
para poner en cola un trabajo de impresión, existen tres mandatos de componente frontal definidos para
someter un trabajo de impresión: los mandatos lp, lpr y qprt. Una solicitud de impresión que se ha
emitido con uno de estos mandatos primero pasa al programa enq que, a continuación, coloca la
información acerca del archivo en la cola para que la procese el qdaemon.
Impresora real
Una impresora real es el hardware de impresora que se conecta a una boca serie o paralelo en una
dirección de dispositivo de hardware exclusiva. El controlador de dispositivo de la impresora del kernel se
comunica con el hardware de la impresora y proporciona una interfaz entre el hardware de la impresora y
una impresora virtual, pero no reconoce el concepto de impresoras virtuales.
Impresora virtual
Una impresora virtual es un conjunto de atributos que definen una vista de software específica de una
impresora real. Esta vista de la impresora virtual hace referencia únicamente a la corriente de datos de
Para utilizar los recursos de impresión remota, los nodos individuales deben conectarse a una red
utilizando el protocolo TCP/IP (Protocolo de control de la transmisión/Protocolo Internet) y deben dar
soporte a las aplicaciones TCP/IP que se necesitan.
Requisitos previos
v Para los trabajos de impresión local, la impresora debe estar físicamente conectada al sistema.
v Para los trabajos de impresión remota, el sistema deberá haberse configurado para comunicarse con el
servidor de impresión remoto.
Mandato qprt
El mandato qprt crea y pone en cola un trabajo de impresión para imprimir el archivo que se especifica.
Si especifica más de un archivo, todos los archivos forman un trabajo de impresión. Estos archivos se
imprimen en el orden especificado en la línea de mandatos.
Para poder imprimir un archivo, previamente debe tener acceso de lectura sobre el mismo. Para eliminar
un archivo después de imprimirlo, debe tener acceso de grabación sobre el directorio que contiene el
archivo.
-b Número Especifica el margen inferior. El margen inferior es el número de líneas en blanco que
se dejan al final de cada página.
-B Valor Especifica si deben imprimirse páginas de separación (páginas continuas separadas
en perforaciones). La variable Valor se compone de una serie de dos caracteres. El
primer carácter se aplica a páginas de cabecera. El segundo carácter se aplica a
páginas finales. Cada uno de los dos caracteres puede ser uno de los siguientes:
a Imprime siempre la página (de cabecera o final) de cada archivo en cada
trabajo de impresión.
n Nunca imprime la página (de cabecera o final).
g Imprime la página (de cabecera o final) una vez por cada trabajo de
impresión (grupo de archivos).
Por ejemplo, para solicitar que el archivo myfile se imprima en la primera impresora disponible
configurada para la cola de impresión por omisión utilizando valores por omisión, escriba:
qprt myfile
Por ejemplo, para solicitar que el archivo somefile se imprima en una cola específica utilizando valores de
distintivos específicos y para validar los valores de los distintivos en el momento en que se somete el
trabajo de impresión, escriba:
qprt -f p -e + -Pfastest -# v somefile
Esta acción pasa al archivo somefile por el mandato de filtro pr (el distintivo -f p) y lo imprime utilizando
la modalidad enfatizada (el distintivo -e +) en la primera impresora disponible configurada para la cola
denominada fastest (el distintivo -Pfastest).
Por ejemplo, para imprimir tres copias de cada uno de los archivos, new.index.c, print.index.c y more.c,
en la cola de impresión Msp1, escriba:
qprt -PMsp1 -N 3 new.index.c print.index.c more.c
Por ejemplo, para imprimir tres copias de la concatenación de tres archivos, new.index.c, print.index.c y
more.c, escriba:
cat new.index.c print.index.c more.c | qprt -PMsp1 -N 3
Nota: Este sistema operativo también da soporte al mandato de impresión de UNIX de BSD (lpr) y
al mandato de impresión de UNIX de System V (lp). Consulte los mandatos lpr y lp en la
publicación AIX 5L Version 5.1 Commands Reference para conocer la sintaxis exacta.
Consulte el mandato qprt en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato smit
También puede emitir el mandato qprt con smit. En el indicador de mandatos, escriba:
smit qprt
Requisitos previos
v Para trabajos de impresión local, la impresora debe estar conectada físicamente al sistema.
v Para trabajos de impresión remota, el sistema debe estar configurado para comunicarse con el servidor
remoto de impresión.
Mandato qcan
El mandato qcan cancela un número de trabajo en particular de una cola de impresión local o remota o
bien todos los trabajos de una cola de impresión local. Para determinar el número de trabajo, escriba el
mandato qchk.
Consulte el mandato qcan en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para cancelar el trabajo número 123 en cualquier impresora en la que se encuentre el
trabajo, escriba:
qcan -x 123
Por ejemplo, para cancelar todos los trabajos que están en la cola de la impresora lp0, escriba:
qcan -X -Plp0
Mandato smit
Para cancelar un trabajo de impresión utilizando SMIT, escriba:
smit qcan
Requisitos previos
v Para trabajos de impresión local, la impresora debe estar conectada físicamente al sistema.
v Para trabajos de impresión remota, el sistema debe estar configurado para comunicarse con el servidor
remoto de impresión.
Mandato qchk
El mandato qchk visualiza la información de estado actual relacionada con los trabajos de impresión,
colas de impresión o usuarios especificados.
Consulte el mandato qchk en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para visualizar el estado de varias horas de todas las colas hasta el estado vacío, a la vez
que se actualiza la pantalla cada 5 segundos, escriba:
qchk -A -L -w 5
Por ejemplo, para visualizar el estado del número de trabajo 123, escriba:
qchk -# 123
Por ejemplo, para comprobar el estado de todos los trabajos de todas las colas, escriba:
qchk -A
Mandato smit
Para comprobar el estado del trabajo de impresión utilizando SMIT, escriba:
smit qchk
Para realizar la recuperación de un estado DEV_BUSY, espere hasta que la cola o la aplicación
haya liberado el dispositivo de impresora o cancele el trabajo o el proceso que está utilizando la
boca de impresión.
DEV_WAIT Indica que la cola está esperando a la impresora, porque ésta está fuera de línea, no tiene
papel, está atascada, el cable está suelto, deteriorado o enchufado incorrectamente.
Para realizar la recuperación de un estado DEV_WAIT, corrija el problema que ha dado lugar a
la espera. Algunas veces, tienen que eliminarse los trabajos de la cola para que el problema
pueda solucionarse.
Una cola que experimente un estado DEV_WAIT durante un tiempo superior al del número de
segundos definido, entrará en estado DOWN.
DOWN Por lo general, una cola entrará en estado DOWN tras haber experimentado el estado
DEV_WAIT. Esta situación se produce cuando el controlador de dispositivo de impresora no
puede indicar si la impresora está en dicho estado debido a la ausencia de señalización
correcta. Sin embargo, puede que algunas impresoras no sean capaces de enviar una señal al
sistema de colas para indicarle que está fuera de línea y, en lugar de ello, envían una señal
indicando que están apagadas. Si el dispositivo de impresora envía una señal indicando que
está apagado, o parece estar apagado, la cola entrará en estado DOWN.
Para realizar la recuperación de un estado DOWN, corrija el problema que ha dado lugar a que
la impresora entrara en estado de inactividad y solicite al administrador que vuelva a establecer
la cola en estado de actividad. Debe activarse manualmente la cola para poder volver a
utilizarla.
HELD Especifica que se retiene un trabajo de impresión. El spooler no procesará el trabajo de
impresión hasta que se libere.
QUEUED Especifica que se pone en cola un archivo de impresión y que está esperando en línea a
imprimirse.
READY Especifica que todos los elementos implicados con la cola están preparados para ponerse en
cola e imprimir un trabajo.
RUNNING Especifica que está imprimiéndose un archivo de impresión.
Requisitos previos
v Para los trabajos de impresión local, la impresora debe estar físicamente conectada al sistema.
Mandato qpri
El mandato qpri vuelve a asignar la prioridad de un trabajo de impresión que ha sometido. Si tiene
autorización de usuario root o pertenece al grupo printq, puede asignar prioridad a cualquier trabajo
mientras está en la cola de impresión.
Por ejemplo, para cambiar el trabajo número 123 para que tenga la prioridad número 18, escriba:
qpri -# 123 -a 18
Por ejemplo, para asignar prioridad a un trabajo de impresión local como si se hubiera sometido, escriba:
qprt -PNombreCola -R NivelPrioridad NombreArchivo
Consulte el mandato qpri en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato smit
Para cambiar la prioridad de un trabajo de impresión utilizando SMIT, escriba:
smit qpri
Requisitos previos
v Para trabajos de impresión local, la impresora debe estar conectada físicamente al sistema.
v Para trabajos de impresión remota, el sistema debe estar configurado para comunicarse con el servidor
remoto de impresión.
Mandato qhld
El mandato qhld retiene un trabajo de impresión después de haberse enviado. Puede situar un trabajo de
impresión determinado en estado retenido o bien puede retener todos los trabajos de impresión en una
cola de impresión especificada. Para determinar el número del trabajo de impresión, escriba el mandato
qchk (consulte el apartado “Comprobación del estado del trabajo de impresión (mandato qchk)” en la
página 101).
Consulte el mandato qhld en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para retener el trabajo número 452, sea cual sea la cola de impresión en la que se encuentra
el trabajo, escriba:
qhld -#452
Por ejemplo, para retener todos los trabajos de impresión en cola que están en la cola de impresión hp2,
escriba:
qhld -Php2
Para liberar el trabajo número 452, sea cual sea la cola de impresión en la que se encuentra el trabajo,
escriba:
qhld -#452 -r
Para liberar todos los trabajos en cola que se encuentran en la cola de impresión hp2, escriba:
qhld -Php2 -r
Mandato smit
Para retener o liberar un trabajo de impresión utilizando SMIT, escriba:
smit qhld
Requisitos previos
v Para trabajos de impresión local, la impresora debe estar conectada físicamente al sistema.
v Para trabajos de impresión remota, el sistema debe estar configurado para comunicarse con el servidor
remoto de impresión.
Mandato qmov
El mandato qmov mueve un trabajo de impresión a otra cola de impresión. Puede mover un trabajo de
impresión determinado o mover todos los trabajos de impresión de una cola de impresión especificada o
bien todos los trabajos de impresión enviados por un usuario especificado. Para determinar el número del
trabajo de impresión, escriba el mandato qchk.
Consulte el mandato qmov en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para mover el trabajo número 280 a la cola de impresión hp2, escriba:
qmov -mhp2 -#280
Mandato smit
Para mover un trabajo de impresión utilizando SMIT, escriba:
smit qmov
A continuación se indican algunos de los distintivos más útiles del mandato pr:
Por ejemplo, para imprimir un archivo denominado prog.c con cabeceras y números de páginas en la
impresora, escriba:
pr prog.c | qprt
Pulse Intro.
Por ejemplo, para especificar un título para un archivo denominado prog.c, escriba:
pr -h "PROGRAMA PRINCIPAL" prog.c | qprt
Pulse Intro.
Ello imprimirá prog.c con el título PROGRAMA PRINCIPAL en lugar del nombre del archivo. Siguen
imprimiéndose la fecha de modificación y el número de página.
Por ejemplo, para imprimir un archivo denominado word.lst en varias columnas, escriba:
pr -3 word.lst | qprt
Pulse Intro.
Por ejemplo, para imprimir varios archivos, uno junto a otro, en papel:
pr -m -h "Miembros y visitantes" member.lst visitor.lst | qprt
Esto imprimirá member.lst y visitor.lst uno junto a otro, con el título Miembros y visitantes.
Por ejemplo, para modificar un archivo denominado prog.c con el fin de utilizarlo posteriormente, escriba:
pr -t -e prog.c > prog.notab.c
Pulse Intro.
Esto sustituirá los caracteres de tabulación de prog.c por espacios y colocará el resultado en
prog.notab.c. Las posiciones de tabulación están en las columnas 9, 17, 25, 33, etc. El distintivo -e indica
al mandato pr que sustituya los caracteres de tabulación; el distintivo -t suprime las cabeceras de página.
Por ejemplo, para imprimir un archivo denominado myfile a dos columnas, apaisado y en texto de 7
puntos, escriba:
pr -l66 -w172 -2 myfile | qprt -z1 -p7
Pulse Intro.
Consulte el mandato pr en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Requisitos previos
v La impresora debe estar físicamente conectada al sistema.
v La impresora debe estar configurada y definida.
v Debe haberse instalado la parte transcripción de los Servicios de formateo de texto.
Por ejemplo, para enviar el archivo ASCII myfile.ascii a la impresora PostScript denominada Msps1,
escriba:
qprt -da -PMsps1 myfile.ascii
Pulse Intro.
Por ejemplo, para enviar el archivo ASCII myfile.ascii a la impresora PostScript denominada Msps1 e
imprimirlo en font Helvetica, escriba:
qprt -da -PMsps1 -sHelvetica myfile.ascii
Pulse Intro.
Por ejemplo, para enviar el archivo ASCII myfile.ascii a la impresora PostScript denominada Msps1 e
imprimirlo en cuerpo 9, escriba:
qprt -da -PMsps1 -p9 myfile.ascii
Pulse Intro.
Pulse Intro.
2. Escriba el nombre de la cola PostScript o bien utilice la función Lista para seleccionar una de la lista
de colas.
3. Seleccione la opción de menú Configuración de impresora.
4. Cambie el valor del campo ¿Debe efectuarse detección AUTOMÁTICA de TIPO de archivo de
impresión? de modo que se especifica yes.
Cualquiera de los siguientes mandatos puede ahora convertir un archivo ASCII en un archivo PostScript e
imprimirlo en una impresora PostScript. Para convertir myfile.ascii, debe escribir cualquiera de los
siguientes mandatos en la línea de mandatos:
qprt -Pps myfile.ps myfile.ascii
lpr -Pps myfile.ps myfile.ascii
lp -dps myfile.ps myfile.acsii
Por ejemplo, para imprimir un archivo PostScript denominado myfile.ps que no empieza por %!, escriba
lo siguiente en la línea de mandatos:
qprt -ds -Pps myfile.ps
Por ejemplo, para imprimir el listado fuente de un archivo PostScript denominado myfile.ps que empieza
por %!, escriba lo siguiente en la línea de mandatos:
qprt -da -Pps myfile.ps
Información relacionada
“Visión general de los mandatos” en la página 22
Información relacionada
“Visión general de los mandatos” en la página 22
Nota: Cuando un disco duro se estropea, la información que contiene ese disco se destruye. La
única forma de recuperar los datos destruidos es recuperar la información a partir de la copia de
seguridad.
Existen varios métodos de hacer las copias de seguridad. El método más frecuente es hacer copias de
seguridad periódicas, es decir, una copia del sistema de archivos, de los directorios o de los archivos que
se guardan para una transferencia de archivos o en el caso de que se modifiquen o se borren
accidentalmente los datos originales. Otro método de hacer copias de seguridad es la copia de seguridad
de archivador; este método se utiliza para copiar uno o más archivos o una base de datos entera que se
guarda para consultas posteriores, objetivos de recopilación histórica o de recuperación si se dañan o se
pierden los datos originales. Normalmente, un archivador se utiliza cuando se eliminan dichos datos
específicos del sistema.
¿Puede seguir funcionando el sistema si falla alguno de los discos duros? ¿Puede restaurar el sistema si
fallan todos los discos duros? ¿Podría restablecer el sistema si perdiera los disquetes o cintas de
seguridad por incendio o robo? Aunque estos supuestos no son probables, algunos de ellos son posibles.
Estudie cada una de estas posibles pérdidas y diseñe una política de copias de seguridad que le permita
realizar la recuperación del sistema tras producirse cualquiera de ellas.
El medio de las copias de seguridad y su hardware puede no ser fiable. Una enorme biblioteca de cintas
o disquetes de seguridad es inútil si no pueden leerse los datos o volver a grabarlos en un disco duro.
Para asegurarse de que las copias de seguridad están en perfecto estado de utilización, intente visualizar
la tabla de contenido de la cinta de la copia de seguridad periódicamente (utilizando restore -T o tar -t
para las cintas de archivador). Si utiliza disquetes para las copias de seguridad y tiene más de una
disquetera, pruebe a leer los disquetes en otra disquetera distinta. Puede que también desee asegurarse
y repetir cada copia de seguridad del nivel 0 empleando un segundo juego de disquetes. Si para las
copias de seguridad utiliza un dispositivo de cintas en modalidad continua, puede utilizar el mandato
tapechk para realizar comprobaciones de coherencia básicas en la cinta.
Desarrolle un plan cíclico regular de reutilización de los soportes de las copias de seguridad; sin embargo,
no vuelva a utilizar todos los soportes de las copias de seguridad. A veces, pueden transcurrir varios
meses hasta que el propio usuario o bien otro usuario del sistema advierte que falta o que está dañado
un archivo importante. Ante esta posibilidad, se recomienda guardar las copias de seguridad antiguas. Por
ejemplo, podría planificar los siguientes tres ciclos de cintas o disquetes de copias de seguridad:
v Una vez por semana, reciclar todos los disquetes empleados a diario, excepto el del viernes.
v Una vez por mes, reciclar todos los disquetes del viernes excepto el del último viernes del mes. Con
ello, las cuatro últimas copias de seguridad de los viernes siempre estarán disponibles.
v Una vez por trimestre, reciclar todos los disquetes mensualmente a excepción del último. Conserve el
último disquete mensual de cada trimestre indefinidamente, quizás en un edifico distinto.
Puede que la copia de seguridad que se ha realizado de un sistema de archivos dañado no sea útil.
Antes de realizar las copias de seguridad, se recomienda comprobar la integridad del sistema de archivos
ejecutando el mandato fsck.
Asegúrese de que los archivos no estén utilizándose durante la realización de una copia de
seguridad.
Asegúrese de que el sistema no esté utilizándose cuando se realizan las copias de seguridad. Si el
sistema está en uso, los archivos pueden cambiar mientras está realizándose la copia de seguridad de
éstos y, por lo tanto, la copia de seguridad no será precisa.
Realice una copia de seguridad del sistema antes de realizar cambios importantes en éste.
Realice una copia de seguridad de todo el sistema antes de llevar a cabo cualquier prueba de hardware o
trabajo de reparación o bien antes de instalar nuevos dispositivos, programas u otras características del
sistema.
Otros factores
Cualquiera que sea la estrategia de copias de seguridad de su entorno, es muy importante que exista.
Realice copias de seguridad frecuentemente y a intervalos regulares. La recuperación de una pérdida de
datos es muy difícil si no se ha implementado una buena estrategia de copias de seguridad.
Atención: La ejecución del mandato backup da lugar a la pérdida de todo el material anteriormente
almacenado en el soporte de salida seleccionado.
Disquetes
Los disquetes son el medio de copias de seguridad estándar. A menos que especifique un dispositivo
distinto mediante el mandato backup -f, el mandato backup graba automáticamente la salida en el
dispositivo /dev/rfd0, que es la unidad de disquetes. Para realizar la copia de seguridad en el dispositivo
de cintas por omisión, escriba /dev/rmt0 y pulse Intro.
Sea cuidadoso con los disquetes. Puesto que cada unidad de información ocupa una pequeña zona del
disquete, las pequeñas motas, polvo o partículas de tabaco pueden dejar la información inutilizable.
Asegúrese de recordar lo siguiente:
v No toque las superficies de grabación.
v Mantenga los disquetes alejados de imanes y de fuentes que generen campos magnéticos como, por
ejemplo, los teléfonos, el equipo para el dictado y las calculadoras electrónicas.
v Mantenga los disquetes lejos de temperaturas extremas. La temperatura recomendada oscila entre los
10 y los 60 grados Celsius (entre 50 y 140 grados Fahrenheit).
v Un manejo correcto ayuda a evitar la pérdida de información.
v Realice copias de seguridad de los disquetes con regularidad.
Atención: Las unidades de disquetes y los disquetes deben corresponder al tipo correcto para que
el almacenamiento de los datos sea satisfactorio. Si utiliza un disquete incorrecto en la unidad de
disquetes de 3,5 pulgadas, los datos del disquete podrían destruirse.
La unidad de disquetes utiliza los disquetes de 3,5 pulgadas que se indican a continuación:
v Disquetes de 1 MB de capacidad (almacenan 720 KB de datos aproximadamente)
v Disquetes de 2 MB de capacidad (almacenan 1,44 MB de datos aproximadamente).
Cintas
Las cintas son muy adecuadas para ciertas tareas debido a su gran capacidad y duración. Suelen
elegirse para almacenar grandes archivos o muchos archivos, por ejemplo copias de archivador o
Los archivos de cinta se crean utilizando mandatos como backup, cpio y tar, que abren una unidad de
cintas, graban en ella y la cierran.
Puede formatear disquetes en la unidad de disquetes que especifica el parámetro Dispositivo (el
dispositivo por omisión es /dev/rfd0) con los mandatos format y fdformat. El mandato format determina
el tipo de dispositivo, que puede ser uno de los siguientes:
v Disquete de 5,25 pulgadas de baja densidad (360 KB), que contiene 40x2 pistas, cada una de las
cuales tiene 9 sectores
v Disquete de 5,25 pulgadas de gran capacidad (1,2 MB), que contiene 80x2 pistas, cada una de las
cuales tiene 15 sectores
v Disquete de 3,5 pulgadas de baja densidad (720 KB) que contiene 80x2 pistas, con 9 sectores cada
pista
v Disquete de 3,5 pulgadas de gran capacidad (2,88 MB), que contiene 80x2 pistas, cada una de las
cuales tiene 36 sectores.
El mandato format formatea un disquete para alta densidad, a menos que el parámetro Dispositivo
especifique una densidad distinta.
El mandato fdformat formatea un disquete para baja densidad, a menos que se especifique el distintivo
-h . El parámetro Dispositivo especifica la unidad que contiene el disquete que va a formatearse (como,
por ejemplo, el dispositivo /dev/rfd0, al que corresponde la unidad 0).
Antes de formatear un disquete, los mandatos format y fdformat solicitan que se verifique la acción. Esto
le permite finalizar la operación limpiamente si es necesario.
Pulse Intro.
Por ejemplo, para formatear un disquete sin que se compruebe si existen pistas con errores, escriba:
format -f
Pulse Intro.
Por ejemplo, para formatear un disquete de 360 KB en una unidad de disquetes de 5,25 pulgadas y 1,2
MB en el dispositivo /dev/rfd1, escriba:
format -l -d /dev/rfd1
Pulse Intro.
Por ejemplo, para forzar el formateo de alta densidad de un disquete cuando se utiliza el mandato
fdformat, escriba:
fdformat -h
Consulte el mandato format en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Atención: Ejecute siempre el mandato fsck después de haberse producido una disfunción en el
sistema. Las acciones de corrección puede dar como resultado la pérdida de algunos datos. La
acción por omisión para cada corrección de la coherencia es esperar a que el operador especifique
yes o no. Si no dispone de permiso de grabación para un archivo afectado, el mandato fsck tomará
por omisión la respuesta no en lugar de procesar la respuesta afirmativa real que haya podido
especificar el usuario.
Por ejemplo, para comprobar todos los sistemas de archivos por omisión, escriba:
fsck
Pulse Intro.
Esta forma del mandato fsck le solicita permiso antes de realizar un cambio en un sistema de archivos.
Por ejemplo, para solucionar automáticamente los problemas menores que podrían haberse detectado en
los sistemas de archivos por omisión, escriba:
fsck -p
Pulse Intro.
Pulse Intro.
Ello comprueba el sistema de archivos sin montar que se encuentra en el dispositivo /dev/hd1.
Consulte el mandato fsck en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para copiar /dev/rfd1 en el archivo floppy del directorio actual, escriba:
flcopy -f /dev/rfd1 -r
Pulse Intro.
Por ejemplo, para copiar las 100 primeras pistas del disquete, escriba:
flcopy -f /dev/rfd1 -t 100
Pulse Intro.
Consulte el mandato flcopy en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para copiar en un disquete los archivos del directorio actual cuyos nombres acaban en .c,
escriba:
ls *.c | cpio -ov >/dev/rfd0
Pulse Intro.
Por ejemplo, para copiar el directorio actual y todos los subdirectorios en disquete, escriba:
find . -print | cpio -ov >/dev/rfd0
Pulse Intro.
Esto guarda el árbol de directorios que empieza por el directorio actual (.) e incluye todos los
subdirectorios y archivos. Esta operación puede realizarse rápidamente escribiendo:
find . -cpio /dev/rfd0 -print
Pulse Intro.
La entrada -print visualiza el nombre de cada archivo a medida que éste se copia.
Consulte el mandato cpio en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: Los patrones ″*.c″ y ″*.o″ deben especificarse entre comillas para evitar que el shell
interprete que el asterisco (*) es un carácter de coincidencia de patrón. Se trata de un caso especial
en el que el propio mandato cpio descodifica los caracteres de patrones de coincidencia.
Por ejemplo, para que se listen los archivos que se han guardado en un disquete con el mandato cpio,
escriba:
cpio -itv </dev/rfd0
Pulse Intro.
Con ello se visualiza la tabla de contenido de los datos anteriormente guardados en el archivo /dev/rfd0
en el formato del mandato cpio. El listado es parecido al largo listado de directorios que genera el
mandato ls -l. Para listar únicamente los nombres de vías de acceso, utilice solamente los distintivos -it.
Por ejemplo, para copiar los archivos anteriormente guardados con el mandato cpio desde un disquete,
escriba:
cpio -idmv </dev/rfd0
Pulse Intro.
Esto copiará los archivos que anteriormente se habían guardado en el archivo /dev/rfd0 mediante el
mandato cpio nuevamente en el sistema de archivos (especifique el distintivo -i). El distintivo -d permite
al mandato cpio crear los directorios apropiados si se guarda un árbol de directorios.El distintivo -m
conserva la hora de la última modificación que tenía aplicación en el momento de guardarse los archivos.
El distintivo -v da lugar a que el mandato cpio visualice el nombre de cada archivo a medida que éste se
copia.
Pulse Intro.
Consulte el mandato cpio en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta.
Por ejemplo, para copiar desde una cinta de modalidad continua en una cinta de 9 pistas, escriba:
tcopy /dev/rmt0 /dev/rmt8
Pulse Intro.
Por ejemplo, para comprobar los tres primeros archivos de un dispositivo de cintas de modalidad
continua, escriba:
tapechk 3
Pulse Intro.
Consulte el mandato tapechk en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Existen muchas razones para comprimir archivos, pero generalmente entran en dos categorías:
v Ahorrar almacenamiento y archivar los recursos del sistema:
– Comprima sistemas de archivos antes de efectuar copias de seguridad para mantener el espacio de
las cintas.
– Comprima los archivos de anotaciones creados por scripts de shell que se ejecutan de noche; es
fácil comprimir el archivo mediante los scripts antes de salir.
– Comprima los archivos a los que no esté accediéndose actualmente. Por ejemplo, pueden
comprimirse los archivos que pertenecen a un usuario que se ha ausentado por un período de
tiempo prolongado y colocarlos en un archivador tar en disco o en cinta y restaurarlos
posteriormente.
v Ahorrar dinero y tiempo comprimiendo los archivos antes de enviarlos a través de una red.
Notas:
1. Durante la compresión, puede que el mandato se quede sin suficiente espacio de trabajo en el
sistema de archivos. El mandato compress crea los archivos comprimidos antes de suprimir
los archivos descomprimidos, por lo tanto, necesita aproximadamente un 50% más de espacio
que el tamaño total de los archivos.
2. Puede que un archivo no pueda comprimirse porque ya está comprimido. Si el mandato
compress no puede reducir los tamaños de los archivos, no se ejecutará satisfactoriamente.
Los archivos comprimidos pueden restaurarse a su tamaño original utilizando el mandato uncompress.
La cantidad de compresión depende del tamaño de la entrada, del número de bits por código que
especifique la variable Bits y de la distribución de las subseries comunes. Normalmente, el código fuente
de texto inglés se reduce entre un 50 y un 60 por ciento. La compresión del mandato compress es
generalmente más compacta y tarda menos tiempo en calcularse que la compresión conseguida por el
mandato pack, que utiliza codificación Huffman adaptadora.
Por ejemplo, para comprimir el archivo foo y grabar el porcentaje de compresión en el error estándar,
escriba:
compress -v foo
Pulse Intro.
Consulte el mandato compress en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Mandato pack
El mandato pack almacena el archivo o archivos que especifica el parámetro Archivo en un formato
comprimido utilizando la codificación Huffman. El archivo de entrada se sustituye por un archivo
empaquetado cuyo nombre se toma del nombre del archivo original (Archivo.z), con las mismas
modalidades de acceso, fechas de acceso y modificación y propietario que el archivo original. El nombre
del archivo de entrada no puede contener más de 253 bytes para que exista espacio para añadir el sufijo
.z. Si el mandato pack se ejecuta satisfactoriamente, el archivo original se elimina. Los archivos
empaquetados pueden restaurarse a su formato original utilizando el mandato unpack.
Si el mandato pack no puede crear un archivo más pequeño, detiene el proceso e informa de su
imposibilidad de ahorrar espacio. (Generalmente, se produce una imposibilidad de ahorrar espacio con
pequeños archivos o archivos con distribución de caracteres uniforme). La cantidad de espacio ahorrado
dependerá del tamaño del archivo de entrada y de la distribución de frecuencia de caracteres. Puesto que
el árbol de descodificación forma la primera parte de cada archivo .z, no ahorrará espacio con los
archivos que tengan menos de tres bloques. Normalmente, los archivos de texto se reduce entre un 25 y
un 40 por ciento.
El valor de salida del mandato pack es el número de archivos que no ha podido empaquetar. El
empaquetado no se efectúa en ninguna de estas condiciones:
v El archivo ya está empaquetado.
v El nombre del archivo de entrada tiene más de 253 bytes.
v El archivo tiene enlaces.
v El archivo es un directorio.
v El archivo no puede abrirse.
v El empaquetado no guarda bloques de almacenamiento.
v Ya existe un archivo llamado Archivo.z.
v El archivo .z no puede crearse.
v Se produjo un error de E/S durante el proceso.
Pulse Intro.
Ello comprimirá chap1 y chap2, sustituyéndolos por los archivos denominados chap1.z y chap2.z. El
mandato pack visualiza el porcentaje de reducción del tamaño de cada archivo.
Consulte el mandato pack en la publicación AIX 5L Version 5.1 Commands Reference para obtener
información y conocer la sintaxis exacta.
Mandato uncompress
El mandato uncompress restablece archivos originales que se han comprimido con el mandato
compress. Cada archivo comprimido que especifica la variable Archivo se elimina y se sustituye por una
copia ampliada. El archivo expandido tiene el mismo nombre que la versión comprimida, pero sin la
extensión .Z. El archivo expandido conserva el mismo propietario, modalidades y horas de acceso y
modificación que el archivos original. Si no se especifica ningún archivo, la entrada estándar se expande
en la salida estándar.
Aunque es parecido al mandato uncompress, el mandato zcat siempre graba la salida expandida en la
salida estándar.
Pulse Intro.
Consulte el mandato uncompress en la publicación AIX 5L Version 5.1 Commands Reference para
conocer la sintaxis exacta.
Mandato unpack
El mandato unpack expande los archivos que se han creado con el mandato pack. Para cada archivo
especificado, el mandato unpack busca un archivo denominado Archivo.z. Si este archivo es un archivo
empaquetado, el mandato unpack lo sustituye por su versión expandida. El mandato unpack cambia el
nombre del nuevo archivo eliminando el sufijo .z de Archivo. El nuevo archivo tiene las mismas
modalidades de acceso, fechas de acceso y modificación y propietario que el archivo empaquetado
original.
El mandato unpack sólo funciona con archivos que acaban en .z. Como resultado de ello, cuando
especifica un nombre de archivo que no acaba en .z, el mandato unpack añade el sufijo y busca en el
directorio un nombre de archivo que tenga ese sufijo.
Nota: El mandato unpack graba un aviso en el error estándar si el archivo que está
desempaquetando tiene enlaces. El nuevo archivo desempaquetado tiene un número de inodo
distinto del archivo empaquetado a partir del que se ha creado. Sin embargo, cualquiera de los
otros archivos enlazados con el número de inodo original del archivo empaquetado siguen
existiendo y siguen estando empaquetados.
Por ejemplo, para desempaquetar los archivos empaquetados chap1.z y chap2, escriba:
unpack chap1.z chap2
Pulse Intro.
Esto expande los archivos empaquetados chap1.z y chap2.z y los sustituye por los archivos denominados
chap1 y chap2. Tenga en cuenta que con el mandato unpack puede especificar nombres de archivos que
tengan o que no tengan el sufijo .z.
Consulte el mandato unpack en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Puede crear copias de los archivos en un soporte de copia de seguridad como, por ejemplo, una cinta
magnética o un disquete, con el “Mandato backup” o bien el “Mandato smit” en la página 122. Las
copia estarán en uno de los siguientes formatos de copia de seguridad:
v Archivos específicos con copia de seguridad por nombre, utilizando el distintivo -i.
v Sistema de archivos completo cuya copia de seguridad se realiza por número de inodo, utilizando los
parámetros -Nivel y SistemaArchivos.
Notas:
1. Siempre existe la posibilidad de que los datos se dañen cuando se modifica un archivo
durante la copia de seguridad del sistema. Por lo tanto, la actividad del sistema debe estar al
mínimo durante el procedimiento de copia de seguridad del sistema.
2. Si la copia de seguridad se realiza en una cinta de 8 mm con el tamaño de bloque de
dispositivo establecido en 0 (cero), no será posible restaurar directamente desde la cinta. Si
ha realizado copias de seguridad con el valor establecido en 0, podrá efectuar la restauración
a partir de éstas utilizando los procedimientos especiales que se describen en el mandato
restore.
Atención: Asegúrese de que los distintivos que especifique coincidan con el soporte de copia de
seguridad utilizado. Además, si intenta realizar la copia de seguridad de un sistema de archivos
montado, podrían producirse incoherencias.
Mandato backup
Por ejemplo, para realizar la copia de seguridad de los archivos seleccionados en el directorio $HOME por
nombre, escriba:
find $HOME -print | backup -i -v
El distintivo -i solicita al sistema que lea en la salida estándar los nombres de los archivos cuya copia de
seguridad va a realizarse. El mandato find genera una lista de archivos en el directorio $HOME del
usuario. Esta lista se interconecta con el mandato backup como entrada estándar. El distintivo -v
visualiza un informe de progreso a medida que se copia cada archivo. Se hace copia de seguridad de los
archivos en el dispositivo de seguridad por omisión para el sistema local.
Por ejemplo, para realizar la copia de seguridad del sistema de archivos raíz, escriba:
backup -0 -u /
Pulse Intro.
El nivel 0 y la barra inclinada / indican al sistema que realice la copia de seguridad del sistema de
archivos / (root). La copia de seguridad del sistema de archivos se realiza en el archivo /dev/rfd0. El
distintivo -u indica al sistema que actualice el registro de nivel de copia de seguridad actual en el archivo
/etc/dumpdates.
Por ejemplo, para realizar la copia de seguridad de todos los archivos del sistema de archivos / (root) que
se han modificado desde la última copia de seguridad del nivel 0, escriba:
backup -1 -u /
Pulse Intro.
Consulte el mandato backup en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Mandato smit
El mandato backup también puede ejecutarse mediante smit.
1. En el indicador de mandatos, escriba:
smit backup
Pulse Intro.
2. Escriba el nombre de la vía de acceso del directorio en el que suele estar montado el sistema de
archivos en el campo del nombre completo de la vía de acceso del directorio (DIRECTORY):
/home/bill
Pulse Intro.
3. En los campos que corresponden al dispositivo de copia de seguridad (BACKUP) o al archivo (FILE),
escriba el nombre del dispositivo de salida como se indica en el siguiente ejemplo si se utiliza un
dispositivo de cintas magnéticas sin filtrar:
/dev/rmt0
Pulse Intro.
4. Utilice el tabulador para conmutar la activación y desactivación de la generación opcional de un
informe de cada fase (REPORT each phase) del campo de copia de seguridad si desea que se
impriman mensajes de error en la pantalla.
5. En un entorno de gestión de sistemas, utilice el valor por omisión para el número máximo (MAX) de
bloques que han de grabarse en el campo del soporte de copia de seguridad, ya que este campo no
se aplica a las copias de seguridad en cinta.
6. Pulse Intro para realizar la copia de seguridad del directorio o del sistema de archivos indicado.
Notas:
1. Los archivos deben restaurarse utilizando el mismo método que el que se utilizó para realizar la
copia de seguridad. Por ejemplo, si se ha hecho copia de seguridad de un sistema de archivos
por nombre, debe restaurarse por nombre.
2. Cuando se necesita más de un disquete, el mandato restore lee el que está montado, solicita
uno nuevo y espera la respuesta del usuario. Después de insertar el nuevo disquete, pulse la
tecla Intro para seguir restaurando archivos.
Mandato restore
Por ejemplo, para que se listen los nombres de los archivos de los que anteriormente se ha realizado una
copia de seguridad, escriba:
restore -T
Pulse Intro.
La información se lee del dispositivo de copia de seguridad por omisión /dev/rfd0. Si se ha hecho copia
de seguridad de archivos individuales, únicamente se mostrarán los nombres de los archivos. Si se ha
hecho copia de seguridad de un sistema de archivos entero, también se muestra el número de inodo.
Pulse Intro.
El distintivo -x extrae todos los archivos del soporte de copia de seguridad y los restaura en el lugar
correcto del sistema de archivos. El distintivo -v visualiza un informe de progreso a medida que va
restaurándose cada archivo. Si está restaurándose la copia de seguridad de un sistema de archivos, los
archivos se indican con sus números de inodo. De lo contrario, sólo se visualizan los nombres.
Pulse Intro.
Este mandato extrae el archivo /home/mike/manual/chap1 del soporte de copia de seguridad y lo restaura.
El archivo /home/mike/manual/chap1 debe tener un nombre que pueda visualizarse mediante el mandato
restore -T.
Por ejemplo, para copiar todos los archivos en un directorio denominado manual, escriba:
restore -xdv manual
Pulse Intro.
Este mandato restaura el directorio manual y los archivos que contiene. Si no existe, se creará en el
directorio un directorio llamado manual para alojar a los archivos que se restauren.
Mandato smit
El mandato restore también puede ejecutarse utilizando smit.
1. En el indicador de mandatos, escriba:
smit restore
Pulse Intro.
2. Realice su entrada en el campo del directorio de destino (Target DIRECTORY). Éste es el directorio
en el que desea que residan los archivos restaurados.
3. Continúe con el campo correspondiente al dispositivo de copia de seguridad (BACKUP) o al archivo
(FILE) y pulse Intro, como en el ejemplo siguiente, que corresponde a un dispositivo de cintas
magnéticas sin filtrar:
/dev/rmt0
Este mensaje indica que el sistema no puede acceder al controlador de dispositivo porque no existe
ningún archivo para rmtX en el directorio /dev. Sólo los elementos en estado disponible están en
/dev.
4. Se recomienda que se utilice el valor por omisión para el NÚMERO de bloques a leer en un solo
campo de entrada.
5. Pulse Intro para restaurar el sistema de archivos o directorio especificados.
Cuando graba en un archivador, el mandato tar utiliza un archivo temporal (el archivo /tmp/tar*) y
mantiene en memoria una tabla de los archivos con varios enlaces. Recibirá un mensaje de error si el
mandato tar no puede crear el archivo temporal o si no hay suficiente memoria disponible para dar cabida
a las tablas de enlaces.
Por ejemplo, para grabar los archivos file1 y file2 en un nuevo archivador en la unidad de cintas por
omisión, escriba:
tar -c file1 file2
Pulse Intro.
Por ejemplo, para extraer todos los archivos del directorio /tmp del archivo archivador del dispositivo de
cintas /dev/rmt2 y utilizar la hora de extracción como la hora de modificación, escriba:
tar -xm -f/dev/rmt2 /tmp
Pulse Intro.
Por ejemplo, para que se visualicen los nombres de los archivos del archivo archivador de disco out.tar
del directorio actual, escriba:
Pulse Intro.
Consulte el mandato tar en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Información relacionada
“Visión general de los mandatos” en la página 22
Planificar e implementar las políticas de seguridad antes de empezar a utilizar el sistema sirve de ayuda.
Requiere mucho tiempo cambiar con posterioridad las políticas de seguridad, por lo tanto, planificarlas
bien ahora puede ahorrar mucho tiempo más tarde.
Amenazas a la seguridad
Las amenazas a la seguridad de la información proceden de tres tipos distintos de comportamiento:
Copias de seguridad
Las copias de seguridad físicamente seguras, fiables y actualizadas son la tarea de seguridad más
importante. Con una buena copia de seguridad del sistema, puede recuperar información detallada como
consecuencia de cualquier problema del sistema con mínimas pérdidas. Proporcione información acerca
de la política de copia de seguridad que ha de utilizarse e incluya información en la que se especifique lo
siguiente:
v Con qué frecuencia han de realizarse las copias de seguridad.
v Qué tipos de copias de seguridad (del sistema, de datos, incrementales) han de realizarse.
v Cómo se verificarán las cintas de copia de seguridad.
v Cómo se guardarán las cintas de copia de seguridad
Para obtener más información, consulte el apartado “Capítulo 8. Archivos de seguridad y medios de
almacenamiento” en la página 111″.
Identificación y autentificación
La identificación y la autentificación establecen su identidad. Se solicitará que inicie la sesión en el
sistema. Debe especificar el nombre de usuario y una contraseña, si la cuenta tiene contraseña (en un
sistema seguro, todas las cuentas deben tener contraseñas, de lo contrario no son válidas). Si la
contraseña es correcta, iniciará la sesión con dicha cuenta y en ese momento adquirirá los permisos de
acceso y el privilegio de la cuenta.
Puesto que la contraseña es la única protección para su cuenta, es importante que seleccione la
contraseña con cuidado y que la proteja. Muchos intentos de irrumpir ilícitamente en un sistema empiezan
por intentos de adivinar contraseñas. El sistema operativo proporciona una protección significativa de las
contraseñas al almacenar las contraseñas de los usuarios por separado de otras informaciones del
sistema. Las contraseñas cifradas y otros datos relacionados con la seguridad de los usuarios se
almacenan en el archivo /etc/security/passwd. Sólo el usuario root puede acceder a este archivo. Con
este acceso restringido de los usuarios a las contraseñas cifradas, cualquier persona no autorizada no
podrá descifrar las contraseñas con un programa que simplemente prueba todas las contraseñas posibles
o probables.
Sigue siendo posible adivinar las contraseñas al intentar el inicio de sesión con una cuenta de forma
reiterada. Si la contraseña es muy sencilla o si no se cambia con frecuencia, dichos ataques pueden
lograr su objetivo fácilmente.
Puede hacer que un terminal finalice su sesión transcurrido un período de tiempo de inactividad
estableciendo los parámetros TMOUT y TIMEOUT en el archivo /etc/profile. El parámetro TMOUT
funciona en el shell ksh (Korn) y el parámetro TIMEOUT funciona en el shell bsh (Bourne). Para obtener
más información acerca del parámetro TMOUT, consulte el apartado “Sustitución de parámetros en el
shell Korn o shell POSIX” en la página 172. Para obtener más información acerca del parámetro
TIMEOUT, consulte el apartado “Sustitución de variables en el shell Bourne” en la página 220.
En el ejemplo siguiente, que se ha tomado del archivo .profile, se fuerza la finalización de sesión del
terminal transcurrida una hora de inactividad:
TO=3600
echo "Estableciendo el fin de sesión automático en $TO"
TIMEOUT=$TO
TMOUT=$TO
export TIMEOUT TMOUT
Nota: Los usuarios pueden alterar temporalmente los valores TMOUT y TIMEOUT del archivo
/etc/profile especificando valores distintos en el archivo .profile de su directorio inicial.
A cada ID de usuario se le asigna un grupo con un ID de grupo exclusivo. El gestor del sistema crea los
grupos de usuarios cuando define el sistema. Cuando se crea un nuevo archivo, el sistema operativo
asigna permisos al ID de usuario que lo creó, al ID de grupo que contiene el propietario del archivo y a un
grupo llamado otros, que consta de los demás usuarios. El mandato id muestra el ID de usuario (UID), el
ID de grupo (GID) y los nombres de todos los grupos a los que pertenece el usuario.
En los listados de archivos (como, por ejemplo, los listados que muestra el mandato ls), los tres grupos
de usuarios siempre se representan en el orden siguiente: usuario, grupo y otros. Si necesita averiguar el
nombre del grupo, el mandato groups muestra todos los grupos correspondientes a un ID de usuario.
Cuando se especifica la opción -R, el mandato chown va descendiendo de forma repetitiva por la
estructura de directorios desde el directorio especificado. Si se han encontrado enlaces simbólicos, la
propiedad del archivo o directorio indicada por el enlace cambiará; la propiedad del enlace simbólico no
cambia.
Nota: Sólo el usuario root puede cambiar el propietario de otro archivo. No se informa de ningún
error cuando se especifica la opción -f.
Ahora, los permisos de acceso del usuario de program.c se aplican a jim. Como propietario, jim puede
utilizar el mandato chmod para permitir o denegar el acceso de otros usuarios a program.c.
Por ejemplo, para cambiar el propietario y el grupo de todos los archivos del directorio /tmp/src por el
propietario john y el grupo build, escriba:
chown -R john:build /tmp/src
Pulse Intro.
Consulte el mandato chown en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Existen tres clases de usuarios: usuario/propietario, grupo y todos los demás. Se otorga acceso a dichos
grupos en alguna combinación de las tres modalidades: lectura, grabación y ejecución. Cuando se crea
un archivo nuevo, los permisos por omisión son de lectura, de grabación y de ejecución para el usuario
que ha creado el archivo. Los otros dos grupos tienen permiso de lectura y de grabación. En la tabla
siguiente se indican las modalidades de acceso a archivos por omisión de tres conjuntos de grupos de
usuarios:
Los archivos pueden leerse (r), grabarse (w) o ejecutarse (x). El sistema determina quién tiene permiso y
el nivel de permiso que tienen para cada una de estas actividades. Las modalidades de acceso se
representan de dos modos en el sistema operativo: simbólicamente y numéricamente.
r Indica permiso de lectura, que permite a los usuarios ver el contenido de un archivo.
w Indica permiso de grabación, que permite a los usuarios modificar el contenido de un archivo.
x Indica permiso de ejecución. En el caso de los archivos ejecutables (archivos normales que contienen
programas), el permiso de ejecución significa que puede ejecutarse el programa. En el caso de los directorios,
el permiso de ejecución significa que puede explorarse el contenido del directorio.
Por ejemplo, un archivo cuyas modalidades de acceso se han establecido en rwxr-xr-x otorga permiso
de lectura y de ejecución a los tres grupos, pero sólo otorga el permiso de grabación al propietario. Esta
es la representación simbólica del valor por omisión.
El primer carácter indica el tipo de archivo. Los nueve caracteres restantes contienen información de
permisos de archivos para cada una de las tres clases de usuarios. Se utilizan los siguientes símbolos
para representar el tipo de archivo:
- Archivos normales
d Directorio
b Archivos de bloques especiales
c Archivos de caracteres especiales
p Archivos de conducto especiales
l Enlaces simbólicos
s Sockets.
Aquí, el primer guión (-) indica que se trata de un archivo normal. Los caracteres 2 a 4, rwx, representan
la modalidad de acceso del usuario (lectura, grabación y ejecución ). Los caracteres 5 a 7, rwx, indican
las modalidades de acceso del grupo (lectura, grabación y ejecución). Los caracteres 8 a 10, r-x, indican
el acceso de lectura y ejecución de todos los demás usuarios. Los guiones que se incluyen en los 9
últimos caracteres indican que no se ha otorgado ningún permiso.
janet es la propietaria del archivo y acct es el nombre del grupo de Janet. 512 es el tamaño del archivo
en bytes, Mar 01 13:33 es la fecha y hora de la última modificación y january es el nombre del archivo. El
2 indica cuántos enlaces existen con el archivo.
Cuando se crea un archivo, la modalidad de acceso al archivo por omisión es 755. Esto significa que el
usuario tiene permisos de lectura, grabación y ejecución (4+2+1=7), el grupo tiene permiso de lectura y
de ejecución (4+1=5) y todos los demás tienen permisos de lectura y de ejecución (4+1=5). Las
modalidades de los permisos de acceso de los archivos de los que es propietario pueden cambiarse con
el mandato chmod (cambiar modalidad).
Por ejemplo, para que se listen todos los grupos del sistema, escriba:
lsgroup ALL
Pulse Intro.
El sistema muestra cada grupo, ID de grupo y todos los usuarios del grupo en una lista similar a la
siguiente:
system 0 arne,pubs,ctw,geo,root,chucka,noer,su,dea,
backup,build,janice,denise
staff 1 john,ryan,flynn,daveb,jzitt,glover,maple,ken
gordon,mbrady
bin 2 root,bin
sys 3 root,su,bin,sys
Para que se visualicen atributos específicos de todos los grupos, puede utilizar uno de los dos estilos de
listado de atributos específicos para todos los grupos:
v Puede hacer que los atributos se listen en el formato Atributo=Valor separados por un espacio en
blanco. Este es el estilo por omisión. Por ejemplo, para que se listen el ID y los usuarios de todos los
grupos del sistema, escriba:
lsgroup -a id users ALL | pg
Pulse Intro.
Pulse Intro.
staff:
id=1
users=john,ryan,flynn,daveb,jzitt,glover,maple,ken
bin:
id=2
users=root,bin
sys:
id=3
users=root,su,bin,sys
Pulse Intro.
Pulse Intro.
Pulse Intro.
Por ejemplo, para que se listen el ID y los usuarios del grupo bin, escriba:
lsgroup -a id users bin
Pulse Intro.
Consulte el mandato lsgroup en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Por ejemplo, para añadir un tipo de permiso para los archivos chap1 y chap2, escriba:
chmod g+w chap1 chap2
Pulse Intro.
Esto añade permiso de grabación a los miembros del grupo para los archivos chap1 y chap2.
Por ejemplo, para realizar varios cambios de permisos al mismo tiempo para el directorio mydir, escriba:
Pulse Intro.
Esto deniega (-) a los miembros del grupo (g) y a otros (o) el permiso para crear o suprimir archivos (w)
en mydir y permite (+) a los miembros del grupo y a otros realizar búsquedas en mydir o utilizarlo (x) en
un nombre de vía de acceso. Esto es equivalente a la secuencia de mandatos:
chmod g-w mydir
chmod o-w mydir
chmod g+x mydir
chmod o+x mydir
Por ejemplo, para que sólo el propietario tenga permiso para utilizar un procedimiento de shell
denominado cmd como mandato, escriba:
chmod u=rwx,go= cmd
Pulse Intro.
Esto otorga permiso de lectura, grabación y ejecución al usuario que posee el archivo (u=rwx). Además,
deniega al grupo y a los demás el permiso para acceder a cmd de cualquier modo (go=).
Por ejemplo, para utilizar un formato en modalidad numérica del mandato chmod para cambiar los
permisos del archivo text, escriba:
chmod 644 text
Pulse Intro.
Esto establece permiso de lectura y de grabación para el propietario y establece modalidad de sólo
lectura para el grupo y para los demás.
Consulte el mandato chmod en la publicación AIX 5L Version 5.1 Commands Reference para obtener
más información y para conocer la sintaxis exacta.
Los usuarios tienen acceso basado en usuario únicamente a los objetos que poseen. Normalmente, los
usuarios reciben los permisos de grupo o los permisos por omisión sobre un recurso. La tarea principal de
la administración del control de accesos es la definición de la calidad de miembro de un grupo de
usuarios, ya que ello determinará los derechos de acceso de los usuarios a los archivos de los que no
son propietarios.
Las listas de controles de acceso (ACL) aumentan la calidad de los controles de acceso a los archivos,
pues añaden permisos ampliados que modifican los “Permisos base” en la página 135 asignados a
individuos y grupos. Con los “Permisos ampliados” en la página 135, puede permitir o denegar el acceso a
individuos o grupos específicos sin tener que cambiar los permisos base.
Las listas de controles de acceso se mantienen por medio de los mandatos aclget, acledit y aclput.
Aunque el mandato chmod en modalidad numérica (con notaciones octales) puede establecer atributos y
permisos base, la subrutina chmod, a la que el mandato llama, inhabilita los permisos ampliados. Si
utiliza la modalidad numérica del mandato chmod en un archivo que disponga de una ACL, los permisos
ampliados se inhabilitarán. La modalidad simbólica del mandato chmod no inhabilita los permisos
ampliados. Para obtener información acerca de las modalidades numérica y simbólica, consulte el
mandato chmod.
Permisos base
Los permisos base son las modalidades de acceso de archivo tradicionales asignadas al propietario del
archivo, al grupo de archivos y a los demás usuarios. Las modalidades de acceso son: lectura (r),
grabación (w) y ejecución/búsqueda (x).
En una lista de controles de acceso, los permisos base tienen el formato siguiente, donde el parámetro
Modalidad se expresa como rwx (con un guión (-) que sustituye a cada permiso no especificado):
base permissions:
owner(name): Modalidad
group(group): Modalidad
others: Modalidad
Atributos
A una lista de controles de acceso pueden añadirse tres atributos: setuid (SUID), setgid (SGID) y
savetext (SVTX). Estos atributos tienen el formato siguiente:
attributes: SUID, SGID, SVTX
Permisos ampliados
Los permisos ampliados proporcionan al propietario de un archivo la posibilidad de definir el acceso a
dicho archivo de forma más precisa. Los permisos ampliados modifican los permisos base del archivo
(propietario, grupo, otros) al permitir, denegar o especificar modalidades de acceso para individuos,
grupos o combinaciones de usuario y grupo específicos.
Las palabras clave permit, deny y specify se definen como se indica a continuación:
Si a un usuario se le deniega un acceso determinado por medio de una palabra clave deny o specify,
ninguna otra entrada podrá prevalecer sobre dicha denegación de acceso.
La palabra clave enabled debe especificarse en la lista de controles de acceso (ACL) para que los
permisos ampliados entren en vigor. El valor por omisión es la palabra clave disabled.
Nota: Si en una entrada se especifica más de un nombre de usuario, dicha entrada no podrá
utilizarse en una decisión de control de accesos, pues un proceso sólo tiene un ID de usuario.
Nota: A un proceso puede aplicarse más de una entrada ampliada, donde las modalidades
restrictivas tienen prioridad respecto a las modalidades permisivas.
Consulte el mandato acledit en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Autorización de acceso
La gestión de los derechos de acceso es responsabilidad del propietario del recurso de información. Los
recursos están protegidos por bits de permiso, que se incluyen en la modalidad del objeto. Los bits de
permiso definen los permisos de acceso otorgados al propietario del objeto, al grupo del objeto y a la
clase por omisión de los demás usuarios. El sistema operativo da soporte a tres modalidades distintas de
acceso (lectura, grabación y ejecución), que pueden otorgarse por separado.
Con relación a los archivos, directorios, conductos con nombre, colas de mensajes, segmentos de
memoria compartida, semáforos y dispositivos (archivos especiales), el acceso se autoriza como se indica
a continuación:
v Para cada entrada de control de acceso (ACE) de la lista de controles de acceso (ACL), la lista de
identificador se compara con los identificadores del proceso. Si existe una coincidencia, el proceso
recibe los permisos y restricciones definidos para dicha entrada. Se calculan las uniones lógicas tanto
para permisos como para restricciones para cada entrada de la ACL coincidente. Si el proceso
solicitante no coincide con ninguna de las entradas de la ACL, éste recibe los permisos y restricciones
de la entrada por omisión.
v Si la modalidad de acceso solicitada está permitida (está incluida en la unión de los permisos) y no
está restringida (está incluida en la unión de las restricciones), el acceso se otorga; de lo contrario, se
deniega.
Un proceso con un ID de usuario de 0 se conoce como un proceso de usuario root. Por lo general, a
estos procesos se les otorgan todos los permisos de acceso. Pero si un proceso de usuario root solicita
permiso de ejecución para un programa, el acceso sólo se concede si se ha otorgado permiso de
ejecución a, como mínimo, un usuario.
La lista de identificadores de una ACL coincide con un proceso si todos los identificadores de la lista
coinciden con el tipo correspondiente de identificador en vigor para el proceso solicitante. Un identificador
de tipo USER coincidente equivale al ID de usuario en vigor del proceso y un identificador de tipo GROUP
es coincidente si es igual al ID de grupo en vigor del proceso o de uno de los ID de grupo
complementario. Por ejemplo, una ACE con una lista de identificadores como la siguiente:
USER:fred, GROUP:philosophers, GROUP:yankee_fans
coincidiría con un proceso que tuviera un ID de usuario efectivo que fuera fred y un conjunto de grupos
que fuera:
philosophers, philanthropists, yankee_fans, good_sports
pero no coincidiría con un proceso que tuviera un ID de usuario efectivo que fuera fred y un conjunto de
grupos que fuera:
philosophers, iconoclasts, redsox_fans, poor_sports
Tenga en cuenta que una ACE con una lista de identificadores compuesta de los elementos siguientes
coincidiría para ambos procesos:
USER:fred, GROUP:philosophers
Todos los permisos de acceso comprueban si estos objetos se crean a nivel de llamada del sistema la
primera vez que se accede al objeto. Puesto que se accede a los objetos SVIPC sin parentesco, se
efectúan comprobaciones para cada acceso. En el caso de objetos con nombres de sistemas de archivos,
es necesario poder resolver el nombre del objeto real. Los nombres se resuelven relativamente (en el
directorio de trabajo del proceso) o absolutamente (en el directorio raíz del proceso). La resolución de los
nombres empieza con la búsqueda de uno de éstos.
El mecanismo discrecional de control de acceso permite un control eficaz del acceso a los recursos de
información y proporciona una protección independiente de la confidencialidad y de la integridad de la
Por ejemplo, para que se visualice la información de control de accesos del archivo status, escriba:
aclget status
Pulse Intro.
La información de control de acceso que se visualiza incluye una lista de atributos, permisos base y
permisos ampliados. Para ver un ejemplo, consulte el apartado “Ejemplo de Lista de control de accesos”
en la página 136 .
Por ejemplo, para guardar la información de control de accesos del archivo plans en el archivo acl1 para
editarla y utilizarla posteriormente, escriba:
aclget -o acl1 plans
Pulse Intro.
Consulte el mandato aclget en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: La lista de control de accesos de un archivo no puede exceder el tamaño de una página de
memoria (4096 bytes aproximadamente).
Por ejemplo, para establecer la información de control de acceso para el archivo status con la
información que se almacena en el archivo acldefs, escriba:
aclput -i acldefs status
Pulse Intro.
Por ejemplo, para establecer la información de control de accesos para el archivo status con la misma
información que la utilizada para el archivo plans, escriba:
aclget plans | aclput status
Pulse Intro.
Consulte el mandato aclput en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: La variable de entorno EDITOR debe especificarse con un nombre de vía de acceso
completo; de lo contrario, el mandato acledit no se ejecutará satisfactoriamente.
La información de control de acceso que se visualiza incluye una lista de atributos, permisos base y
permisos ampliados. Para ver un ejemplo, consulte el apartado “Ejemplo de Lista de control de accesos”
en la página 136 .
Por ejemplo, para editar la información de control de accesos del archivo plans, escriba:
acledit plans
Pulse Intro.
Consulte el mandato acledit en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: Si la interfaz que utiliza es AIXwindows, utilice el mandato xlock de la misma forma.
Pulse Intro.
Se le pedirá la contraseña dos veces de forma que el sistema puede comprobarla. Si la contraseña no
vuelve a escribirse dentro de 15 minutos, se excede el tiempo de espera del mandato.
Por ejemplo, para reservar un terminal con control de contraseña, con un intervalo de tiempo de espera
de 10 minutos, escriba:
lock -10
Pulse Intro.
Consulte el mandato lock o el mandato xlock en la publicación AIX 5L Version 5.1 Commands Reference
para conocer la sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Algunos de los recursos por omisión de las aplicaciones que el usuario utiliza en el sistema también
pueden personalizarse. El programa inicia los valores por omisión en el arranque. Cuando modifique los
valores por omisión, deberá salir y reiniciar el programa para que los nuevos valores entren en vigor.
La publicación Common Desktop Environment 1.0: Advanced User’s and System Administrator’s Guide
proporciona información detallada acerca de la personalización del comportamiento y del aspecto del
componente Common Desktop Environment.
Información relacionada
“Capítulo 2. Entorno de usuario e información del sistema” en la página 13
El shell utiliza dos tipos de archivos de perfil cuando se inicia la sesión en el sistema operativo. Evalúa los
mandatos incluidos en los archivos y a continuación ejecuta los mandatos para definir el entorno del
sistema. Los archivos tienen funciones similares, con la excepción de que el archivo /etc/profile controla
las variables de los perfiles para todos los usuarios del sistema, donde el archivo .profile le permite
personalizar su propio entorno.
El shell primero evalúa los mandatos que contiene el archivo /etc/profile y, a continuación, ejecuta los
mandatos para configurar el entorno del sistema en el archivo /etc/environment. Tras la ejecución de
tales archivos, el sistema comprueba si se dispone de un archivo .profile en el directorio inicial. Si el
archivo .profile existe, ejecuta dicho archivo. El archivo .profile especificará si también existe un archivo
de entorno. Si existe un archivo de entorno (normalmente llamado .env), el sistema ejecutará este archivo
y definirá las variables de entorno.
Los archivos /etc/profile, /etc/environment y .profile se ejecutan una vez durante el inicio de sesión. El
archivo .env, por su parte, se ejecuta cada vez que abre un nuevo shell o ventana.
Archivo /etc/profile
El primer archivo que el sistema operativo utiliza durante el inicio de sesión es el archivo /etc/profile. Este
archivo contiene variables por omisión para todo el sistema como:
v variables de exportación
v máscara de creación de archivos (umask)
v tipos de terminal
v mensajes de correo para indicar cuándo ha llegado correo nuevo
El administrador del sistema configura el archivo profile de todos los usuarios del sistema. Únicamente el
administrador del sistema puede modificar este archivo.
Consulte el apartado .profile File Format en la publicación AIX 5L Version 5.1 Files Reference para
obtener información detallada sobre el archivo /etc/profile.
Archivo /etc/environment
El segundo archivo que el sistema operativo utiliza durante el inicio de sesión es el archivo
/etc/environment. El archivo /etc/environment contiene variables que especifican el entorno básico de
todos los procesos. Cuando se inicia un nuevo proceso, la subrutina exec pone a disposición una matriz
de series que tienen el formato Nombre=Valor. Esta matriz de series recibe el nombre de entorno. Cada
nombre definido por una de las series recibe el nombre de variable de entorno o variable de shell. La
subrutina exec permite establecer de una sola vez todo el entorno.
Cuando se inicia la sesión, el sistema establece variables de entorno a partir del archivo environment
antes de leer el perfil de inicio de sesión, .profile. Las siguientes variables forman en entorno básico:
HOME Nombre completo de la vía de acceso del directorio HOME o de inicio de sesión del usuario. El
programa login establece este valor en el nombre que se especifica en el archivo /etc/passwd.
LANG El nombre del escenario en vigor actualmente. La variable LANG se define inicialmente en el archivo
/etc/profile durante la instalación.
NLSPATH El nombre completo de la vía de acceso para catálogos de mensajes.
LOCPATH Nombre completo de la vía de acceso de la ubicación de las tablas del Soporte de idioma nacional.
PATH Secuencia de directorios en la que mandatos tales como sh, time, nice y nohup buscan cuando
existe un mandato cuyo nombre de vía de acceso no está completo.
TZ La información de huso horario. La variable de entorno TZ se define inicialmente mediante el archivo
/etc/profile, perfil de inicio de sesión del sistema.
Consulte el apartado .environment File en la publicación AIX 5L Version 5.1 Files Reference para obtener
información detallada sobre el archivo /etc/environment.
Archivo .profile
El tercer archivo que el sistema operativo utiliza durante el inicio de sesión es el archivo .profile. El
archivo .profile se encuentra en el directorio inicial ($HOME) y le permite personalizar su entorno de
trabajo individual. Puesto que el archivo .profile está oculto, utilice el mandato ls -a para poder
visualizarlo en una lista.
Después de que el programa login haya añadido las variables LOGNAME (nombre de inicio de sesión) y
HOME (directorio de inicio de sesión) al entorno, se ejecutan los mandatos del archivo $HOME/.profile, si
existe el archivo. El archivo .profile contiene el perfil individual que altera temporalmente las variables que
se han establecido en el archivo /etc/profile. Con frecuencia, el archivo .profile se utiliza para establecer
variables de entorno exportadas y modalidades de terminal. Puede personalizar el entorno como desee
modificando el archivo .profile. Utilice el archivo .profile para controlar los valores por omisión siguientes:
v shells que han de abrirse
v aspecto del indicador
v sonidos del teclado
Este ejemplo ha definido dos variables de vía de acceso (PATH y epath), las ha exportado y ha abierto un
shell C (csh).
También puede utilizar el archivo .profile (o, si no existe, el archivo /etc/profile) para determinar variables
de shell de inicio de sesión. También puede personalizar otros entornos de shell. Por ejemplo, utilice el
archivo .cshrc y el archivo .kshrc para personalizar un shell C y un shell Korn, respectivamente, cuando
se inicie cada tipo de shell.
Archivo .env
Un cuarto archivo que el sistema operativo utiliza durante el inicio de sesión es el archivo .env, si el
archivo .profile tiene la línea siguiente: export ENV=$HOME/.env
El archivo .env le permite personalizar las variables de entorno de trabajo individuales. Puesto que el
archivo .env está oculto, utilice el mandato ls -a para que se visualice en una lista. El archivo .env
contiene las variables de entorno de usuario individuales que alteran temporalmente las variables que se
han establecido en el archivo /etc/environment. Puede personalizar las variables de entorno como desee
modificando el archivo .env. En el ejemplo siguiente se muestra un archivo .env típico:
export myid=′id | sed -n -e 's/).*$//' -e 's/|.*(//p'′ \
bold=′tput smso′ \
norm=′tput rmso′
#set prompt: login & nombre sistema (contraste invertido) &
vía de acceso (normal)
if [ $myid = root ]
then typeset -x PSCH='${bold}#:${norm}\${PWD}> '
PS1="${bold}#:${norm}\${PWD}> "
else typeset -x PSCH='>'
PS1="${bold}$LOGNAME@$UNAME:${norm}\${PWD}> "
PS2=">"
PS3="#?"
fi
export PS1 PS2 PS3
#definir mis alias de mandatos
alias ls="/bin/ls -CF" \
d="/bin/ls -Fal | pg" \
rm="/bin/rm -i" \
up="cd .."
Nota: Cuando modifique el archivo .env, asegúrese de que las variables de entorno recién creadas
no entran en conflicto con las variables estándares como MAIL, PS1, PS2 y IFS.
Si inicia la sesión y observa que la pantalla funciona como un terminal únicamente, sin que se visualice
ninguna ventana, puede iniciar X escribiendo lo siguiente:
xinit
Pulse Intro.
Si inicia la sesión y observa que aparecen una o más ventanas sin marcos, puede iniciar AIXwindows
Window Manager escribiendo lo siguiente:
mwm &
Pulse Intro.
Nota: Antes de escribir este mandato, asegúrese de que el puntero se encuentre dentro de una
ventana que tenga un indicador de mandatos del sistema.
Puesto que AIXwindows permite que los programadores que escriben aplicaciones de AIXwindows y los
usuarios realicen personalizaciones, puede que los botones del ratón u otras funciones no funcionen
como espera que lo hagan tras haber leído esta documentación. Puede restablecer el entorno de
AIXwindows en su comportamiento por omisión pulsando y manteniendo pulsadas las cuatro teclas
siguientes:
Alt-Control-Despl-!
Puede volver al comportamiento personalizado pulsando de nuevo esta secuencia de teclas. Si el sistema
no permite esta combinación de teclas, también puede restaurar el comportamiento por omisión desde el
menú raíz por omisión.
Archivo .xinitrc
El mandato xinit utiliza un archivo de script de shell personalizable que contiene los programas cliente de
X que han de iniciarse. El archivo .xinitrc que se encuentra en el directorio inicial controla las ventanas y
las aplicaciones que se inician cuando se inicia AIXwindows.
En primer lugar, el mandato xinit busca la variable de entorno $XINITRC para iniciar AIXwindows. Si no
se encuentra la variable de entorno $XINITRC, busca el script de shell $HOME/.xinitrc. Si no se
encuentra el script de shell $HOME/.xinitrc, el mandato xinit inicia el script de shell
/usr/lib/X11/$LANG/xinitrc. Si no se encuentra /usr/lib/X11/$LANG/xinitrc, busca el script de shell
/usr/lpp/X11/defaults/$LANG/xinitrc. Si dicho script no se encuentra, busca el script de shell
/usr/lpp/X11/defaults/xinitrc.
El script de shell xinitrc inicia mandatos como, por ejemplo, los mandatos mwm (AIXwindows Window
Manager), aixterm y xclock.
Nota: Para impedir que se cargue automáticamente DPS, se debe modificar el archivo
/usr/lpp/X11/xinit.
.
.
.
#***************************************************************
# Inicia los clientes X. Cambie las siguientes líneas a *
# los mandatos que desee *
# Los clientes por omisión son un reloj analógico *
# (xclock), un emulador de terminal lft (aixterm), *
# X Desktop Manager (xdt) y Motif Window Manager (mwm). *
#****************************************************************
# Si no hay estación X, llame a copyright DPS
if [ -z "$XSTATION" ]
then
/usr/lpp/DPS/bin/copyright -x &
fi
aixterm =80x25+0-0 -fg Wheat -bg MidnightBlue &
if [ -z "$XSTATION" ]
then
sleep 3 # permitir que se muestre copyright DPS
fi
if [ -x /usr/lpp/X11/bin/xdt3 ]
then
/usr/lpp/X11/bin/xdt3 &
fi
exec mwm
Archivo .Xdefaults
Si trabaja en una interfaz de AIXwindows, puede personalizar dicha interfaz con el archivo .Xdefaults.
AIXwindows le permite especificar sus preferencias de características visuales, por ejemplo colores y
fonts.
La mayor parte de los factores relacionados con el aspecto y el comportamiento de una aplicación basada
en ventanas se controlan por medio de variables denominadas recursos. El aspecto visual o de
comportamiento de un recurso está determinado por su valor asignado. Existen distintos tipos de valores
para los recursos. Por ejemplo, a los recursos que controlan el color pueden asignarse valores como
DarkSlateBlue o Black.A los recursos que especifican dimensiones se asignan valores numéricos. Algunos
recursos toman valores booleanos (True o False).
Si no dispone de un archivo .Xdefaults en el directorio inicial, puede crear uno con cualquier editor de
texto. Una vez que tenga este archivo en el directorio inicial, puede definir valores de recurso en el mismo
tal como desee. Existe un archivo por omisión de ejemplo denominado Xdefaults.tmpl en el directorio
/usr/lpp/X11/defaults.
Archivo .mwmrc
La mayoría de las funciones que deseará personalizar pueden establecerse con los recursos del archivo
.Xdefaults. Sin embargo, los enlaces de teclas, los enlaces de botones del ratón y las definiciones de los
menús del gestor de ventanas se especifican en el archivo .mwmrc complementario, al que los recursos
hacen referencia en el archivo .Xdefaults.
Si no dispone de un archivo .mwmrc en el directorio inicial, puede copiarlo como se indica a continuación:
cp /usr/lib/X11/system.mwmrc .mwmrc
Puesto que el archivo .mwmrc altera temporalmente los efectos del archivo system.mwmrc en todo el
sistema, las especificaciones de las que haga uso no interferirán con las especificaciones de los otros
usuarios.
Información relacionada
“Visión general de los mandatos” en la página 22
“Procedimientos de personalización”
Procedimientos de personalización
Existen muchos modos de personalizar el entorno del sistema. Este apartado trata acerca de los
siguientes procedimientos:
v “Exportación de variables de shell (mandato de shell export)”
v “Cambio del font de la pantalla (mandato chfont)” en la página 150
v “Cambio de las teclas de control (mandato stty)” en la página 151
v “Cambio del indicador del sistema” en la página 151
Para convertirlas en variables globales, puede utilizar el mandato export. Para que las variables del shell
sean globales automáticamente, expórtelas en el archivo .profile.
Nota: Las variables pueden exportarse a los shells hijo, pero no pueden exportarse a los shells
padre.
Por ejemplo, para convertir la variable PATH de shell local en global, escriba:
export path
Pulse Intro.
Por ejemplo, para que se listen todas las variables exportadas, escriba:
export
Pulse Intro.
Nota: Para poder ejecutar el mandato chfont debe tener autorización de usuario root.
Mandato chfont
Por ejemplo, para cambiar el font activo por el quinto font de la paleta de colores, escriba:
chfont -a5
Pulse Intro.
Por ejemplo, para cambiar el font por un tipo de letra en cursiva, roman y en negrita utilizando el mismo
tamaño, escriba:
chfont -n /usr/lpp/fonts/It114.snf /usr/lpp/fonts/Bld14.snf /usr/lpp/fonts/Rom14.snf
Pulse Intro.
Consulte el mandato chfont en la publicación AIX 5L Version 5.1 Commands Reference para obtener más
información y conocer la sintaxis exacta. Consulte también el apartado “Listado de los fonts disponibles
(mandato lsfont)” en la página 15
Mandato smit
El mandato chfont también puede ejecutarse utilizando smit.
Pulse Intro.
Pulse Intro.
Pulse Intro.
Por ejemplo, para restablecer todas las teclas de control en sus valores por omisión, escriba:
stty sane
Pulse Intro.
Pulse Intro.
Consulte el mandato stty en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Puede cambiar cualquiera de las características del indicador cambiando el valor de su variable de shell.
Los cambios realizados en los indicadores seguirán aplicándose hasta que finalice la sesión. Para que los
cambios sean permanentes, colóquelos en el archivo .env .
Por ejemplo, para que se visualice el valor actual de la variable PS1, escriba:
echo "El indicador es $PS1"
Pulse Intro.
Pulse Intro.
Por ejemplo, para cambiar el indicador de continuación por Enter more-> , escriba:
PS2="Enter more->"
Pulse Intro.
Pulse Intro.
Información relacionada
“Visión general de los mandatos” en la página 22
La diferencia principal entre valores por omisión y preferencias es que el programa InfoExplorer inicia los
valores por omisión en el arranque. Cuando defina los valores por omisión, deberá salir y volver a iniciar
el programa para que los cambios entren en vigor (a excepción de los valores por omisión de impresora).
Cuando defina preferencias, los cambios entrarán en vigor inmediatamente.
Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por
omisión (ventana de InfoExplorer).
También puede designar un archivo de señales o un archivo de notas como archivo de señales o de
notas por omisión y seguir esas vías específicas en sesiones posteriores.
Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por omisión
(Ayuda de InfoExplorer).
Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por omisión
(Ayuda de InfoExplorer).
Por ejemplo, cuando seleccione la opción Imprimir gráfico del menú desplegable de información, el
trabajo de impresión se enviará automáticamente a la impresora que ha designado para imágenes.
Nota: El programa para formatear documentos troff deberá haberse instalado en el sistema para
poder utilizar la función de impresión de alta calidad.
Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por omisión
(Ayuda de InfoExplorer).
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
Después de determinar cómo visualizar imágenes, puede aplicar los cambios únicamente en la sesión
actual o tanto en la sesión actual como en sesiones posteriores.
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
Artículos de automantenimiento
La opción Automantenimiento del menú desplegable Personalizar determina si el programa InfoExplorer
ha de abrir una nueva ventana de lectura para cada artículo nuevo. Por omisión, el programa InfoExplorer
sustituirá el contenido de una ventana de lectura cuando enlace a otro artículo. Para mantener los
artículos abiertos mientras se mueve por la base de información, utilice la opción Automantenimiento.
Cuando establece la opción Automantenimiento en Activado, puede seguir los enlaces sin perder los
artículos desde los que se ha enlazado. Puede aplicar los cambios únicamente a la sesión actual o
también a las posteriores.
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
El valor por omisión del sistema para el tamaño de sucesos del histórico es 100 sucesos. Puede cambiar
el tamaño por omisión para que se adapte a su situación particular. A continuación puede aplicar los
cambios a la sesión actual únicamente o también a las sesiones futuras.
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda de
InfoExplorer).
Procedimientos de personalización
PS1 Indicador normal del sistema.
PS2 Indicador del sistema de más entrada.
PS3 Indicador del sistema raíz.
chfont Cambia el font utilizado por una pantalla en el arranque del sistema.
stty Define, redefine e informa de parámetros del funcionamiento de la estación de trabajo.
Información relacionada
“Visión general de los mandatos” en la página 22
Los shells ofrecen un método para comunicarse con el sistema operativo. Esta comunicación tiene lugar
de forma interactiva (la entrada del teclado se ejecuta inmediatamente) o como un script de shell. Un
script de shell es una secuencia de mandatos del shell y del sistema operativo que se almacena en un
archivo.
Cuando se inicie la sesión en el sistema, éste localizará el nombre de un programa de shell a ejecutar.
Una vez ejecutado, el shell mostrará un indicador de mandatos. Este indicador suele ser un signo $ (signo
de dólar). Cuando escriba un mandato en el indicador y pulse la tecla Intro, el shell evaluará el mandato e
intentará ejecutarlo. Según las instrucciones del mandato, el shell grabará la salida del mandato en la
pantalla o lo dirigirá a la salida. A continuación, restaura el indicador de mandatos para que escriba otro
mandato.
Una línea de mandatos es la línea en la que escribe. Contiene el indicador del shell. El formato básico
para cada línea es:
$ Mandato Argumento(s)
El shell considera la primera palabra de una línea de mandatos (hasta el primer espacio en blanco) como
el mandato y todas las palabras siguientes como argumentos.
Shells disponibles
Se proporcionan los siguientes shells con esta versión del sistema operativo:
v Shell Korn (se inicia con el mandato ksh)
v Shell Bourne (se inicia con el mandato bsh)
v Shell restringido (es una versión limitada del shell Bourne que se inicia con el mandato Rsh)
v Shell POSIX (también denominado shell Korn y que se inicia con el mandato psh)
v Shell por omisión (se inicia con el mandato sh)
v Shell C (se inicia con el mandato csh)
v Shell fiable (es una versión limitada del shell Korn que se inicia con el mandato tsh)
v Shell remoto (se inicia con el mandato rsh).
El shell de inicio de sesión hace referencia al shell que se carga cuando inicia la sesión en el sistema. El
shell de inicio de sesión se establece en el archivo /etc/passwd. El shell Korn es el shell de inicio de
sesión del sistema operativo estándar y es compatible con las versiones anteriores del shell Bourne, como
se explica en el apartado “Shell Bourne” en la página 210.
El shell por omisión o estándar hace referencia al shell que se inicia y cuyo enlace se establece con el
mandato /usr/bin/sh. El shell Korn, también conocido como shell POSIX, se define como shell por
omisión. El shell POSIX se denomina /usr/bin/psh y se enlaza con el mandato /usr/bin/ksh.
El punto y coma (;), ampersand (&) y la barra ampersand (|&) tienen una prioridad
menor que el ampersand doble (&&) y la barra doble (||). Los símbolos ;, & y |& tienen
igual prioridad entre sí. Los signos && y || tienen la misma prioridad. Pueden utilizarse
uno o más caracteres de línea nueva en lugar de un punto y coma para delimitar dos
mandatos en una lista.
Puede crear un script de shell utilizando un editor de texto. El script puede contener tanto mandatos del
sistema operativo como mandatos incorporados del shell.
Los pasos siguientes son directrices generales para escribir scripts de shell:
1. Mediante la utilización de un editor de texto, cree y guarde un archivo. Puede incluir cualquier
combinación de mandatos del sistema operativo y mandatos del shell en dicho archivo script.
Por convenio, los scripts de shell que no se han configurado para que los utilicen muchos usuarios se
almacenan en el directorio $HOME/bin.
Nota: El sistema operativo no da soporte a las subrutinas setuid o setgid dentro de un script de
shell.
1. Utilice el mandato chmod para que sólo el propietario tenga permiso para ejecutar el archivo. Por
ejemplo, si el nombre del archivo es script1, escriba:
chmod u=rwx script1
Pulse Intro.
2. Escriba el nombre del script en la línea de mandatos para ejecutar el script de shell. Para ejecutar el
script de shell script1, escriba:
script1
Pulse Intro.
Nota: Puede ejecutar un script de shell sin convertirlo en ejecutable si especifica un mandato de
shell (ksh, bsh o csh) delante del nombre de archivo del script de shell en la línea de mandatos.
Por ejemplo, para ejecutar un archivo no ejecutable llamado script1 bajo el control del shell
Korn, escriba:
ksh script1
Puede hacer que un script de shell se ejecute en un shell específico incluyéndolo en el script de shell.
Para ejecutar un script de shell ejecutable en un shell específico, escriba #!Vía de acceso en la primera
línea del script de shell y pulse Intro. Los caracteres #! identifican el tipo de archivo. La variable Vía de
acceso especifica el nombre de la vía de acceso del shell desde el que ha de ejecutarse el script de shell.
Por ejemplo, si la primera línea de un script de shell es #!/usr/bin/bsh, el script se ejecuta bajo el control
del shell Bourne.
Cuando precede un nombre de archivo de script de shell con un mandato de shell, el shell especificado
en la línea de mandatos prevalece sobre cualquier shell especificado en el propio archivo de script. Por lo
Información relacionada
“Visión general de los mandatos” en la página 22
Cuando emita un mandato en el shell Korn o shell POSIX, el shell evalúa el mandato y actúa de este
modo:
v Efectúa todas las sustituciones indicadas.
v Determina si el mandato contiene una /. Si es así, el shell ejecuta el programa indicado por el nombre
de vía de acceso especificado.
Si el mandato no contiene una /, el shell Korn o el shell POSIX continúa con las acciones siguientes:
v Determina si el mandato es un mandato especial incorporado. Si es así, el shell ejecuta el mandato
dentro del proceso de shell actual.
Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 para
obtener información acerca de los mandatos incorporados especiales.
v Compara el mandato con las funciones definidas por el usuario. Si el mandato coincide con una función
definida por el usuario, los parámetros de posición se guardan y, a continuación, vuelven a
establecerse en los argumentos de la llamada function. Cuando la función se completa o bien emite
un retorno, la lista de parámetros de posición se restaura y se ejecuta cualquier ruptura que se haya
establecido en EXIT dentro de la función. El valor de una función es el valor del último mandato
ejecutado. Una función se lleva a cabo en el proceso de shell actual.
v Si el nombre del mandato coincide con el nombre de un mandato incorporado normal, se invoca ese
mandato incorporado normal.
Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 para
obtener información acerca de los mandatos incorporados normales.
El shell Korn, o shell POSIX, busca una vía de acceso de un archivo ejecutable en todos los directorios.
La variable de shell PATH define la vía de búsqueda del directorio que contiene el mandato. Los nombres
de los directorios alternativos se separan por medio de un carácter :. La vía de acceso por omisión es
/usr/bin: (que especifica el directorio /usr/bin y el directorio actual, en este orden). El directorio actual se
especifica mediante dos o más signos de dos puntos o mediante un signo de dos puntos al principio o al
final de la lista de vías de acceso.
Si el archivo tiene permiso de ejecución pero no es un directorio o un archivo a.out, el shell da por
supuesto que contiene mandatos de shell. El proceso de shell actual fragmenta un subshell para leer el
archivo. Todos los alias, funciones y parámetros designados no exportados se eliminan del archivo. Si el
archivo de mandatos del shell tiene permiso de lectura, o si en el archivo se han establecido los bits
setuid o setgid, el shell ejecuta un agente que establece los permisos y ejecuta el shell con el archivo de
mandatos del shell que se ha pasado como un archivo abierto. Un mandato entre paréntesis se ejecuta
en un subshell sin eliminar las cantidades no exportadas.
Funciones
La palabra reservada function define funciones del shell. El shell lee y almacena funciones internamente.
Los alias se resuelven cuando se lee la función. El shell ejecuta las funciones de la misma forma que los
mandatos, pasando los argumentos como parámetros posicionales. Consulte el apartado “Sustitución de
parámetros en el shell Korn o shell POSIX” en la página 172 para obtener más información acerca de los
parámetros de posición.
El shell Korn o shell POSIX ejecuta funciones en el entorno desde el que se llama a las funciones. La
función y el script de invocación comparten todos los elementos siguientes; ello da lugar a que puedan
producirse efectos secundarios:
v Valores y atributos de variables (a menos que utilice typeset dentro de la función para declarar una
variable local)
v Directorio de trabajo
v Alias, definiciones de funciones y atributos
v El parámetro especial $
v Archivos abiertos
Nota: En versiones anteriores del shell Korn, la función, además del script de llamada, compartía
otras rupturas distintas de EXIT y ERR.
Si la ruptura de 0 o EXIT se ejecuta dentro del cuerpo de una función, la acción se ejecuta tras
completarse la función, en el entorno que ha llamado a la función. Si la ruptura se ejecuta fuera del
cuerpo de una función, la acción se ejecuta después de salir del shell Korn. En versiones anteriores del
shell Korn, no se ejecutaba ninguna ruptura de 0 o EXIT fuera del cuerpo de una función después de salir
de la función.
Cuando se ejecuta una función, ésta tiene las mismas propiedades de error de sintaxis y de asignación
de variable que las que se describen en el apartado “Mandatos incorporados del shell Korn o shell
POSIX” en la página 186.
El mandato compuesto se ejecuta siempre que se especifique el nombre de la función como nombre de
mandato simple. Los operandos del mandato pasarán a ser temporalmente los parámetros posicionales
durante la ejecución del mandato compuesto. El parámetro especial # también cambiará para reflejar el
número de operandos. El parámetro especial 0 no cambiará.
El mandato especial return se utiliza para volver de las llamadas a una función. Los errores en funciones
devuelven el control al llamador.
Los identificadores de función se listan con la opción -f o +f del mandato especial typeset. La opción -f
también lista el texto de las funciones. La definición de las funciones se elimina con la opción -f del
mandato especial unset.
Normalmente, se elimina la definición de las funciones cuando un shell ejecuta un script de shell. La
opción -xf del mandato especial typeset permite exportar una función a los scripts que se ejecutan sin
una invocación separada del shell. Las funciones que deben definirse en invocaciones separadas del shell
deben especificarse en el archivo ENV con la opción -xf del mandato especial typeset.
Cada metacarácter tiene un significado especial para el shell y, a menos que se limite, provoca la
terminación de una palabra. El shell Korn o el shell POSIX considera a los caracteres siguientes como
metacaracteres, los cuales deben especificarse entre delimitadores si van a representarse a sí mismos:
v conducto (|)
v ampersand (&)
Los mecanismos de delimitación son la barra inclinada invertida (\), las comillas simples (’) y las comillas
dobles (″).
Barra inclinada invertida (\)) Una barra inclinada invertida (\) que no está limitada mantiene el valor
literal del siguiente carácter, con la excepción del carácter de nueva línea.
Si a continuación de la barra inclinada invertida va un carácter de nueva
línea, el shell lo interpreta como continuación de línea.
Comillas simples La especificación de caracteres entre comillas simples (’ ’) conserva el
valor literal de cada carácter especificado entre comillas simples. No
puede existir una única comilla simple dentro de las comillas simples.
Las condiciones siguientes se aplican a los metacaracteres y caracteres de delimitación en el shell Korn o
shell POSIX:
v Los significados del símbolo del dólar, asterisco ($*) y del símbolo del dólar, arroba ($@) son idénticos
cuando no tienen delimitadores o cuando se utilizan como un nombre de archivo.
v Cuando se utilizan como un argumento de mandato, las comillas dobles, símbolo del dólar, asterisco,
comillas dobles (″$*″) equivalen a ″$1d$2d...″, donde d es el primer carácter del parámetro IFS.
v Comillas dobles, arroba, asterisco, comillas dobles (″$@″) equivale a ″$1″ ″$2″ ....
v Dentro de los acentos graves (′′), la barra inclinada invertida delimita los caracteres: barra inclinada
invertida (\), comilla simple (’) y símbolo del dólar ($). Si los acentos graves se especifican entre
comillas dobles (″ ″), la barra inclinada invertida también delimita al carácter de comillas dobles.
v La sustitución de los parámetros y de los mandatos tiene lugar dentro de las comillas dobles (″ ″).
v El significado especial de las palabras reservadas o alias se elimina especificando entre delimitadores
cualquier carácter de la palabra reservada. No puede especificar delimitadores en los nombres de las
funciones o en los nombres de los mandatos incorporados.
v “Información relacionada con el shell Korn” en la página 209
Las palabras reservadas sólo se reconocen cuando aparecen sin delimitadores y cuando la palabra se
utiliza como:
v Primera palabra de un mandato
v Primera palabra que sigue a una de las palabras reservadas que no sea case, for o in
v Tercera palabra de un mandato case o for (en este caso, sólo es válida in).
El primer carácter de un nombre de alias puede ser cualquier carácter imprimible, excepto los
metacaracteres. Los caracteres restantes deben ser los mismos que los de un identificador válido. La
serie de sustitución puede contener cualquier texto de shell válido, incluidos los metacaracteres.
Para crear, listar y exportar alias, utilice el mandato alias. Los alias se eliminan con el mandato unalias.
donde el parámetro Nombre especifica el nombre del alias y el parámetro Serie especifica el valor del
alias.
Los siguientes alias exportados están predefinidos por el shell Korn, pero pueden perder su definición o
redefinirse. Se recomienda no cambiarlos, ya que ello podría confundir después a cualquier persona que
esperara que el alias funcionara tal como ksh lo ha definido.
autoload='typeset -fu'
false='let 0'
functions='typeset -f'
hash='alias -t'
history='fc -l'
integer='typeset -i'
nohup='nohup '
r='fc -e -'
true=':'
type='whence -v'
Los alias no reciben soporte en invocaciones no interactivas del shell Korn (ksh); por ejemplo, en un script
de shell o con la opción -c en ksh, como en el caso siguiente:
ksh -c alias
Para obtener más información acerca de los alias, consulte el apartado Creación de un alias de mandato
(“Creación de un alias de mandato (mandato de shell alias)” en la página 29) y el mandato alias en la
publicación AIX 5L Version 5.1 Commands Reference.
El mandato set -h activa el seguimiento de mandatos para que cada vez que se haga referencia a un
mandato, el shell defina el valor de un alias con seguimiento de vía. La definición de este valor se elimina
cada vez que vuelve a establecerse la variable PATH.
El seguimiento de estos alias permanece, de forma que la siguiente referencia redefinirá el valor. Algunos
alias de seguimiento de vía se compilan en el shell.
Sustitución de la tilde
Después de que el shell ha realizado la sustitución de alias, éste comprueba cada palabra para verificar si
empieza por una tilde (x). Si es así, el shell comprueba la palabra, hasta la primera barra inclinada (/),
El shell no cambia el texto original si no encuentra una coincidencia. El shell Korn también realiza
sustituciones especiales si el carácter x es el único carácter de la palabra o si va seguido de un signo
más (+) o de un guión (-):
Asimismo, el shell intenta realizar la sustitución de la tilde cuando el valor de un parámetro de asignación
de variable empieza por un carácter de tilde x.
v “Información relacionada con el shell Korn” en la página 209
El mandato incorporado especial typeset asigna valores y atributos a los parámetros con nombre. Los
atributos que reciben el soporte del shell Korn se describen con el mandato incorporado especial typeset.
Los parámetros exportados pasan valores y atributos al entorno.
El shell soporta un recurso de matrices unidimensionales. Una subserie hace referencia a un elemento de
un parámetro de matriz. Un subíndice se indica mediante una expresión aritmética especificada entre
corchetes ([ ]). Para asignar valores a una matriz, utilice set -A Nombre Valor... El valor de todos los
subscripts debe estar en el rango de 0 a 511. No es necesario declarar las matrices. Cualquier referencia
A los parámetros de posición se les asignan valores mediante el mandato especial set. El parámetro $0
se establece a partir del argumento 0 al invocarse el shell. El carácter $ se utiliza para introducir
parámetros sustituibles.
Sustitución de parámetros
A continuación se muestran parámetros sustituibles:
${Parámetro} El shell lee todos los caracteres desde ${ hasta el } de cierre como si formaran
parte de la misma palabra, incluso si esa palabra contiene llaves o metacaracteres.
Se sustituye el valor, si lo hay, del parámetro especificado. Las llaves son
necesarias cuando el parámetro Parámetro va seguido de una letra, un dígito o una
carácter de subrayado que no va a interpretarse como parte de su nombre o bien
cuando en un subíndice se ha incluido un parámetro con nombre.
@ Expande los parámetros de posición, empezando por $1. Cada parámetro está separado por un
espacio.
Si utiliza ″ para delimitar $@, el shell considera que cada parámetro de posición es una serie
separada. Si no existe ningún parámetro de posición, el shell expande la sentencia para obtener una
serie nula sin comillas.
* Expande los parámetros de posición, empezando por $1. El shell separa cada parámetro utilizando
el primer carácter del valor del parámetro IFS.
Si utiliza ″ para delimitar $*, el shell incluye los valores de los parámetros de posición entre comillas
dobles. Cada valor está separado por el primer carácter del parámetro IFS.
# Especifica el número (en decimales) de parámetros posicionales pasados al shell, sin contar el
nombre del propio procedimiento de shell. De este modo, el parámetro $# produce el número del
parámetro de posición con la numeración más alta que se ha establecido. Una de las utilizaciones
principales de este parámetro es comprobar la presencia del número necesario de argumentos.
- Proporciona distintivos al shell al invocarse o bien con el mandato set.
? Especifica el valor de salida del último mandato ejecutado. Su valor es una serie decimal. La
mayoría de mandatos devuelve 0 para indicar que se ha finalizado satisfactoriamente. El propio shell
devuelve el valor actual del parámetro $? como valor de salida.
$ Identifica el número de proceso de este shell. Puesto que los números de proceso son exclusivos
entre todos los procesos existentes, esta serie de un máximo de 5 dígitos suele utilizarse para
generar nombres exclusivos para archivos temporales.
subrayado(_) Indica inicialmente el nombre absoluto de vía de acceso del shell o script que se ejecuta
a medida que se pasa en el entorno. Consiguientemente, se asigna el último argumento
del mandato anterior. Este parámetro no se define para mandatos que son asíncronos.
Este parámetro también se utiliza para contener el nombre del archivo MAIL coincidente
cuando se comprueba si existe correo.
ERRNO Especifica un valor que define la subrutina que ha fallado más recientemente. Este valor
depende del sistema y está destinado a propósitos de depuración.
LINENO Especifica el número de la línea actual en el script o función que se ejecuta.
OLDPWD Indica el directorio de trabajo anterior que ha establecido el mandato cd.
OPTARG Especifica el valor del último argumento de opción que ha procesado el mandato
incorporado normal getopts.
OPTIND Especifica el índice del último argumento de opción que ha procesado el mandato
incorporado normal getopts.
PPID Identifica el número de proceso del shell padre.
PWD Indica el directorio de trabajo actual que ha establecido el mandato cd.
Nota: Una vez transcurrido el período de tiempo de espera, existe una pausa de 60
segundos antes de la salida del shell.
VISUAL Si el valor de esta variable termina por emacs, gmacs o vi, se activa la opción correspondiente.
El shell proporciona valores por omisión para los parámetros PATH, PS1, PS2, MAILCHECK, TMOUT y
IFS, pero los parámetros HOME, SHELL, ENV y MAIL no son parámetros que el shell establece (aunque
el parámetro HOME se establece mediante el mandato login).
Nota: Aunque ksh acepta la sintaxis con acentos graves, se considera obsoleta en los estándares
XPG4 y POSIX. En estos estándares se recomienda que las aplicaciones portátiles, utilicen la
sintaxis $(mandato).
En el ejemplo siguiente, los caracteres $( ) que delimitan el mandato indican que la salida del mandato
whoami se sustituye:
echo Mi nombre es: $(whoami)
También puede sustituir expresiones aritméticas especificándolas entre ( ). Por ejemplo, el mandato:
echo Cada hora contiene $((60 * 60)) segundos
El shell Korn o shell POSIX elimina todos los caracteres de nueva línea finales cuando efectúa sustitución
de mandatos. Por ejemplo, si el directorio actual contiene los archivos file1, file2 y file3, el mandato:
echo $(ls)
Para conservar los caracteres de nueva línea, inserte el mandato sustituido entre ″ ″:
echo "$(ls)"
Las expresiones aritméticas utilizan la misma sintaxis, prioridad y asociatividad de las expresiones del
lenguaje C. Reciben soporte todos los operadores integrales, a excepción del signo más doble (++), el
guión doble (—), el signo de interrogación, los dos puntos (?: ) y la coma (,). En la tabla de Operadores
aritméticos del shell Korn que aparece a continuación se indican los operadores de shell Korn o de shell
POSIX válidos, en orden de prioridad descendente:
La mayoría de los operadores aritméticos, como *, &, < y >, tienen un significado especial para el shell
Korn o el shell POSIX. Estos caracteres deben estar delimitados. Por ejemplo, para multiplicar el valor
actual de y por 5 y volver a asignar un nuevo valor a y, utilice la expresión siguiente:
let "y = y * 5"
Puede agrupar operaciones dentro de las expresiones del mandato let para forzar la agrupación. Por
ejemplo, en la expresión:
let "z = q * (z - 10)"
El shell Korn o el shell POSIX incluye un formato alternativo del mandato let si sólo va a evaluarse una
única expresión. El shell trata a los mandatos que se especifican entre paréntesis dobles (( )) como si
fueran expresiones especificadas entre comillas. Por lo tanto, la expresión:
((x = x / 3))
equivale a:
let "x = x / 3"
Se hace referencia a los parámetros designados por nombre en una expresión aritmética sin utilizar la
sintaxis de sustitución de parámetros. Cuando se hace referencia a un parámetro definido, su valor se
evalúa como si fuera una expresión aritmética.
Especifique una representación interna de enteros de un parámetro definido con el distintivo -i del
mandato especial incorporado typeset. Mediante la utilización del distintivo -i, la evaluación aritmética se
realiza en el valor de cada asignación a un parámetro definido. Si no especifica una base aritmética, la
primera asignación al parámetro determina la base aritmética. Esta base se utiliza cuando tiene lugar la
sustitución del parámetro.
Cuando el shell utiliza un patrón para la sustitución del nombre de archivo, los caracteres . y / deben
coincidir explícitamente.
Nota: El shell Korn no trata a estos caracteres de forma especial en otras instancias de la patrones
de coincidencia.
Los siguientes caracteres de patrones de coincidencia indican las sustituciones que se indican a
continuación:
También puede utilizar la notación [:clasecarácter:] para buscar la coincidencia de los nombres de
archivos que están dentro de una indicación de rango. Este formato indica al sistema que busque la
coincidencia de cualquier carácter que pertenezca a la clase. La definición de los caracteres que
constituyen una clase de caracteres específica está presente en la categoría LC_CTYPE de la subrutina
setlocale. Se reconocen todas las clases de caracteres especificadas en el entorno local actual.
El shell Korn da soporte a la expansión del nombre del archivo basándose en la comparación de los
elementos o símbolos, o clases de equivalencia.
Una ListaPatrones es una lista de uno o más patrones separados por una |. Los patrones compuestos se
forman con uno o más de los caracteres siguientes:
La coincidencia con patrones tiene algunas restricciones. Si el primer carácter del nombre de un archivo
es un punto (.), éste sólo puede coincidir con un patrón que también empiece por un punto. Por ejemplo, *
coincide con los nombres de archivos myfile y yourfile, pero no con los nombres de archivos .myfile y
.yourfile. Para buscar la coincidencia con estos archivos, utilice un patrón como, por ejemplo, el
siguiente:
.*file
Si un patrón no coincide con ninguno de los nombres de archivos, el propio patrón se devuelve como el
resultado de la coincidencia que se ha intentado realizar.
Los nombres de los archivos y de los directorios no deben contener los caracteres *, ? , [ o ] ya que éstos
pueden provocar una repetición infinita (es decir, bucles infinitos) durante los intentos de búsqueda de
patrones de coincidencia.
Eliminación de delimitadores
Los caracteres delimitadores, la barra inclinada invertida (\), el apóstrofo (’) y las comillas dobles (″) que
incluía la palabra original se eliminarán, a menos que, a su vez, se especifiquen entre delimitadores.
v “Información relacionada con el shell Korn” en la página 209
El shell realiza la sustitución del mandato y del parámetro antes de utilizar el parámetro Palabra o Dígito,
excepto en los casos indicados. La sustitución de nombres de archivo sólo se produce si el patrón
coincide con un solo archivo y no se efectúa interpretación de blancos.
<Palabra Utiliza el archivo que especifica el parámetro Palabra como entrada estándar (descriptor de archivo
0).
>Palabra Utiliza el archivo que especifica el parámetro Palabra como salida estándar (descriptor de archivo
1). Si el archivo no existe, el shell lo crea. Si el archivo existe y se ha especificado la opción
noclobber, se produce un error; de lo contrario, el archivo se trunca en la longitud cero.
>|Palabra El igual que el mandato >Palabra, a excepción de que esta sentencia de redirección altera
temporalmente la opción noclobber.
> >Palabra Utiliza el archivo que especifica el parámetro Palabra como salida estándar. Si el archivo existe
actualmente, el shell añade la salida al mismo (buscando primero el carácter de fin de archivo). Si
el archivo no existe, el shell lo crea.
<>Palabra Abre el archivo que especifica el parámetro Palabra para su lectura y grabación como entrada
estándar.
<<[-]Palabra Lee cada línea de la entrada del shell hasta que localiza una línea que contiene únicamente el
valor del parámetro Palabra o un carácter de fin de archivo. El shell no efectúa sustitución de
parámetros, sustitución de mandatos o sustitución de nombres de archivo en el archivo
especificado. El documento que resulta, denominado documento de entrada en línea, pasa a ser la
entrada estándar. Para obtener más información acerca de un documento de entrada en línea,
consulte el apartado “Documentos de entrada en línea (here)” en la página 47. Si algún carácter
del parámetro Palabra está delimitado, no se realizará ninguna interpretación de los caracteres del
documento.
El documento presente se interpreta como una sola palabra que comienza después del carácter de nueva
línea y continúa hasta que hay una línea que contiene únicamente el delimitador, sin caracteres en blanco
finales. De este modo, comienza, si existe, el siguiente documento presente. El formato es:
[n]<<palabra
documento de entrada en línea
delimitador
El shell efectúa sustitución de parámetros para los datos redirigidos. Para evitar que el shell interprete los
caracteres \, $ y la comilla simple (’) y el primer carácter del parámetro Palabra, especifique un carácter \
delante de los caracteres.
Si se añade un - a <<, el shell eliminará todas las tabulaciones iniciales del parámetro Palabra y del
documento.
<&Dígito Duplica la entrada estándar del descriptor de archivo especificado por el parámetro
Dígito.
>&Dígito Duplica la salida estándar del descriptor de archivo que especifica el parámetro Dígito.
<&- Cierra la entrada estándar.
>&- Cierra la salida estándar.
El orden en que se especifica la redirección es importante. El shell evalúa la redirección, de acuerdo con
la asociación (DescriptorArchivo, Archivo), en el momento de realizar la evaluación. Por ejemplo, en la
sentencia:
... 1>Archivo 2>&1
el descriptor de archivo 1 está asociado al archivo que especifica el parámetro Archivo. El shell asocia el
descriptor de archivo 2 al archivo que se asocia al descriptor de archivo 1 (Archivo). Si se invirtiera el
orden de las redirecciones, el descriptor de archivo 2 se asociaría al terminal (dando por supuesto que
anteriormente hubiera sido el descriptor de archivo 1) y el descriptor de archivo 1 se asociaría al archivo
que especifica el parámetro Archivo.
Si un mandato va seguido de un & y el control de trabajos no está activo, la entrada estándar por omisión
para el mandato es el archivo vacío, /dev/null. De lo contrario, el entorno para la ejecución de un
mandato contiene los descriptores de archivo del shell que efectúa la llamada mediante las
especificaciones de entrada y de salida.
Para obtener más información acerca de la redirección, consulte el “Capítulo 4. Redirección de entrada y
salida” en la página 43.
Recurso de coproceso
El shell Korn, o shell POSIX, le permite ejecutar uno o más mandatos como procesos en segundo plano.
Estos mandatos, que se ejecutan desde un script de shell, se denominan coprocesos. Los coprocesos
son útiles cuando desea comunicar con un programa.
Un coproceso se designa colocando el operador |& detrás de un mandato. Tanto la entrada como la
salida estándar del mandato se enlazan con el script.
El mandato print -p le permite escribir en el coproceso. Para leer desde el coproceso, emita el mandato
read -p.
Una vez se ha efectuado esta operación, puede utilizar la sintaxis de redirección estándar para redirigir la
salida del mandato al coproceso. También puede iniciar otro coproceso. La salida de ambos coprocesos
se asocia al mismo conducto y se lee con el mandato read -p. Para detener el coproceso, escriba:
read -u5
En el caso de un shell no interactivo, un error que haya encontrado un mandato incorporado especial u
otro tipo de mandato dará lugar a que el shell grabe un mensaje de diagnóstico, como el que se muestra
en la tabla siguiente:
Si alguno de los errores se muestra como ″finalizará (puede finalizar)″ se produce en un subshell, el
subshell finalizará (puede finalizar) con un estado distinto a cero, pero el script que contiene el subshell
no finalizará a causa del error.
En todos los casos que se muestran en la tabla, un shell interactivo grabará un mensaje de diagnóstico
en el error estándar, sin finalizar.
Para obtener más información acerca de la redirección, consulte el apartado ″“Redirección de entrada y
de salida en el shell Korn o shell POSIX” en la página 181″.
Evaluación aritmética El shell Korn, o shell POSIX, puede efectuar aritmética de enteros utilizando el mandato let
incorporado, utilizando cualquier base de 2 a 36. En el apartado “Evaluación aritmética en el
shell Korn o shell POSIX” en la página 177 se proporciona una descripción más detallada de
esta función.
Histórico de El shell Korn o shell POSIX almacena un archivo que registra todos los mandatos que entre.
mandatos Puede utilizar un editor de texto para alterar un mandato en este archivo histórico y volver a
emitir el mandato. Para obtener más información acerca de la función del histórico de
mandatos, consulte el apartado “Histórico de mandatos del shell Korn o shell POSIX” en la
página 185.
Recurso de En el apartado “Recurso de coproceso” en la página 182 se proporciona información que le
coproceso permitirá ejecutar programas como procesos de fondo y enviar y recibir información para
esos procesos de fondo.
Edición El shell Korn o shell POSIX ofrece opciones de edición en línea que le permiten editar la
línea de mandatos. Están disponibles editores similares a emacs, gmacs y vi. En el apartado
“Edición en línea en el shell Korn o shell POSIX” en la página 200 se proporciona una
descripción más detallada de esta función.
Si modifica los valores de los parámetros del shell o crea nuevos valores utilizando los mandatos export
o typeset -x, los parámetros formarán parte del entorno. Por lo tanto, desde el punto de vista de cualquier
mandato ejecutado, el entorno se compone de pares nombre-valor originalmente heredados por el shell,
cuyos valores podría modificar el shell actual, además de cualquier adición que resulte de la utilización de
los mandatos export o typeset -x. El mandato ejecutado (subshell) verá las modificaciones que crea para
las variables de entorno que ha heredado, pero necesitará exportar dichas variables para sus shells o
procesos hijo para ver los valores modificados.
Nota: Esta función está pensada para utilizarse con los scripts que se han escrito para versiones
anteriores del shell. Se recomienda encarecidamente que no se utilice en scripts nuevos.
Si el shell se inicia mediante el mandato exec y el primer carácter del argumento cero ($0) es el guión (-),
se da por supuesto que el shell es un shell de inicio de sesión. El shell primero lee los mandatos del
archivo /etc/profile y, a continuación, del archivo .profile del directorio actual o del archivo
$HOME/.profile, si existe uno de estos archivos. Seguidamente, el shell lee los mandatos del archivo
indicado realizando la sustitución de parámetros en el valor de la variable de entorno ENV, si existe el
archivo.
Si especifica el parámetro Archivo [Parámetro] al invocar al shell Korn o al shell POSIX, el shell ejecuta el
archivo de script que identifica el parámetro Archivo, incluidos los parámetros especificados. El archivo de
script especificado debe tener permiso de lectura; los valores setuid y setgid se pasan por alto. El shell
lee a continuación los mandatos.
Consulte el apartado “Sustitución de parámetros en el shell Korn o shell POSIX” en la página 172 para
obtener más información acerca de los parámetros de posición.
Si no especifica un programa editor como argumento para el mandato incorporado normal fc, se utiliza el
editor que especifica la variable FCEDIT. Si no se ha definido la variable FCEDIT, se utiliza el archivo
/usr/bin/ed. El mandato o mandatos editados se imprimen y ejecutan cuando sale del editor.
El guión del nombre del editor (-) se utiliza para saltar la fase de edición y volver a ejecutar el mandato.
En este caso, puede utilizarse un parámetro de sustitución en el formato Antiguo=Nuevo para modificar el
mandato antes de que se ejecute. Por ejemplo, si para r se especifica el alias fc -e -, cuando se escriba
r bad=good c se ejecutará el mandato más reciente que empiece por la letra c y se sustituirá la primera
aparición de la serie bad por la serie good.
Para obtener más información acerca de la utilización del mandato de shell history, consulte el apartado
“Listado de los mandatos entrados anteriormente (mandato de shell history)” en la página 26 y el mandato
fc en la publicación AIX 5L Version 5.1 Commands Reference.
Consulte el apartado “Lista de mandatos incorporados del shell Korn o shell POSIX” en la página 197 para
ver un listado alfabético de estos mandatos.
Los mandatos especiales incorporados se diferencian de los mandatos normales incorporados de este
modo:
v Un error de sintaxis en un mandato incorporado especial podría dar lugar a la finalización del shell que
ejecuta el mandato. Esto no ocurre si se produce un error de sintaxis en un mandato normal
incorporado. Si un error de sintaxis en un mandato especial incorporado no finaliza el programa de
shell, el valor de salida es distinto de cero.
v Las asignaciones de variables especificadas con mandatos especiales incorporados permanecen
vigentes después de que se complete el mandato. Esta situación no se produce con los mandatos
normales incorporados.
v Las redirecciones de E/S se procesan después de las asignaciones de parámetros.
Además, las palabras que están en el formato de una asignación de parámetro a continuación de los
mandatos especiales export, readonly y typeset se expanden con las mismas normas que la asignación
de un parámetro. Esto significa que la sustitución de la tilde se realiza después de = y que la subdivisión
de palabras y la sustitución del nombre del archivo no se realizan.
: [Argumento ...] Expande únicamente argumentos. Se utiliza cuando se necesita un mandato, como en la
condición then de un mandato if, pero cuando el mandato no ha de realizar ninguna acción.
. Archivo [Argumento Lee el archivo completo especificado y a continuación ejecuta los mandatos. Los mandatos
...] se ejecutan en el entorno de shell actual. La vía de búsqueda que especifica la variable
PATH se utiliza para buscar el directorio que contiene el archivo especificado. Si se
especifican argumentos, pasan a ser los parámetros posicionales. De lo contrario, los
parámetros posicionales permanecen intactos. El estado de salida es el estado del último
mandato ejecutado. Consulte el apartado “Sustitución de parámetros en el shell Korn o shell
POSIX” en la página 172 para obtener más información acerca de los parámetros de
posición.
Nota: El mandato .Archivo [Argumento ...] lee todo el archivo antes de que se ejecuten
los mandatos. Por lo tanto, los mandatos alias y unalias del archivo no se aplican a
las funciones que se definen en el archivo.
break [n] Sale del bucle de delimitación for, while, until o select, si existe uno. Si especifica el
parámetro n, el mandato realizará interrupciones basándose en el número de niveles que se
especifica mediante el parámetro n. El valor de n puede ser cualquier entero igual o mayor
que 1.
continue [n] Reanuda la siguiente iteración del bucle de delimitación for, while, until o select. Si
especifica la variable n, el mandato se reanudará en el bucle delimitador que ocupe la
posición n. El valor de n puede ser cualquier entero igual o mayor que 1.
eval [Argumento ...] Lee los argumentos especificados como entrada al shell y ejecuta el mandato o mandatos
resultantes.
exec [Argumento ...] Ejecuta un mandato especificado por el argumento en lugar de este shell (sin crear un
proceso nuevo). Los argumentos de entrada y salida pueden aparecer y afectar al proceso
actual. Si no especifica un argumento, el mandato exec modificará los descriptores de
archivos de conformidad con la lista de redirección de entrada y salida. En este caso,
cuando haya más de dos descriptores de archivo que se abren con este mecanismo se
cierra cuando se llama a otro programa.
exit [n] Sale del shell con el estado de salida que especifica el parámetro n. El parámetro n debe ser
un entero decimal sin signo entre el 0 y el 255. Si omite el parámetro n, el estado de salida
será el del último mandato ejecutado. Un carácter de fin de archivo también provoca la salida
del shell, a menos que se haya activado la opción ignoreeof del mandato especial set.
export -p [Nombre[= Marca los nombres especificados para su exportación automática al entorno de los mandatos
Valor]] ... que se ejecutarán posteriormente.
-p graba en salida estándar los nombres y valores de todas las variables exportadas, en el
formato siguiente:
"export %s= %s\n", <nombre> <valor>
newgrp [Grupo] Equivale al mandato exec/usr/bin/newgrp [Grupo].
-p graba en salida estándar los nombres y valores de todas las variables exportadas, en el
formato siguiente:
"export %s= %s\n", <nombre> <valor>
return [n] Hace que la función de un shell vuelva al script de llamada. El estado de retorno se
especifica mediante la variable n. Si omite la variable n, el estado de retorno será el del
último mandato ejecutado. Si invoca el mandato return fuera de una función o de un script,
será igual al de un mandato exit.
Para obtener una lista completa de los valores del parámetro Señal, que se utilizan en el
mandato trap sin el prefijo SIG, consulte la subrutina sigaction, sigvec o signal en la
publicación AIX 5L Version 5.1 Technical Reference: Base Operating System and Extensions
Volume 2.
-t Identifica los parámetros designados. El usuario puede definir los y no tiene ningún
significado especial para el shell.
-u Convierte todos los caracteres en minúsculas a caracteres mayúsculas. El distintivo
de minúsculas -l está desactivado.
-x Marca el nombre que especifica el parámetro Nombre para su exportación
automática al entorno de los mandatos que se ejecutarán posteriormente.
La utilización de un signo + en lugar de un signo - desactiva los distintivos del
mandato typeset. Si no especifica parámetros Nombre pero sí especifica distintivos,
se imprimirá una lista de los nombres (y, opcionalmente, de los valores) de los
parámetros en los que se han establecido esos distintivos. (La utilización de un
signo + en lugar de un signo - impide que se impriman los valores.) Si no especifica
nombres ni distintivos, se imprimen los nombres y atributos de todos los
parámetros.
Si se define el distintivo -f, Nombre hace referencia al nombre de una función y el shell
eliminará la definición de la función.
alias [-t ] [-x ] Crea o redefine las definiciones de alias o graba definiciones de alias existentes en la salida
[NombreAlias[=Serie]] estándar.
...
Para obtener más información, consulte el mandato alias en la publicación AIX 5L Version
5.1 Commands Reference.
bg [IDTrabajo...] Sitúa el trabajo especificado en segundo plano. El trabajo actual se establece como trabajo
de fondo si el parámetro IDTrabajo no se ha especificado. Consulte el apartado “Control de
trabajos en el shell Korn o shell POSIX” en la página 199 para obtener más información
acerca del control de trabajos.
Para obtener más información acerca de la ejecución de los trabajos como trabajos de
fondo, consulte el mandato bg en la publicación AIX 5L Version 5.1 Commands Reference.
cd [Argumento]
cd Viejo Nuevo Este mandato puede estar en uno de los dos formatos. En el primer formato, cambia del
directorio actual al directorio que especifica el parámetro Argumento. Si el valor del
parámetro Argumento es -, se cambia al directorio anterior. La variable de shell HOME es el
valor por omisión del parámetro Argumento. La variable PWD se establece en el valor del
directorio actual.
La variable de shell CDPATH define cada vía de búsqueda del directorio que contiene el
valor del parámetro Argumento. Los nombres de los directorios alternativos se separan por
medio de un carácter :. La vía de acceso por omisión es nula, especificando el directorio
actual. El directorio actual está especificado por un nombre de vía de acceso nulo, que
aparece inmediatamente después del signo de igual o entre los delimitadores de dos puntos
en cualquier parte de la lista de vías de acceso. Si el argumento especificado empieza por
una /, no se utiliza la vía de búsqueda. De lo contrario, se busca en todos los directorios de
la vía de acceso.
El segundo formato del mandato cd sustituye la serie que especifica la variable Nuevo por la
serie que especifica la variable Viejo para el nombre del directorio actual, PWD, e intenta
cambiar al nuevo directorio.
command [-p ]
NombreMandato
[Argumento ...]
command [-v | -V ] Command hace que el shell trate al mandato y argumentos especificados como si fueran un
NombreMandato mandato simple, suprimiendo la búsqueda de función del shell.
Para obtener más información, consulte el mandato fc en la publicación AIX 5L Version 5.1
Commands Reference.
fg [IDTrabajo] Sitúa cada trabajo especificado en el primer plano. Si no especifica ningún trabajo, el
mandato sitúa el trabajo actual en el primer plano.
Para obtener más información acerca de la ejecución de los trabajos como trabajos en
primer plano, consulte el mandato fg en la publicación AIX 5L Version 5.1 Commands
Reference.
getopts SerieOpción Comprueba el parámetro Argumento en busca de opciones legales.
Nombre [Argumento ...]
Para obtener más información, consulte el mandato getopts en la publicación AIX 5L Version
5.1 Commands Reference.
jobs [-l | -n | -p ] Muestra el estado de trabajos iniciados en el entorno de shell actual. Si no es ha
[IDTrabajo ...] especificado ningún trabajo específico con el parámetro IDTrabajo, se visualiza la
información de estado de todos los trabajos activos. Si se informa de la finalización de un
trabajo, el shell elimina el ID del proceso de dicho trabajo de la lista de los que conoce el
entorno de shell actual.
Para obtener más información, consulte el mandato jobs en la publicación AIX 5L Version
5.1 Commands Reference.
kill [ -s { NombreSeñal Envía una señal (por omisión, la señal SIGTERM) a un proceso en ejecución. Esta acción
| NúmeroSeñal } ] por omisión normalmente detiene los procesos. Si desea detener un proceso, especifique el
IDProceso... ID del proceso (PID) en la variable IDProceso. El shell informa al PID de cada proceso que
kill [ -NombreSeñal | está ejecutándose en segundo plano (a menos que inicie más de un proceso en un
-NúmeroSeñal ] conducto, en cuyo caso el shell informa del número del último proceso). También puede
IDProceso... utilizar el mandato ps para localizar el número de ID de proceso de mandatos.
kill -l [ EstadoSalida ] Lista nombres de señales.
Para obtener más información, consulte el mandato kill en la publicación AIX 5L Version 5.1
Commands Reference.
let Expresión ... Evalúa expresiones aritméticas especificadas. El estado de salida es 0 si el valor de la última
expresión es distinto de cero y 1 si sucede lo contrario. Consulte el apartado “Evaluación
aritmética en el shell Korn o shell POSIX” en la página 177 para obtener más información.
Estos valores se utilizan como valores por omisión cuando se añade un nuevo usuario al
sistema. Los valores se establecen con el mandato mkuser cuando el usuario se añade al
sistema o bien se cambian con el mandato chuser.
Las categorías de los límites pueden ser dinámicas o fijas. Los usuarios pueden cambiar sus
límites flexibles, hasta el valor máximo establecido por los límites fijos, utilizando el mandato
ulimit. Debe tener autorización de usuario root para cambiar los límites fijos de recursos.
Para obtener más información acerca de los límites de recursos del usuario y del sistema,
consulte la subrutina getrlimit, setrlimit o vlimit en la publicación AIX 5L Version 5.1
Technical Reference: Base Operating System and Extensions Volume 1.
umask [-S ] [Máscara] Determina los permisos de archivo. Este valor, junto con los permisos del proceso de
creación, determina los permisos de un archivo cuando se crea el archivo. El valor por
omisión es 022. Si no se especifica el parámetro Máscara, el mandato umask muestra en
salida estándar la máscara de creación en modalidad de archivos del entorno de shell actual.
Para obtener más información acerca de permisos de archivo, consulte el mandato umask
en la publicación AIX 5L Version 5.1 Commands Reference.
Para obtener más información, consulte el mandato unalias en la publicación AIX 5L Version
5.1 Commands Reference.
wait [IDProceso...] Espera al trabajo especificado y termina. Si no especifica un trabajo, el mandato espera a los
procesos hijo activos actualmente. El estado de salida de este mandato es el del proceso al
que espera.
Para obtener más información, consulte el mandato wait en la publicación AIX 5L Version
5.1 Commands Reference.
whence [-pv ] Nombre Indica, para cada nombre especificado, cómo se interpretaría si se utilizara como un nombre
... de mandato. Cuando se utilice sin ninguno de los distintivos, whence visualizará el nombre
absoluto de vía de acceso, si existe, que corresponde a cada nombre.
-p Efectúa una búsqueda de vías de acceso del nombre o nombres especificados si
son alias, funciones o palabras reservadas.
-v Genera un informe más detallado en el que se especifica a qué tipo corresponde
cada nombre.
Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 para obtener
más información.
-a Archivo Verdadero, si el archivo especificado es un enlace simbólico que señala a otro archivo que
existe.
-b Archivo Verdadero, si existe el archivo especificado y es un archivo especial de bloque.
-c Archivo Verdadero, si el archivo especificado existe y es un archivo especial de caracteres.
-d Archivo Verdadero, si existe el archivo especificado y es un directorio.
-e Archivo Verdadero, si existe el archivo especificado.
-f Archivo Verdadero, si existe el archivo especificado y es un archivo ordinario.
-g Archivo Verdadero, si el archivo especificado existe y se ha establecido su bit setgid.
-h Archivo Verdadero, si existe el archivo especificado y es un enlace simbólico.
-k Archivo Verdadero, si existe el archivo especificado y se ha definido su bit reversible.
-n Serie Verdadero, si la longitud de la serie especificada es distinta de cero.
-o Opción Verdadero, si la opción especificada está activada.
-p Archivo Verdadero, si existe el archivo especificado y es un archivo especial FIFO o un conducto.
-r Archivo Verdadero, si el archivo especificado existe y el proceso actual puede leerlo.
-s Archivo Verdadero, si existe el archivo especificado y su tamaño es mayor que 0.
-t DescriptorArchivo Verdadero, si está abierto un número de descriptor de archivo especificado y está asociado
con un dispositivo de terminal.
-u Archivo Verdadero, si el archivo especificado existe y se ha establecido su bit setuid.
-w Archivo Verdadero, si existe el archivo especificado y el bit de grabación está activado. No obstante,
no será posible grabar el archivo en un sistema de archivos de sólo lectura aunque su
prueba indique que es verdadero.
-x Archivo Verdadero, si el archivo especificado existe y el distintivo execute se ha activado. Si el
archivo especificado existe y es un directorio, el proceso actual tiene permiso para buscar en
el directorio.
-z Serie Verdadero, si la longitud de la serie especificada es 0.
-L Archivo Verdadero, si existe el archivo especificado y es un enlace simbólico.
Nota: En cada una de las expresiones anteriores, si la variable Archivo es parecida a /dev/fd/n,
donde n es un entero, la prueba se aplica al archivo abierto cuyo número de descriptor es n.
Puede crear una expresión compuesta a partir de estas expresiones primitivas utilizando cualquiera de las
expresiones siguientes, que se enumeran en orden descendente de precedencia:
Cuando un trabajo se inicia como proceso de fondo con un &, el shell imprime una línea que tiene un
aspecto similar al siguiente:
[1] 1234
Esto indica que el trabajo, que se ha iniciado como proceso de fondo, era el trabajo número 1. También
muestra que el trabajo tenía un proceso (de nivel superior) con el ID de trabajo 1234.
Un trabajo que se ejecuta en segundo plano se detiene e intenta leer desde el terminal. Normalmente, se
permite a los trabajos en segundo plano generar salida. Puede inhabilitar esta opción emitiendo el
mandato sttytostop. Si establece esta opción del terminal, los trabajos de fondo se detendrán cuando
intenten producir la salida o leer la entrada.
Puede hacer referencia a los trabajos del shell Korn de varios modos. A un trabajo se hace referencia por
medio del ID de proceso de cualquiera de sus procesos o bien de una de las formas siguientes:
Este shell sabe inmediatamente cuándo cambia el estado de un proceso. Normalmente, le informa
siempre que un trabajo queda bloqueado de forma que no es posible continuar. El shell realiza esta
acción justo antes de imprimir una indicación, por lo tanto, no vuelve a interrumpir el trabajo del usuario.
Cuando la modalidad de supervisión está habilitada, cada trabajo de fondo que se completa desencadena
las rupturas que se han establecido para la señal CHLD.
Si intenta abandonar el shell (escribiendo exit o utilizando la secuencia de teclas Control-D) mientras
existen trabajos que se han detenido o que están en ejecución, el sistema le avisa con el mensaje Hay
trabajos detenidos (ejecutándose). Utilice el mandato jobs para ver qué trabajos están afectados. Si,
inmediatamente, vuelve a intentar salir, el shell finalizará los trabajos detenidos y en ejecución sin
avisarle.
Manejo de señales
Las señales SIGINT y SIGQUIT de un mandato invocado se pasan por alto si el mandato va seguido de
un & y la opción monitor del trabajo no se ha activado. De lo contrario, las señales tienen los valores que
el shell hereda de su padre.
Cuando una señal para la que se ha definido una ruptura se recibe mientras el shell está esperando a
que finalice un mandato en primer plano, la ruptura asociada con dicha señal no se ejecutará hasta que
haya finalizado el mandato en primer plano. Por lo tanto, no se realiza una ruptura en una señal CHILD
hasta que finaliza el trabajo en primer plano.
v “Información relacionada con el shell Korn” en la página 209
set -o emacs Entra en la “Modalidad de edición emacs” e inicia un editor en línea de estilo emacs.
set -o gmacs Entra en la “Modalidad de edición emacs” e inicia un editor en línea de estilo gmacs.
set -o vi Entra en la “Modalidad de edición vi” en la página 203 e inicia un editor en línea de estilo vi.
Una opción de edición se selecciona automáticamente cada vez que a la variable VISUAL o EDITOR se
le asigna un valor que finaliza por cualquiera de estos nombres de opciones.
Nota: Para utilizar las funciones de edición, el terminal debe aceptar RETURN como retorno de
carro sin salto de línea. Un espacio debe sobregrabar el carácter actual de la pantalla.
Cada modalidad de edición abre una ventana en la línea actual. La anchura de la ventana es el valor de
la variable COLUMNS, si se ha definido; de lo contrario, la anchura equivale a 80 espacios de carácter. Si
la línea es superior a la anchura de la ventana menos dos, el sistema notifica que está viendo un marco
al final de la ventana. A medida que se mueve el cursor y llega a los límites de la ventana, la ventana se
centra alrededor del cursor. Las marcas visualizadas son:
Los mandatos de búsqueda en cada modalidad de edición proporcionan acceso al archivo histórico del
shell Korn. Sólo se coincide con series. Si el carácter inicial de la serie es un |, la coincidencia debe
empezar desde el primer carácter de la línea.
Los mandatos de edición funcionan desde cualquier lugar en una línea (no tiene por qué ser al principio).
No pulse la tecla Intro o el salto de línea (flecha abajo) después de mandatos de edición, excepto como
se indique.
Modalidad de edición vi
La modalidad de edición vi tiene dos tipos de modalidad de escritura. Cuando entra un mandato, está en
modalidad de entrada. Para editar, debe entrar la modalidad Control pulsando la tecla Esc.
La mayoría de los mandatos de control aceptan un parámetro Cuenta (o número total) de repetición
opcional delante del mandato. Cuando se está en modalidad vi en la mayoría de sistemas, se habilita
inicialmente el proceso canónico. Se hace un eco del mandato de nuevo si:
v La velocidad es de 1200 baudios o superior.
v El mandato contiene caracteres de control.
v Ha transcurrido menos de un segundo desde que se imprimió el indicador.
El carácter Esc termina el proceso canónico para el resto del mandato y puede entonces modificar la
línea de mandatos. Este esquema tiene las ventajas del proceso canónico con el eco de escritura
anticipado de la modalidad bruta. Si también se ha establecido la opción viraw, el proceso canónico
siempre está inhabilitado. Esta modalidad es implícita en los sistemas que no dan soporte a dos
delimitadores de fin de línea alternativos y podría ser útil para determinados terminales.
ERASE (Carácter para borrar definido por el usuario que se define en el mandato stty y que, por lo general,
corresponde a Control-H o a #.) Suprime el carácter anterior.
Control-W Suprime la palabra separada por blancos anterior.
Control-D Finaliza el shell.
[Cuenta]dMovimiento
d[Cuenta]Movimiento Suprime el carácter actual hasta, e inclusive, el carácter que especifica el parámetro
Movimiento. Si Movimiento es d, se suprime toda la línea.
i Entra en modalidad de entrada e inserta texto delante del carácter actual.
I Inserta texto antes del principio de la línea. Equivale al mandato 0i.
[Cuenta]P Sitúa la modificación de texto anterior antes del cursor.
[Cuenta]p Sitúa la modificación de texto anterior después del cursor.
R Entra en modalidad de entrada y escribe sobre los caracteres de la pantalla.
[Cuenta]rc Sustituye el número de caracteres que especifica el parámetro Cuenta, empezando
desde la posición actual del cursor, por el carácter que especifica el parámetro c.
Este mandato también avanza el cursor después de sustituir los caracteres.
[Cuenta]x Suprime el carácter actual.
[Cuenta]X Suprime el carácter anterior.
[Cuenta]. Repite el mandato de modificación de texto anterior.
[Cuenta]x Invierte las mayúsculas por minúsculas, o viceversa, que corresponden al número de
caracteres que especifica el parámetro Cuenta, empezando desde la posición actual
del cursor y hace que el cursor avance.
[Cuenta]_ Añade la palabra que especifica el parámetro Cuenta del mandato anterior y entra en
modalidad de entrada. Si se ha omitido el parámetro Cuenta, se utilizará la última
palabra.
* Añade un * a la palabra actual e intenta realizar la sustitución del nombre de archivo.
Si no se encuentra ninguna coincidencia, suena el timbre. De lo contrario, la palabra
se sustituye por el patrón coincidente y se entra en modalidad de entrada.
\ Finalización de nombre de archivo. Sustituye la palabra actual por el prefijo común
más largo de todos los nombres de archivo que coinciden con la palabra actual con
un asterisco añadido. Si la coincidencia es exclusiva, se añadirá una / si el archivo
es un directorio. Si el archivo no es un directorio, se añadirá un espacio.
[Cuenta]yMovimiento
y[Cuenta]Movimiento Extrae el carácter actual hasta, e inclusive, el carácter que marca la posición del cursor
que especifica el parámetro Movimiento y coloca todos esos caracteres en el
almacenamiento intermedio de supresión. El texto y el cursor permanecen intactos.
Y Mueve desde la posición actual hasta el final de la línea. Equivalente al mandato y$.
u Revierte el último mandato de modificación de texto.
U Revierte todos los mandatos de modificación de texto efectuados en la línea.
[Cuenta]v Devuelve el mandato fc -e ${VISUAL:-${EDITOR:-vi}} Cuenta del almacenamiento
intermedio de entrada. Si se ha omitido el parámetro Cuenta, se utilizará la línea actual.
Control-L Avanza una línea e imprime la línea actual. Este mandato sólo es vigente en modalidad
de control.
Control-J (Nueva línea) Ejecuta la línea actual, independientemente de la modalidad.
Control-M (Retorno) Ejecuta la línea actual, independientemente de la modalidad.
Funciones de ksh93
Las funciones siguientes están disponibles en /usr/bin/ksh93:
Mejoras Puede utilizar las funciones libm (funciones de correlación que normalmente se encuentran en
aritméticas el lenguaje de programación C), en expresiones aritméticas, tales como $ value=$((sqrt(9))).
Hay disponibles más operadores aritméticos, incluyendo los operadores monádicos +, ++, -- y
la construcción ?: (por ejemplo, ″x ? y : z″), así como el operador , (coma). Las bases
aritméticas se soportan hasta base 64. La aritmética de coma flotante también está soportada.
″typeset -E″ (exponencial) se puede utilizar para especificar el número de dígitos significativos
y ″typeset -F″ (flotante) se puede utilizar para especificar el número de espacios decimales
para la variable aritmética. Ahora la variable SECONDS se redondea a la centésima de segundo,
en lugar de al segundo.
Variables ksh93 da soporte a las variables compuestas. Una variable compuesta permite a un usuario
compuestas especificar varios valores en un solo nombre de variable. Se asigna a cada variable una
variable de subscripción, separada de la variable padre con un . (punto). Por ejemplo:
$ myvar=( x=1 y=2 )
$ print "${myvar.x}"
1
Asignaciones Se da soporte a las asignaciones compuestas al inicializar conjuntos, tanto para conjuntos
compuestas indexados como para conjuntos asociativos. Los valores de asignación están situados entre
paréntesis, tal como se muestra en el ejemplo siguiente:
$ numbers=( cero uno dos tres )
$ print ${numbers[0]} ${numbers[3]}
cero tres
Conjuntos Un conjunto asociativo es un conjunto con una cadena de caracteres como índice.
asociativos
El mandato typeset utilizado con el distintivo -A permite al usuario especificar conjuntos
asociativos en ksh93. Por ejemplo:
$ typeset -A teammates
$ teammates=( [juan]=ruiz [maría]=lopez )
$ print ${teammates[maría]}
lopez
En todas las funciones de disciplina, la variable especial .sh.name se define como el nombre
de la variable, mientras que .sh.subscript se define como el valor de subscripción de
variables, en caso de que sea aplicable.
“Sustitución del nombre del archivo en el shell Korn o POSIX” en la página 179
Los mandatos del shell Korn alias, cd, export, fc, getopts, read, set y typeset.
El archivo /etc/passwd.
“Shell Bourne”
Shell Bourne
El shell Bourne es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. El
mandato bsh ejecuta el shell Bourne.
El shell Bourne puede ejecutarse como un shell de inicio de sesión o como un subshell bajo el shell de
inicio de sesión. Sólo el mandato login puede llamar al shell Bourne como shell de inicio de sesión. Para
ello, éste utiliza un formato especial del nombre de mandato bsh: -bsh. Cuando la llamada se realiza con
un guión inicial (-), el shell lee y ejecuta en primer lugar los mandatos que se encuentran en el archivo
/etc/profile del sistema y en el archivo $HOME/.profile, si existe. El archivo /etc/profile establece las
variables que necesitan todos los usuarios. Finalmente, el shell está preparado para leer los mandatos de
la entrada estándar.
Si se especifica el parámetro Archivo [Parámetro] al iniciarse el shell Bourne, el shell ejecuta el archivo de
script que el parámetro Archivo identifica, incluidos los parámetros especificados. El archivo de script
especificado debe disponer de permiso de lectura; los valores setuid y setgid se pasan por alto. A
continuación se leen los mandatos. No deberá especificarse un archivo de script si se utiliza el distintivo
-c o -s.
El shell pasa a sus procesos hijo las variables con nombre como argumentos para el mandato export
incorporado. Este mandato coloca las variables con nombre en los entornos del shell y de sus futuros
procesos hijo.
Los parámetros de palabra clave son pares variable-valor que aparecen en forma de asignaciones, por lo
general antes del nombre del procedimiento en una línea de mandatos (pero véase también el distintivo
del mandato set). Estas variables se colocan en el entorno del procedimiento que está llamándose.
Por ejemplo, veamos el siguiente procedimiento simple, que visualiza los valores de dos variables
(guardadas en un archivo de mandatos denominado key_command):
# key_command
echo $a $b
Un procedimiento puede acceder a los valores de las variables de su entorno. No obstante, si cambia
alguno de estos valores, los cambios no se reflejan en el entorno de shell. Son locales para el
procedimiento en cuestión. Para colocar los cambios en el entorno que el procedimiento pasa a sus
procesos hijo, deberá exportar los nuevos valores que están dentro de ese procedimiento.
Para obtener una lista de las variables que pueden exportarse desde el shell actual, escriba:
export
Pulse Intro.
Para obtener una lista de las variables de sólo lectura del shell actual, escriba:
readonly
Pulse Intro.
Para obtener una lista de los pares variable-valor del entorno actual, escriba:
env
Pulse Intro.
Para obtener más información acerca de los entornos de usuario, consulte el apartado “Archivo
/etc/environment” en la página 143
Shell restringido
El shell restringido se utiliza para definir nombres de inicio de sesión y entornos de ejecución cuyas
posibilidades están más controladas que las del shell Bourne. El mandato Rsh o bsh -r abre el shell
restringido. El comportamiento de estos mandatos es idéntico al del mandato bsh, a excepción de que no
están permitidas las acciones siguientes:
v Cambiar de directorio (con el mandato cd).
v Establecer el valor de las variables PATH o SHELL.
v Especificar nombres de vías de acceso o de mandatos que contengan una barra inclinada (/).
v Restringir la salida.
Si el shell restringido determina que un mandato a ejecutar es un procedimiento de shell, utiliza el shell
Bourne para ejecutar el mandato. De este modo, es posible proporcionar a un usuario final
procedimientos de shell que accedan a la plena potencia del shell Bourne al mismo tiempo que impone un
menú limitado de mandatos. En este esquema se da por supuesto que el usuario final no dispone de
permisos de grabación y ejecución en el mismo directorio.
Si se especifica el parámetro Archivo [Parámetro] al iniciarse el shell Bourne, el shell ejecuta el archivo de
script que el parámetro Archivo identifica, incluidos los parámetros especificados. El archivo de script
especificado debe tener permiso de lectura. Los valores setuid y setgid de los archivos de script se
pasan por alto. El shell lee a continuación los mandatos.
Cuando se llama con el nombre Rsh, el shell restringido lee el archivo .profile del usuario
($HOME/.profile). Actúa como un shell Bourne normal mientras realiza esta operación, a excepción de
que una interrupción da lugar a una salida inmediata en lugar de a un retorno al nivel de los mandatos.
v “Información relacionada con el shell Bourne” en la página 227
Si el nombre del mandato no coincide ni con un mandato incorporado ni con el nombre de una función
definida y el mandato especifica el nombre de un archivo ejecutable que es un programa compilado
(binario), el shell (como padre) arranca un nuevo proceso (hijo) que ejecuta inmediatamente el programa.
Si el archivo está marcado como ejecutable, pero no es un programa compilado, el shell presupone que
es un procedimiento de shell. En este caso, el shell arranca otra instancia de sí mismo (un subshell), para
leer el archivo y ejecutar los mandatos que éste incluye. El shell también ejecuta un mandato entre
paréntesis en un subshell. Para el usuario final, se ejecuta un programa compilado exactamente del
mismo modo que un procedimiento de shell. El shell normalmente busca mandatos en directorios del
sistema de archivos, en este orden:
1. /usr/bin
2. /etc
3. /usr/sbin
4. /usr/ucb
5. $HOME/bin
6. /usr/bin/X11
7. /sbin
8. Directorio actual
El shell busca en cada directorio, por orden, continuando con el siguiente directorio si no puede encontrar
el mandato.
Nota: El orden en el que el shell realiza la búsqueda en los directorios lo determina la variable
PATH. Puede cambiar la secuencia particular de los directorios en los que ha de buscarse
estableciendo nuevamente la variable PATH.
el shell buscará en el directorio actual un directorio denominado bin y en el directorio del archivo myfile.
Nota: El shell restringido no ejecuta mandatos que contengan una barra inclinada (/).
El shell recuerda la ubicación de la vía de búsqueda de cada mandato ejecutado (para evitar posteriores
mandatos exec innecesarios). Si encuentra el mandato en un directorio relativo (cuyo nombre no
comienza por /), el shell debe volver a determinar la ubicación del mandato siempre que cambie el
directorio actual. El shell olvida todas las ubicaciones recordadas cada vez que cambia la variable PATH o
ejecuta el mandato hash -r.
Caracteres delimitadores
Muchos caracteres tienen un significado especial para el shell. Algunas veces deseará conocer dicho
significado. Los apóstrofos (’) y comillas (″) delimitando una serie o una barra inclinada invertida (\) antes
de un carácter le permiten adivinar el significado del carácter.
Todos los caracteres, excepto los apóstrofos delimitadores, se interpretan literalmente, eliminando
cualquier significado especial. De este modo, el mandato:
stuff='echo $? $*; ls * | wc'
asigna la serie literal echo $? $*; ls * | wc a la variable stuff. El shell no ejecuta los mandatos echo,
ls y wc ni expande las variables $?$* y el carácter especial * (asterisco).
Dentro de las comillas dobles, el significado especial de los caracteres $ (signo del dólar), ′ (acento grave)
y ″ (comillas dobles) siguen teniendo aplicación, mientras que todos los demás caracteres se toman
literalmente. De este modo, dentro de comillas, se efectúa la sustitución de mandatos y variables.
Además, los delimitadores no afectan a los mandatos de una sustitución de mandatos que es parte de la
serie delimitada, de forma que los caracteres conservan su significado especial.
Esto muestra que el carácter especial * (asterisco) dentro de la sustitución de mandatos se ha expandido.
Para ocultar el significado especial de los caracteres $ (signo de dólar), ′ (apóstrofo invertido) y ″
(comillas) delimitados por comillas, preceda dichos caracteres con una barra inclinada invertida (\).
Cuando no utilice delimitadores, preceder un carácter con una barra inclinada invertida es equivalente a
Manejo de señales
El shell pasa por alto las señales INTERRUPT y QUIT para un mandato invocado si el mandato finaliza
con un & (ampersand); es decir, si se ejecuta como proceso de fondo. De lo contrario, las señales tienen
los valores heredados del shell por su padre con la excepción de la señal SEGMENTATION VIOLATION.
Para obtener más información, consulte el mandato trap incorporado del shell Bourne.
A menos que se indique lo contrario, el valor devuelto por un mandato compuesto es el del último
mandato simple ejecutado.
Palabras reservadas
Las palabras reservadas siguientes sólo se reconocen cuando aparecen sin comillas como primera
palabra de un mandato:
for do done
case esac
if then fi
elif else
while until
{ }
( )
for Identificador [in Establece el parámetro Identificador en la palabra o palabras que el parámetro
Palabra . . .] do Lista done Palabra especifica (de una en una) y ejecuta los mandatos que se especifican en el
parámetro Lista. Si omite inPalabra . . ., el mandato for ejecuta el parámetro Lista
para cada parámetro de posición que se haya establecido y el proceso finaliza
cuando se han utilizado todos los parámetros de posición.
case Palabra in Patrón Ejecuta los mandatos que se han especificado en el parámetro Lista que se asocian
[|Patrón] . . . ) Lista;; [Patrón al primer parámetro Patrón que coincide con el valor del parámetro Palabra. Utiliza
[|Patrón] . . . ) Lista;;] . . . la misma notación coincidente de caracteres en patrones que se utilizan para
esac sustitución de nombres de archivo, excepto que una / (barra inclinada) punto . inicial
o un punto que sigue inmediatamente a una barra inclinada no tiene por qué
coincidir explícitamente.
if Lista then Lista [elif Lista Ejecuta los mandatos que se han especificado en el parámetro Lista que sigue al
then Lista] . . . [else Lista] fi mandato if. Si el mandato devuelve un valor de salida que sea cero, el shell ejecuta
el parámetro Lista que sigue al primer mandato then. De lo contrario, ejecuta el
parámetro Lista que sigue al mandato elif (si existe). Si este valor de salida es cero,
el shell ejecuta el parámetro Lista que sigue al siguiente mandato then. Si el
mandato devuelve un valor de salida distinto de cero, el shell ejecuta el parámetro
Lista que sigue al mandato else (si existe). Si no se realiza ningún else Lista o then
Lista, el mandato if devuelve un valor de salida cero.
Consulte el apartado “Lista de mandatos incorporados del shell Bourne” en la página 226 para ver un
listado alfabético de estos mandatos.
Los siguientes mandatos especiales se tratan de forma algo distinta a otros mandatos especiales
incorporados:
: (dos puntos) exec shift
. (punto) exit times
break export trap
continue readonly wait
eval return
Mandatos
incorporados
: Devuelve un valor de salida de cero.
. Archivo Lee y ejecuta mandatos del parámetro Archivo y vuelve. No inicia un subshell. El shell utiliza
la vía de búsqueda especificada por la variable PATH para localizar el directorio que
contiene el archivo especificado.
break [ n ] Sale de los bucles delimitadores del mandato for, while o until, si existe alguno. Si
especifica la variable n, el mandato break realizará interrupciones basándose en el número
de niveles que se especifica mediante la variable n.
Cualquier Argumento para el mandato set pasa a ser un parámetro posicional y se asigna,
por orden, a $1, $2, etc. Si no especifica un distintivo o un Argumento, el mandato set
visualizará todos los nombres y valores de las variables actuales del shell.
shift [n] Desplaza argumentos de línea de mandatos a la izquierda; es decir, reasigna el valor de los
parámetros posicionales desechando el valor actual de $1 y asignando el valor de $2 a $1,
de $3 a $2, etc. Si existen más de 9 argumentos de línea de mandatos, el décimo se
asignará a $9 y los restantes quedarán sin asignación (hasta después de ejecutarse otro
shift). Si existen 9 argumentos o menos, el mandato shift eliminará el establecimiento del
parámetro de posición con la numeración más alta que tenga un valor.
Nota: El shell explora el parámetro Mandato una vez cuando se establece la ruptura y
nuevamente cuando se acepta la ruptura.
El valor de recursos de shell depende del ID de usuario vigente del shell actual. El nivel fijo
de un recurso sólo puede definirse si el ID de usuario vigente del shell actual es raíz.
Recibirá un error si el usuario no es root e intenta definir el nivel fijo de un recurso. Por
omisión, el usuario root define los límites fijos y limitados de un recurso particular. Por lo
tanto, el usuario root debe tener cuidado al utilizar los valores de la utilización de límites del
distintivo -S, -H o del distintivo por omisión. A menos que sea un usuario root, sólo podrá
establecer el límite flexible de un recurso. Una vez que un usuario no root ha reducido un
límite, no puede aumentarse, incluso al límite del sistema original.
Para definir un límite de recurso, seleccione el distintivo apropiado y el valor límite del nuevo
recurso, que debe ser un entero. Sólo podrá establecer un límite de recurso cada vez. Si se
especifica más de un distintivo de recurso, recibirá resultados indefinidos. Por omisión, ulimit
con sólo un nuevo valor en la línea de mandatos establece el tamaño de archivo del shell.
La utilización del distintivo -f es opcional.
asigna una serie de caracteres que representa la fecha actual para la variable today. La siguiente
asignación guarda, en la variable files, el número de archivos del directorio actual:
files=′ls | wc -l′
Puede efectuar sustitución de mandatos en cualquier mandato que grabe a salida estándar.
Para anidar la sustituciones de mandatos, especifique delante de cada uno de los acentos graves
anidados una barra inclinada invertida (\), como en el ejemplo siguiente:
logmsg=′echo El directorio de inicio de sesión es \′pwd\′′
También puede especificar valores para las variables del shell de forma indirecta utilizando el mandato
especial read. Este mandato toma una línea de la entrada estándar (usualmente el teclado) y asigna
palabras consecutivas en dicha línea a cualquier variable designada. Por ejemplo:
read first init last
Los siguientes apartados le ofrecen información acerca de cómo crear y sustituir variables en el shell
Bourne:
v “Sustitución de variables en el shell Bourne” en la página 220
v “Variables definidas por el usuario” en la página 220
v “Sustitución condicional” en la página 223
v “Parámetros de posición” en la página 224
v “Sustitución de nombres de archivos en el shell Bourne” en la página 225
v “Clases de caracteres” en la página 225
Pulse Intro.
Un nombre es una secuencia de letras, dígitos y subrayados que comienza por un subrayado o una letra.
Para utilizar el valor que ha asignado a una variable, añada un símbolo de dólar ($) al principio de su
nombre. De esta forma, la variable $Nombre produce el valor que especifica la variable Serie. Observe
que no existen espacios alrededor del signo igual (=) en una sentencia de asignación. (No pueden
aparecer parámetros posicionales en una sentencia de asignación. Sólo pueden establecerse como se
describe en el apartado “Parámetros de posición” en la página 224.) Puede situar más de una asignación
en una línea de mandatos, pero recuerde que el shell efectúa las asignaciones de derecha a izquierda.
Si especifica la variable Serie entre comillas dobles o comillas simples (″ o ’), el shell no tratará los
blancos, las tabulaciones, los caracteres de punto y coma y los caracteres de nueva línea que están
dentro de la serie como delimitadores de palabra, sino que los intercalará literalmente en la serie.
Si especifica la variable Serie entre comillas dobles (″), el shell seguirá reconociendo los nombres de
variables de la serie y realizará la sustitución de las variables; es decir, sustituirá las referencias a los
parámetros de posición y otros nombres de variables precedidos por el símbolo del dólar ($) por sus
valores correspondientes, si existen. El shell también efectúa sustitución de mandatos en series que están
delimitadas por comillas.
Si especifica la variable Serie entre comillas simples (’), el shell no sustituirá las variables o mandatos que
están dentro la serie. En la secuencia siguiente se muestra un ejemplo de esta diferencia:
You: num=875
number1="Añadir $num"
number2='Añadir $num'
echo $number1
System: Add 875
You: echo $number2
System: Add $num
El shell no reinterpreta los blancos de las asignaciones después de la sustitución de variables. De este
modo, las siguientes asignaciones dan como resultado que $first y $second tengan el mismo valor:
first='una serie con blancos intercalados'
second=$first
Cuando hace referencia a una variable, puede especificar el nombre de la variable (o el dígito que
designa a un parámetro de posición) entre { } para delimitar el nombre de la variable de cualquier serie
que le siga. En particular, si el carácter que sigue inmediatamente al nombre es una letra, un dígito o un
subrayado y la variable no es un parámetro de posición, es necesario utilizar llaves:
Consulte el apartado “Sustitución condicional” en la página 223 para obtener información acerca de una
utilización diferente de las llaves en las sustituciones de variables.
El mejor lugar para establecer la variable PATH en un valor distinto del valor por omisión es en
el archivo $HOME/.profile. No puede redefinir la variable PATH si va a ejecutar mandato bajo
el shell restringido.
PS1 La serie que se utilizará como indicador principal del sistema. Un shell interactivo muestra la
serie de este indicador cuando espera entrada. El valor por omisión de la variable PS1 es $
seguido de un espacio en blanco, para los usuarios que no son root.
PS2 El valor de la serie de indicador secundario. Si el shell espera más entrada cuando encuentra
un carácter de nueva línea como entrada, solicita el valor de la variable PS2. El valor por
omisión de la variable PS2 es el carácter >, seguido de un espacio en blanco.
SHACCT El nombre de un archivo que posee. Si se define esta variable, el shell graba un registro
estadístico en el archivo para cada script de shell que se ejecuta. Puede utilizar programas de
contabilidad como acctcom y acctcms para analizar los datos recopilados.
SHELL El nombre de la vía de acceso del shell, que se conserva en el entorno. Esta variable debe
establecerla y exportarla el archivo $HOME/.profile de cada inicio de sesión restringido.
TIMEOUT El número de minutos que un shell permanece inactivo antes de que finalice. Si esta variable
se establece en un valor mayor que cero (0), el shell sale si no se entra un mandato dentro del
número de segundos indicado tras la emisión del indicador PS1. (Tenga en cuenta que el shell
puede compilarse con un límite máximo que no puede superarse para este valor). Un valor de
cero indica sin límite de tiempo.
$@ Expande los parámetros de posición, empezando por $1. Cada parámetro está separado por un espacio.
Si utiliza ″ ″ para delimitar $@, el shell considera que cada parámetro de posición es una serie separada. Si
no existen parámetros posicionales, el shell Bourne expande la sentencia a una serie nula sin delimitar.
Si utiliza ″ ″ para delimitar $*, el shell incluye los valores de los parámetros de posición entre comillas dobles.
Los valores están separados por el primer carácter de la variable IFS.
$# Especifica el número de parámetros posicionales pasados al shell, sin contar el nombre del propio
procedimiento de shell. De esta forma, la variable $# produce el número del parámetro de posición con la
numeración más alta que se ha establecido. Una de las utilizaciones principales de esta variable es comprobar
la presencia del número necesario de argumentos. Sólo son accesibles a través del shell los parámetros
posicionales $0 a $9.Consulte el apartado “Parámetros de posición” en la página 224 para obtener más
información.
$? Especifica el valor de salida del último mandato ejecutado. Su valor es una serie decimal. La mayoría de
mandatos devuelven un valor 0 para indicar que se ha finalizado satisfactoriamente. El propio shell devuelve el
valor actual de la variable $? como valor de salida.
$$ Identifica el número de proceso del proceso actual. Puesto que los números de proceso son exclusivos entre
todos los procesos existentes, esta serie suele utilizarse para generar nombres exclusivos para archivos
temporales.
El ejemplo siguientes ilustra la práctica recomendada de crear archivos temporales en un directorio utilizado
solamente para dicho propósito:
temp=/tmp/$$
ls >$temp
.
.
.
rm $temp
$! Especifica el número de proceso del último proceso en segundo plano que se ha ejecutado utilizando el
terminador &.
$- Una serie que consta de los nombres de los distintivos de ejecución definidos actualmente en el shell.
Sustitución condicional
Por lo general, el shell sustituye la expresión $Variable por el valor de la serie que se ha asignado a la
variable Variable, si existe una. Sin embargo, existe una notación especial que permite la sustitución
condicional, en función de si la variable se ha establecido o no es nula, o ambas cosas. Por definición,
una variable está definida si siempre se le ha asignado un valor. El valor de una variable puede ser la
serie nula, que puede asignarse a una variable de una de las formas siguientes:
A=
bcd=″″
A continuación se muestra una lista de las expresiones disponibles que puede utilizar para efectuar
sustituciones condicionales:
y sale del shell actual (a no ser que sea el shell de inicio de sesión). Si no
especifica un valor para la variable Serie, el shell muestra el siguiente mensaje:
Variable: parámetro nulo o no establecido
${Variable:?Serie} Si se ha establecido la variable y no es nula, sustituya el valor Variable en
lugar de esta expresión. De lo contrario, muestra un mensaje en el formato:
Variable: Serie
y sale del shell actual (a no ser que sea el shell de inicio de sesión). Si no
especifica el valor Serie, el shell visualizará el mensaje siguiente:
Variable: parámetro nulo o no definido
${Variable+Serie} Si se ha establecido la variable, sustituya el valor Serie en lugar de esta
expresión. De lo contrario, sustituya la serie nula.
${Variable:+Serie} Si se ha establecido la variable y no es nula, sustituya el valor Serie en lugar
de esta expresión. De lo contrario, sustituya la serie nula.
En la sustitución condicional, el shell no evalúa la variable Serie hasta que éste utiliza esta variable como
serie sustituida. De este modo, en el ejemplo siguiente, el shell ejecuta el mandato pwd sólo si d no está
definido o es nulo:
echo ${d:-′pwd′}
Parámetros de posición
Cuando se ejecuta un procedimiento de shell, el shell crea implícitamente parámetros posicionales que
hacen referencia a cada palabra de la línea de mandatos por su respectiva posición. La palabra que
ocupa la posición 0 (el nombre del procedimiento) se denomina $0, la siguiente palabra (el primer
parámetro) se denomina $1 y así sucesivamente, hasta $9. Para hacer referencia a parámetros de la
línea de mandatos con números mayores de 9, utilice el mandato incorporado shift.
Puede volver a establecer los valores de los parámetros de posición explícitamente utilizando el mandato
set.
La mayoría de caracteres de un patrón coinciden, pero también puede utilizar algunos caracteres
coincidentes con patrón especiales en su patrón. Estos caracteres especiales son:
Dentro de los corchetes, un par de caracteres separados por un - especifica el conjunto de todos los
caracteres que léxicamente se encuentran dentro del rango de inclusión de ese par, de acuerdo con la
clasificación binaria de los valores de los caracteres.
La coincidencia con patrones tiene algunas restricciones. Si el primer carácter del nombre de un archivo
es un punto (.), éste sólo puede coincidir con un patrón que también empiece por un punto. Por ejemplo, *
coincide con los nombres de archivos myfile y yourfile, pero no con los nombres de archivos .myfile y
.yourfile. Para encontrar estos archivos, utilice un patrón como este:
.*file
Si un patrón no coincide con ningún nombre de archivo, se devuelve el propio patrón como resultado de
la búsqueda de coincidencia que se ha intentado.
Los nombres de los archivos y de los directorios no deben contener los caracteres *, ?, [, o ], pues ello
puede provocar una repetición infinita (es decir, bucles infinitos) durante los intentos de búsqueda de
patrones de coincidencia.
Clases de caracteres
También puede utilizar clases de caracteres para la coincidencia de los nombres de archivos:
[[:clasecaracteres:]]
Este formato indica al sistema que debe buscar caracteres simples que pertenezcan a la clase
especificada. Las clases definidas corresponden a subrutinas ctype. Son:
Las siguientes opciones de redirección pueden aparecer en cualquier parte de un mandato simple.
También pueden preceder o seguir a un mandato, pero no se pasan al mandato.
Para obtener más información acerca de la redirección, consulte el “Capítulo 4. Redirección de entrada y
salida” en la página 43 y el apartado “Información relacionada con el shell Bourne” en la página 227.
Consulte el apartado “Mandatos incorporados del shell Bourne” en la página 215 para obtener más
información.
“Shell C”
Shell C
El shell C es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. Utiliza
una sintaxis que es similar al lenguaje de programación C. El mandato csh inicia el shell C.
Cuando se inicia la sesión, primero busca el archivo de configuración de todo el sistema /etc/csh.cshrc.
Si lo encuentra, el shell C ejecuta los mandatos almacenados en dicho archivo. A continuación, el shell C
ejecuta el archivo de configuración de todo el sistema /etc/csh.login, si está disponible. Seguidamente,
Los archivos /etc/csh.login y $HOME/.login sólo se ejecutan una vez durante el inicio de sesión.
Generalmente se utilizan para contener definiciones de variables de entorno, mandatos que desea que se
ejecuten una vez durante el inicio de sesión o mandatos que definen características del terminal.
Los archivos /etc/csh.cshrc y $HOME/.cshrc se ejecutan durante el inicio de sesión y cada vez que se
invoca el mandato csh o un script del shell C. Generalmente se utilizan para definir características del
shell C como los alias y variables del shell C (por ejemplo, history, noclobber o ignoreeof). Se recomienda
utilizar únicamente los mandatos que se describen en el apartado “Mandatos incorporados del shell C” en
la página 229 en los archivos /etc/csh.cshrc y $HOME/.cshrc, ya que la utilización de otros mandatos
incrementa el tiempo de arranque de los scripts de shell.
Manejo de señales
El shell C normalmente ignora las señales de finalización. Los trabajos que se ejecutan desconectados
son inmunes a las señales generadas desde el teclado (INTERRUPT, QUIT y HANGUP).Otras señales
tienen los valores que el shell hereda de su padre. Puede controlar el manejo del shell de las señales
INTERRUPT y TERMINATE de los procedimientos del shell con onintr. Los shells de inicio de sesión
toman o pasan por alto las señales TERMINATE en función de su configuración. Los shells que no son
shells de inicio de sesión pasan señales TERMINATE a los procesos hijo. Las señales INTERRUPT en
ningún caso están permitidas cuando un shell de inicio de sesión está leyendo el archivo .logout.
Una palabra es una secuencia de caracteres o de números, o de ambos, que no contiene espacios en
blanco sin comillas. Además, los caracteres siguientes y caracteres dobles también forman palabras
simples cuando se utilizan como separadores de mandatos o terminadores:
& | ;
&& || << > >
< > ( )
Estos caracteres especiales pueden ser parte de otras palabras. Sin embargo, si van precedidos de una \,
el shell no podrá interpretarlos como caracteres especiales. Las series de caracteres que se especifican
entre ’ ’ o ″ ″ (pares de caracteres de comillas correctamente emparejados) o acentos graves también
pueden formar partes de palabras. Los blancos, las tabulaciones y los caracteres especiales no forman
palabras separadas cuando se delimitan con estas marcas. Asimismo, también puede delimitar un
carácter de nueva línea dentro de estas marcas colocando delante de éste una \.
La primera palabra de la secuencia de mandato simple (con número 0) especifica normalmente el nombre
de un mandato. Las palabras restantes, con algunas excepciones, se pasan a dicho mandato. Si el
mandato especifica un archivo ejecutable que es un programa compilado, el shell ejecuta inmediatamente
dicho programa. Si el archivo está marcado como ejecutable, pero no es un programa compilado, el shell
presupone que es un script de shell. En este caso, el shell inicia otra sesión de sí mismo (un subshell),
para leer el archivo y ejecutar los mandatos incluidos.
Si ejecuta un script de shell desde el shell y la primera línea del script de shell empieza por
#!/NombreVíaAccesoShell, el shell C ejecutará el shell que se especifica en el comentario para procesar el
script. De lo contrario, ejecutará el shell por omisión (el shell que está enlazado con /usr/bin/sh). Si la
ejecución la realiza el shell por omisión, puede que los mandatos incorporados del shell C no se
reconozcan. Para que el sistema ejecute mandatos del shell C, especifique #!/usr/bin/csh como primera
línea del script.
Consulte el apartado “Lista de mandatos incorporados del shell C” en la página 250 para obtener un
listado alfabético de los mandatos incorporados.
alias [Nombre [ListaPalabras]] Muestra todos los alias si no especifica parámetros. De lo contrario, el
mandato visualizará el alias del Nombre especificado. Si se especifica
ListaPalabras, este mandato asignará el valor de ListaPalabras al Nombre del
alias. El Nombre de alias especificado no puede ser alias ni unalias.
bg [%Trabajo ...] Sitúa el trabajo actual o el trabajo especificado por Trabajo en segundo plano,
continuando el trabajo si estaba detenido.
break Reanuda la ejecución tras completarse la acción end del mandato delimitador
foreach o while más cercano.
breaksw Interrumpe desde un mandato switch; reanuda después del mandato endsw.
case Etiqueta: Define una Etiqueta en un mandato switch.
cd[Nombre] Equivalente al mandato chdir (vea la descripción que sigue).
chdir [Nombre] Cambia del directorio actual al directorio que especifica la variable Nombre. Si
no especifica Nombre, el mandato cambiará al directorio inicial. Si el valor de
la variable Nombre no es un subdirectorio del directorio actual y no empieza
por /, ./ o bien ../, el shell comprobará cada componente de la variable de
shell cdpath para verificar si tiene un subdirectorio que coincida con el valor
de la variable Nombre. Si la variable Nombre es una variable de shell que
tiene un valor que empieza por /, el shell lo intentará con éste para verificar si
se trata de un directorio. El mandato chdir es equivalente al mandato cd.
continue Continúa la ejecución desde la acción end del mandato delimitador whileo
foreach más cercano.
default: Etiqueta la especificación de mayúsculas o de minúsculas correspondiente a
default en una sentencia switch. El valor por omisión (default) debe venir
después de todas las demás etiquetas case.
dirs Muestra la pila de directorios.
echo Graba series de caracteres a la salida estándar del shell.
else Ejecuta los mandatos que siguen al segundo else en una secuencia de
mandatos if(Expresión) then ...else if(Expresión2)then ... else ... endif.
end Establece sucesivamente la variable Nombre en cada miembro que especifica
la variable Lista y ejecuta la secuencia de Mandatos entre las sentencias
foreach y las sentencias end coincidentes. Las sentencias foreach y end
deben aparecer solas en líneas independientes.
Las categorías de los límites pueden ser dinámicas o fijas. Los usuarios
pueden aumentar sus límites limitados hasta el máximo impuesto por los
límites fijos. Debe tener autorización de usuario root para poder aumentar un
límite limitado por encima del límite fijo o para cambiar límites fijos. El
distintivo -h muestra los límites fijos en lugar de los límites dinámicos.
Operador Significado
() cambiar prioridad
x complemento
! negación
*/ % multiplicar, dividir, módulo
+ - sumar, restar
<< > > desplazamiento a la izquierda, desplazamiento a la derecha
<= >= < > operadores relacionales
== != =x !x comparación de series/coincidencia con patrón
& ″and″ bitwise
| ″or exclusivo″ bitwise
| ″or inclusivo″ bitwise
&& ″and″ lógico
|| ″or″ lógico
En la lista anterior, la prioridad de los operadores se reduce en la lista de izquierda a derecha, de arriba a
abajo.
y no:
(a + b) - c
Los operadores ==, !=, =x y !x comparan sus argumentos como series; todos los demás operadores
operan en números. Los operadores =x y !x son similares a los operadores == y !=, a excepción de que la
Los operadores lógicos or (||) y and (&&) también están disponibles. Por ejemplo, pueden utilizarse para
comprobar un rango de números:
if ($#argv > 2 && $#argv < 7) then
Las series que empiezan por cero (0) se consideran números octales. La falta de argumentos o los
argumentos nulos se consideran 0. Todas las expresiones dan como resultado series que representan
números decimales. Tenga en cuenta que dos componentes de una expresión pueden aparecer en la
misma palabra. Excepto cuando están junto a los componentes de las expresiones que son
sintácticamente significativas para el analizador (& | < > ( )), los componentes de la expresión deben
incluir espacios a su alrededor.
Disponibles también en las expresiones como operandos primitivos están las ejecuciones de mandatos
especificadas entre ( ) y las consultas de archivos en el formato (-operator Nombre archivo), donde
operator es uno de los siguientes:
r Acceso de lectura
w Acceso de grabación
x Acceso de ejecución
e Existencia
o Propiedad
z Tamaño cero
f Archivo plano
d Directorio
En el ejemplo siguiente, los acentos graves (′ ′) que rodean al mandato date indican que se sustituirá la
salida del mandato:
echo La fecha y hora actuales son: ′date′
Si una serie de mandatos se especifica entre ″ ″, el shell sólo tratará a los caracteres de nueva línea
como si fueran separadores de palabras, conservando de esta forma los espacios en blanco y las
tabulaciones que están dentro de la palabra. En todos los casos, el carácter simple final de nueva línea
no fuerza una nueva palabra.
muestra el directorio inicial sin cambiar la ubicación del directorio actual. No obstante, el mandato:
cd ; pwd
cambia la ubicación del directorio actual al directorio inicial. Los mandatos entre paréntesis suelen
utilizarse más a menudo para impedir que el mandato chdir afecte al shell actual.
Si el archivo tiene permiso de ejecución, pero no es binario ejecutable para el sistema, el shell presupone
que es un archivo que contiene mandatos del shell y ejecuta un nuevo shell para leerlo.
Si hay un alias para el shell, las palabras del alias se prefijan a la lista de argumentos para formar el
mandato de shell. La primera palabra del alias debe ser el nombre completo de la vía de acceso del shell.
Las sustituciones de histórico comienzan por el carácter ! y pueden aparecer en cualquier punto de la
línea de mandatos, siempre que no estén anidadas (es decir, una sustitución de histórico no puede
contener otra sustitución de histórico). Delante del signo ! puede especificar una \ para cancelar el
significado especial del signo de admiración. Además, si sitúa el signo ! delante de un espacio en blanco,
tabulación, carácter de nueva línea, = o (, la sustitución del histórico no se produce.
Las sustituciones de histórico también pueden realizarse especificando un | delante de una línea de
entrada. El shell repite cualquier línea de entrada que contenga sustituciones de histórico en la estación
de trabajo antes de ejecutar dicha línea.
Listas de histórico
La lista del histórico guarda mandatos que el shell lee de la línea de mandatos y que constan de una o
más palabras. La sustitución del histórico vuelve a introducir secuencias de palabras de estos mandatos
guardados en la corriente de entrada.
La variable de shell history controla el tamaño de la lista del histórico. Debe establecer la variable de
shell history del archivo .cshrc o de la línea de mandatos con el mandato incorporado set. El mandato
anterior siempre se retiene, con independencia del valor de la variable history. Los mandatos de la lista
del histórico se numeran secuencialmente comenzando desde 1. El mandato history incorporado genera
salida del tipo:
9 write michael
10 ed write.c
11 cat oldwrite.c
12 diff *write.c
El shell muestra las series de mandatos con sus números de evento. No suele ser necesario utilizar
números de evento para referirse a los mismos, pero puede visualizar el número de evento actual como
parte del indicador del sistema situando un ! en la serie del indicador de mandatos que se ha asignado a
la variable de entorno prompt.
Una referencia completa del histórico contiene una especificación de suceso, un designador de palabra y
uno o más modificadores en el formato general que se muestra a continuación:
Suceso[.]Palabra:Modificador[:Modificador] . . .
Nota: Sólo puede modificarse una palabra. No se permite una serie que incluya blancos.
En el ejemplo anterior de la salida del mandato history, el número de suceso actual es 13. Utilizando
este ejemplo, lo siguiente se refiere a eventos anteriores:
Estos formatos, sin modificaciones posteriores, reintroducen simplemente las palabras de los eventos
especificados, cada una de ellas separada por un blanco. Como caso especial, !! hace referencia al
mandato anterior; el mandato !! solo en una línea de entrada vuelve a ejecutar el mandato anterior.
Especificación de eventos
Para seleccionar palabras de un suceso, especifique un signo : tras la especificación de suceso y uno de
los designadores de palabra siguientes (las palabras de una línea de entrada se numeran
secuencialmente empezando desde el 0):
Puede omitir el carácter de los dos puntos (:) que separa la especificación de suceso del designador de
palabra si éste último empieza por un carácter |, $, *, - o %. También puede situar una secuencia de los
siguientes modificadores después del designador de palabras opcional, cada una de ellas precedidas de
dos puntos:
La parte izquierda de una sustitución no es un patrón en el sentido de una serie reconocida por un editor,
sino que es una palabra, una unidad simple sin blancos. Por lo general, la / delimita la palabra original
(PalabraAntigua) y su sustitución (NuevaPalabra). No obstante, puede utilizar cualquier carácter como
delimitador. En el ejemplo siguiente, la utilización del carácter % como delimitador permite que pueda
incluirse una / en las palabras:
s%/home/myfile%/home/yourfile%
El shell sustituye el carácter & por el texto NuevaAntigua en la variable NuevaPalabra. En el ejemplo
siguiente, /home/myfile se convierte en /temp/home/myfile.
s%/home/myfile%/temp&%
El shell sustituye una palabra nula de una sustitución por la última sustitución o bien por la última serie
utilizada en la exploración de contexto !?Serie?. Puede omitir el delimitador final (/) si el carácter que le
sigue inmediatamente es un carácter de nueva línea. Puede omitir los siguientes modificadores para
delimitar la lista del histórico:
t Elimina todos los componentes de nombres de vía de acceso iniciales, dejando el final.
& Repite la sustitución anterior.
g Aplica el cambio globalmente; es decir, todas las apariciones de cada línea.
p Muestra el nuevo mandato, pero no lo ejecuta.
q Coloca delimitadores en las palabras sustituidas, evitando de esta forma que se realicen sustituciones
adicionales.
x Actúa como el modificador q, pero separa las palabras donde existen caracteres en blanco, tabulaciones y
caracteres de nueva línea.
A menos que el modificador g se haya especificado delante de los modificadores anteriores, el cambio
sólo se aplicará a la primera palabra que pueda modificarse.
Si proporciona una referencia de histórico sin una especificación de suceso (por ejemplo, !$), el shell
utilizará el mandato anterior como suceso. Si se produce una referencia histórica anterior en la misma
línea, el shell repite la referencia anterior. Así pues, la siguiente secuencia proporciona el primer y último
argumento del mandato que coincide con ?foo?.
!?foo?| !$
Puede existir una abreviatura especial de una secuencia del histórico cuando el primer carácter que no es
un blanco de una línea de entrada es un signo |. Esto equivale a !:s|, con lo que se proporciona una
forma abreviada adecuada para las sustituciones del texto de la línea anterior. El mandato | lb| lib
corrige la ortografía de lib del mandato anterior.
En este ejemplo, !{l}a busca un mandato que empieza por l y añade una a al final.
Después de que el shell examine la línea de mandatos, la divide en palabras distintas y comprueba la
primera palabra de cada mandato, de izquierda a derecha, para ver si tiene un alias. Si lo hace, el shell
utiliza el mecanismo histórico para sustituir el texto del alias con el texto del mandato referenciado por el
alias. Las palabras resultantes sustituyen la lista de mandatos y argumentos. Si no se hace ninguna
referencia a la lista del histórico, la lista de argumentos permanece intacta.
Para obtener información acerca del mecanismo histórico del shell C, consulte el apartado “Sustitución del
histórico en el shell C” en la página 238
Los mandatos incorporados alias y unalias se utilizan para establecer, visualizar y modificar la lista de los
alias. El mandato alias se utiliza en el formato siguiente:
alias [Nombre [ListaPalabras]]
La variable opcional Nombre especifica el alias del nombre especificado. Si especifica una lista de
palabras con la variable ListaPalabras, el mandato la asigna como el alias de la variable Nombre. Si emite
el mandato alias sin ninguna de las variables opcionales, éste visualizará todos los alias del shell C.
La lista de argumentos no se altera puesto que no hay ninguna referencia a la lista del histórico en el
mandato con un alias. De forma similar, si el alias del mandato lookup es:
grep \!| /etc/passwd
> print'
crea un mandato que formatea sus argumentos a la impresora de líneas. El carácter ! queda protegido
del shell en el alias por medio de la utilización de comillas simples para que no se expanda hasta que se
ejecute el mandato pr.
Si el shell localiza un alias, efectúa la transformación de palabras del texto de entrada y comienza de
nuevo el proceso de alias en la línea de entrada reformada. Si la primera palabra o el texto siguiente es
igual que el antiguo, se impide la formación de bucles marcándolo para terminar el proceso de alias. Los
otros bucles posteriores se detectan y generan un error.
v “Información relacionada del shell C” en la página 251
Los siguientes apartados le ofrecen información acerca de cómo crear y sustituir variables en el shell C:
v “Sustitución de variables en el shell C”
v “Sustitución de nombres de archivos en el shell C” en la página 244
v “Expansión de nombres de archivo” en la página 244
v “Abreviatura de los nombres de archivos” en la página 245
v “Clases de caracteres” en la página 245
v “Información relacionada del shell C” en la página 251
Puede cambiar y visualizar los valores de las variables con los mandatos set y unset. De las variables a
las que hace referencia el shell, algunas son conmutadores (variables que activan o desactivan valores).
El shell no examina los conmutadores de un valor, sólo comprueba si están o no establecidos. Por
ejemplo, la variable de shell verbose es un conmutador que da lugar a la ejecución de echo en la entrada
de mandatos. El valor de esta variable es el resultado de la emisión del distintivo -v desde la línea de
mandatos.
Otras operaciones tratan a las variables numéricamente. El mandato @ realiza cálculos numéricos, y el
resultado de ellos se asigna a la variable. No obstante, los valores de las variables siempre están
representados como (cero o más) series. Para las operaciones numéricas, la serie nula se considera que
es cero y la segunda y siguientes palabras de los valores de varias palabras se pasan por alto.
Cuando emita un mandato, el shell analizará la línea de entrada y efectuará la sustitución de alias. A
continuación, antes de ejecutar el mandato, efectuará la sustitución de variables. El carácter $ se utiliza
para la sustitución. No obstante, se pasa sin modificar si está seguido de un blanco, tabulador o carácter
de nueva línea. La especificación del carácter $ después de una \ evita que tenga lugar esta expansión,
excepto en dos casos:
El shell reconoce la redirección de entrada y de salida antes de la expansión de variables y las expande
por separado. De lo contrario, el nombre de mandato y la lista completa de argumentos se expanden
juntos. Es, por tanto, posible que la primera palabra (mandato) genera más de una palabra, la primera de
las cuales pasa a ser el nombre de mandato y el resto pasan a ser parámetros.
A menos que se haya especificado entre ″ ″ o que se haya proporcionado el modificador :q, el resultado
de la sustitución de variables podría someterse finalmente a la sustitución de los nombres de archivos y
mandatos. Cuando está delimitada entre comillas, una variable con un valor que consta de varias
palabras se expande a una sola palabra o a una parte de una palabra, con las palabras del valor de la
variable separadas por blancos. Cuando aplica el modificador :q a una sustitución, la variable se expande
en varias palabras. Cada palabra está separada por un blanco y delimitada entre comillas para impedir
sustitución de nombres de archivo y mandatos posterior.
Las notaciones que se describen a continuación le permiten introducir variables en la entrada del shell.
Excepto como se indica, es un error hacer referencia a una variable que no está definida con el mandato
set.
Puede aplicar los modificadores :gh, :gt, :gr, :h, :r, :q y :x a las sustituciones siguientes. Si aparecen { }
en el formato del mandato, los modificadores deben aparecer entre llaves. La implementación actual sólo
admite un modificador : en cada expansión de variable.
$Nombre
${Nombre} Se sustituye por las palabras que se han asignado a la variable Nombre, cada una de ellas
separadas por un blanco. Las llaves aíslan la variable Nombre de los caracteres siguientes
que, de otra forma, formarían parte de ésta. Los nombres de las variables empiezan por una
letra y se componen de hasta 20 letras y dígitos, incluido el carácter del subrayado (_). Si la
variable Nombre no especifica una variable de shell pero se ha establecido en el entorno, se
devuelve su valor. El modificador precedido por dos puntos, además de los demás formatos
descritos aquí, no está disponible en este caso.
$Nombre[número]
${Nombre[número]} Sólo selecciona algunas de las palabras del valor de la variable Nombre. El número se somete
a la sustitución de variables y puede estar compuesto de un solo número o de dos números
separados por un -. La primera palabra del valor de la serie de una variable tiene el número 1.
Si se omite el primer número de un rango, se toma el valor por omisión 1. Si se omite el
último número de un rango, el valor por omisión es $#Nombre. El símbolo * selecciona todas
las palabras. No es un error que un rango esté vacío si se omite el segundo argumento o está
en un rango.
$#Nombre
${#Nombre} Proporciona el número de palabras de la variable Nombre. Es útil cuando se utiliza en un
[número], como se ha indicado anteriormente. Por ejemplo, $Nombre[$#Nombre.
$0 Sustituye el nombre del archivo cuya entrada de mandatos se lee. Se produce un error si no
se conoce el nombre.
$número
${número} Equivale a $argv[número].
$* Equivalente a $argv[*].
$?nombre
${?nombre} Sustituye a la serie 1 si se ha establecido la variable nombre; a cero (0) si no se ha establecido esta
variable.
Se utiliza el orden de clasificación actual, tal como especifican las variables de entorno LC_COLLATE o
LANG. En una lista de palabras que especifica sustitución de nombres de archivo, se produce un error si
ningún patrón coincide con un nombre de archivo existente. No obstante, no se requiere que coincidan
todos los patrones. Sólo los símbolos de coincidencia de caracteres *, ? y [ ] indican patrones de
coincidencia o expansión del nombre del archivo. La tilde (x) y los caracteres { } indican abreviatura de
nombre de archivo.
el mandato echo a* imprime todos los nombres de archivos que empiezan por el carácter a:
a aa aax alice
Nota: Cuando se busca la coincidencia de los nombres, los caracteres PUNTO (.) y / deben coincidir
explícitamente.
lista todos los nombres de archivo que comienzan por la letra a, seguidos de un solo carácter y que
finalizan con la letra x:
aax
lista todos los nombres de archivo que coinciden exactamente con uno de los caracteres delimitados:
a b c
Dentro de los corchetes, un rango léxico de caracteres se indica mediante [a-z]. Los caracteres que
coinciden con este patrón se definen mediante el orden de clasificación actual.
Nota: Si el carácter x va seguido de un carácter distinto de una letra o una /, o bien aparece en
cualquier punto que no sea al principio de una palabra, la expansión no se realiza.
Para buscar la coincidencia de los nombres de los archivos sin escribir el nombre completo del archivo,
especifique los nombres de los archivos entre { }. El patrón a{b,c,d}e es una forma abreviada de abe ace
ade. El shell mantiene el orden de izquierda a derecha y almacena por separado el resultado las
coincidencias a bajo nivel para preservar este orden. Puede que esta construcción esté anidada. De este
modo:
xsource/s1/{oldls,ls}.c
se expande a:
/usr/source/s1/oldls.c /usr/source/s1/ls.c
puede expandirse a:
../memo ../box ../mbox
Nota:memo se almacena con el resultado de la coincidencia de *box. Como caso especial, los
caracteres {, } y { } se pasan sin modificarse.
Clases de caracteres
También puede utilizar clases de caracteres que coincidan con nombres de archivos dentro de una
indicación de rangos:
[:clasecaracteres:]
Este formato indica al sistema que debe buscar caracteres simples que pertenezcan a la clase
especificada. Las clases definidas corresponden a subrutinas ctype.
Pulse Intro.
El shell C lista todos los nombres de archivo que comienzan por caracteres en minúsculas:
a aa aax b bb c cc
Para obtener más información acerca de las expresiones de las clases de caracteres, consulte el mandato
ed.
El mandato csh copia las variables de entorno USER, TERM, HOME y PATH en las variables csh, user,
term, home y path respectivamente. Los valores vuelven a copiarse al entorno siempre que se
restablezcan las variables normales del shell. La variable path sólo puede establecerse en el archivo
.cshrc, ya que los subprocesos csh importan la definición de la vía de acceso del entorno y vuelven a
exportarla si ha cambiado.
argv Contiene los argumentos que se pasan a scripts de shell. Los parámetros de posición de esta
variable se sustituyen.
cdpath Especifica una lista de directorios alternativos en los que el mandato chdir o cd buscará
subdirectorios.
cwd Especifica el nombre completo de la vía de acceso del directorio actual.
echo Se establece cuando se utiliza el distintivo de línea de mandatos -x; cuando se establece, da lugar
a que cada mandato y argumento ejecuten echo justo antes de su ejecución. En el caso de
mandatos que no son incorporados, todas las expansiones se producen antes de la repetición. Se
ejecuta echo para los mandatos incorporados antes de la sustitución del nombre del archivo y del
mandato, pues estas sustituciones se realizan entonces de forma selectiva.
histchars Especifica un valor de serie para cambiar los caracteres utilizados en la sustitución de histórico.
Utilice el primer carácter de su valor como carácter de sustitución del histórico; ello sustituye el
carácter por omisión, !. El segundo carácter de su valor sustituye al carácter | en las sustituciones
rápidas.
Nota: El establecimiento del valor histchars en un carácter utilizado en los nombres de los
archivos o mandatos podría dar lugar a una sustitución del histórico no intencionada.
history Contiene un valor numérico para controlar el tamaño de la lista del histórico. No se desecha
ningún mandato que está referenciado en este evento. Los valores muy largos de la variable
history podrían dar lugar a que el shell experimentara una insuficiencia de memoria.
Independientemente de que esta variable esté definida o no, el shell C siempre guarda el último
mandato que se ejecutó en la lista del histórico.
Puede redirigir la entrada y la salida estándar de un mandato utilizando las siguientes sentencias de
sintaxis:
< Archivo Abre el Archivo especificado (del que primero se expande la variable, el mandato y el
nombre de archivo) como entrada estándar.
<<Palabra Lee la entrada del shell hasta la línea que coincide con el valor de la variable Palabra. La
variable Palabra no depende de la sustitución de la variable, del nombre de archivo o del
mandato. Cada línea de entrada se compara con la variable Palabra antes de realizarse las
sustituciones en la línea. A menos que aparezca un carácter delimitador (\, ″, ’ o ′.) en la
variable Palabra, el shell realiza la sustitución de la variable y del mandato en las líneas
intermedias, lo que permite que el carácter \ pueda utilizarse para delimitar a los caracteres
$, \ y ′. Los mandatos que se sustituyen están formados completamente de blancos,
tabulaciones y caracteres de nueva línea preservados, excepto el carácter de nueva línea
final, que se elimina. El texto resultante se coloca en un archivo temporal anónimo, que se
pasa al mandato como entrada estándar.
> Archivo
>!Archivo
>& Archivo
>&!Archivo Utiliza el Archivo especificado como salida estándar. Si el Archivo no existe, se crea. Si el
Archivo existe, se trunca y se pierde su contenido anterior. Si se ha establecido la variable
de shell noclobber, Archivo no debe existir o ser un archivo especial de caracteres; de lo
contrario, se generará un error. Esto ayuda a prevenir la destrucción accidental de archivos.
En este caso, utilice los formatos que incluyen un ! para suprimir esta comprobación. Archivo
se expande del mismo modo que los nombres de archivos de entrada <. El formato >&
redirige la salida estándar y el error estándar al Archivo especificado. En el ejemplo siguiente
se muestra cómo redirigir por separado la salida estándar a /dev/tty y el error estándar a
/dev/null. Los paréntesis son obligatorios para permitir separar la salida estándar y el error
estándar.
% (find / -name vi -print > /dev/tty) >& /dev/null
> >Archivo
> >!Archivo
> >&!Archivo Utiliza el Archivo especificado como salida estándar como >, pero añade la salida al final
de Archivo. Si se ha establecido la variable de shell noclobber, se generará un error si
Archivo no existe, a menos que se proporcione uno de los formatos que incluyen un !.
De lo contrario, será parecido a >.
Un mandato recibe el entorno en el que llamó al shell, cambiado por los parámetros de entrada/salida y la
presencia del mandato como un conducto. De este modo, a diferencia de algunos shells anteriores, los
mandatos que se ejecutan desde un script de shell no tienen acceso al texto de los mandatos por
omisión, sino que reciben la entrada estándar original del shell. Utilice el mecanismo << para presentar
datos en línea. Esto permite a los archivos de mandatos del shell funcionar como componentes de
Para redirigir el error estándar mediante un conducto con la salida estándar, utilice el formato |& en lugar
de utilizar únicamente el carácter |.
Flujo de control
El shell contiene mandatos que pueden utilizarse para regular el flujo de control en archivos de mandatos
(scripts de shell) y (en modos útiles, pero limitados) desde entrada de línea de mandatos del shell. Todos
estos mandatos funcionan haciendo que el shell se repita, o se salte, en su entrada.
Las sentencias foreach, switch y while y el formato if-then-else de la sentencia if necesitan que las
palabras clave principales aparezcan en un solo mandato simple y en una línea de entrada.
Si no pueden efectuarse búsquedas en la entrada del shell, el shell sitúa en almacenamiento intermedio la
entrada siempre que se lea un bucle y busca en el almacenamiento intermedio interno para efectuar el
repaso implicado por el bucle. Hasta donde están permitido, los goto de retroceso se ejecutan
satisfactoriamente en las entradas en las que no pueden realizarse búsquedas.
v “Información relacionada del shell C” en la página 251
La línea indica que el número de trabajo es el 1 y que el trabajo se compone de un único proceso cuyo ID
de proceso es 1234. Utilice el mandato incorporado jobs para ver la tabla de los trabajos actuales.
Un trabajo que se ejecuta en el segundo plano compite por la entrada si intenta leer de la estación de
trabajo. Los trabajos en segundo plano también pueden producir salida para la estación de trabajo que se
intercala con la salida de otros trabajos.
Existen varios modos de hacer referencia a trabajos del shell. Utilice el carácter % para especificar el
nombre de un trabajo. Este nombre puede ser el número de trabajo o el nombre del mandato que inició el
trabajo, si este nombre es exclusivo. Por lo tanto si, por ejemplo, un proceso make está ejecutándose
como el trabajo 1, puede hacer referencia a éste con %1. También puede hacer referencia a éste con
%make, si sólo existe un trabajo suspendido con un nombre que empiece por la serie make. También puede
utilizar:
%?Serie
para especificar un trabajo cuyo nombre contiene la variable Serie, si sólo existe un trabajo que reúna
tales características.
El shell detecta inmediatamente siempre que un proceso cambia de estado. Si un trabajo queda
bloqueado de forma que no se puede continuar, el shell envía un mensaje a la estación de trabajo. Este
mensaje se muestra sólo después de que pulse la tecla Intro. Sin embargo, si se ha establecido la
variable de shell notify, el shell emitirá inmediatamente un mensaje que indica los cambios producidos en
el estado de los trabajos de fondo. Utilice el mandato incorporado notify para marcar un único proceso de
modo que se informe con prontitud de los cambios que se producen en su estado. Por omisión, el
mandato notify marcará el proceso actual.
v “Información relacionada del shell C” en la página 251
Consulte el apartado “Mandatos incorporados del shell C” en la página 229 para obtener más información.
Los mandatos incorporados del shell C alias, unalias, jobs, notify y set.
Por ejemplo, para buscar las secciones de manual que contienen la palabra password en sus títulos,
escriba:
apropos password
Pulse Intro.
Consulte el mandato apropos en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
El parámetro Mes indica el nombre del mes para el que desea la agenda. Puede ser un número de 1 a 12
entre Enero y Diciembre, respectivamente. Si no se especifica ningún Mes, el mandato cal toma por
omisión el mes en curso.
El parámetro Año indica el año para el que desea la agenda. Puesto que el mandato cal puede visualizar
una agenda para cualquier año comprendido entre el 1 y el 9999, escriba el año completo en lugar de
sólo los dos últimos dígitos. Si no se especifica ningún Año, el mandato cal toma por omisión el año en
curso.
Por ejemplo, para que se visualice una agenda para febrero de 1984 en la estación de trabajo, escriba:
Pulse Intro.
Por ejemplo, para que se imprima una agenda para 1984, escriba:
cal 1984 | qprt
Pulse Intro.
Por ejemplo, para que se visualice una agenda para el año 84 d. de C., escriba:
cal 84
Pulse Intro.
Consulte el mandato cal en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
El mandato calendar reconoce formatos de fecha como Dic. 7 ó 12/7. También reconoce el carácter
especial * (asterisco) cuando va seguido de una / (barra inclinada). Por ejemplo, interpreta que */7
significa el séptimo día de cada mes.
Los viernes, el mandato calendar graba todas las líneas que contienen las citas para el viernes, sábado,
domingo y lunes. Sin embargo, no reconoce los días festivos, por lo tanto, funcionará sin tener ello en
cuenta y proporcionará únicamente la planificación del siguiente día.
Consulte el mandato calendar en la publicación AIX 5L Version 5.1 Commands Reference para conocer
la sintaxis exacta.
Pulse Intro.
Los mandatos:
man -k palabra clave lista mandatos relevantes para una palabra clave
man mandato imprime las páginas de un manual referentes
a un mandato
serán de ayuda; otros mandatos básicos son:
cat - concatena archivos (y los imprime)
ex - editor de texto
ls - lista el contenido de directorios
mail - envía y recibe correo
passwd - cambia la contraseña de inicio de sesión
sccshelp - visualiza información en el sistema de
control de codificación fuente
smit - herramienta de interfaz de gestión del sistema
tset - define modalidades de terminal
who - quién es en el sistema
write - escribe mensajes a otro usuario
Puede encontrar programas acerca del correo mediante el mandato:
man -k mail
e imprimir la documentación del mandato man con: man mail
Puede abandonar la sesión escribiendo "exit".
Consulte el mandato help en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
El mandato learn busca la primera lección que contiene el tema que ha especificado. Puede especificar
cualquiera de los siguientes temas:
v Archivos
v Editor
v Más archivos
v Macros
v EQN
v C.
Pulse Intro.
Consulte el mandato learn en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Si no especifica una hora, el mandato leave le pregunta ¿Cuándo tiene que salir? Una respuesta
newline da lugar a la salida del mandato leave; de lo contrario, se da por supuesto que la respuesta es
una hora. Este formato es adecuado para su inclusión en un archivo .login o .profile.
Especifique la hora en formato hhmm. Todas las horas se convierten a reloj de 12 horas y se supone que
están relacionadas con las siguientes 12 horas. Puede utilizar el distintivo + para establecer el número de
horas y minutos que han de transcurrir desde el momento actual hasta la hora en que desee que se
active la alarma.
Nota: El mandato leave pasa por alto las operaciones de interrupción, salida y terminación. Para
eliminar la especificación del mandato leave, debe finalizar la sesión o bien utilizar el mandato
kill -9 y proporcionar el ID de proceso.
Por ejemplo, para que se le recuerde que tiene que salir a las 3:45, escriba:
leave 345
Pulse Intro.
Por ejemplo, para que se le recuerde que tiene que salir en 20 minutos, escriba:
leave +0020
Pulse Intro.
Consulte el mandato leave en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Cuando se llama con un argumento, el mandato factor determina los factores primos del parámetro
Número, graba el resultado en la salida estándar y sale.
Pulse Intro.
Se visualizará lo siguiente:
123
3
41
Consulte el mandato factor en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Nota: Este mandato sólo realiza cambios de escala multiplicativos. Es decir, puede convertir desde
un valor a otro cuando la conversión implica una multiplicación. Por ejemplo, no puede convertir
grados Fahrenheit en grados Celsius y viceversa porque, en la conversión, debe añadirse o restarse
el valor 32.
El mandato units reconoce lb (abreviatura de ″libra″ en inglés) como unidad de masa, pero considera que
pound (″libra″ en inglés, que se aplica al peso o a la moneda) hace referencia a la libra esterlina
británica, no al peso. Los nombres compuestos se ejecutan juntos (como, por ejemplo, el término inglés
lightyear, que significa año luz). Siguiendo con el inglés, las unidades británicas que difieren de sus
equivalentes americanos deben ir precedidas de br (por ejemplo, brgallon, para los galones británicos).
El archivo /usr/share/lib/unittab contiene una lista completa de las unidades que el mandato units utiliza.
También puede definir nuevas unidades en el archivo unittab o bien crear y utilizar un Archivo propio que
sobregrabe los valores de factor de conversión estándar del archivo unittab.
El mandato units reconoce las unidades, abreviaturas y prefijos métricos en inglés más utilizados,
además de los siguientes:
Por ejemplo, para visualizar los factores para la conversión de pulgadas en centímetros, escriba:
units
you have: in
you want: cm
Pulse Intro.
La salida le indica que multiplique el número de pulgadas por 2,540000e+00 para obtener centímetros y
que multiplique el número de centímetros por 3,937008e-01 para obtener pulgadas.
Estos números están en notación exponencial estándar, por lo tanto, 3,937008e-01 significa 3,937008 x
10-1, que equivale a 0,3937008.
Nota: El segundo número siempre es el valor recíproco del primero; por ejemplo, 2,54 equivale a
1/0,3937008.
Pulse Intro.
La salida muestra que 5 years (cinco años) equivale a 1,577846 x 1014 microsegundos y que un
microsegundo equivale a 6,337753 x 10-15 años.
Pulse Intro.
La barra vertical (|) indica división, por lo tanto, 1|3 significa un tercio. Esto indica que un tercio de milla
equivale a 0,536448 kilómetros.
Pulse Intro.
La expresión 1.2-5 gal equivale a 1,2 x 10-5. No escriba una e delante del exponente (es decir, 1.2e-5
gal no es válido). Este ejemplo muestra que 1.2 x 10-5 (0.000012) galones es igual a 1.536 x 10-3
(0.001536) onzas de fluido.
Si las unidades que especifica después de you have: y de you want: no son compatibles:
El mensaje conformability significa que las unidades que ha especificado no pueden convertirse. La
longitud se mide en pies y la masa en libras, por lo tanto convertir de una a otra no tiene sentido. Así
pues, el mandato units visualiza el equivalente de cada valor en unidades estándar.
En otras palabras, este ejemplo muestra que un pie equivale a 0,3048 metros y que una libra equivale a
0,4535924 kilogramos.
Consulte el mandato units en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Cuando se emite el mandato write, éste envía el mensaje siguiente de forma inmediata, junto con un
sonido para captar la atención (carácter BEL ASCII) al destinatario o destino del mensaje:
Mensaje de IDRemitente en NombreSistemaPrincipalRemitente (ttynn) [Date] ...
Con una conexión satisfactoria, el mandato write envía dos caracteres BEL ASCII a ambas estaciones de
trabajo. El pitido alerta al emisor de que el mensaje puede comenzar y alerta al destinatario de que se
está recibiendo un mensaje.
Por ejemplo, para escribir un mensaje para el usuario june, que ha iniciado la sesión, escriba:
write june
Pulse Intro.
Escriba:
¡Tenemos que hablar! Nos vemos en la sala de máquinas a las 12:30.
Pulse Intro.
A continuación, pulse la secuencia de teclas Control-D para finalizar la modalidad del mandato write.
Si su ID de usuario es, por ejemplo, karen y está utilizando la estación de trabajo tty3 en la estación de
trabajo de june se visualizará lo siguiente:
Mensaje de karen en trek tty3 Aug 17 11:55:24 ...
¡Tenemos que hablar! Nos vemos en la sala de máquinas a las 12:30.
<EOT>
Por ejemplo, para mantener una conversación con el usuario june, escriba:
Pulse Intro.
Escriba:
Nos vemos en la sala de máquinas a las 12:30.o
Pulse Intro.
Con ello se inicia la conversación. La o que aparece al principio de la siguiente línea significa que el
mensaje ha terminado. Indica a June que está esperando una respuesta. No pulse Control-D si desea
continuar.
Las letras oo significan ″cambio y fuera″, que indican a June que ya no tiene nada más que decirle. Si
June también ha especificado oo, ambos usuarios pulsan Control-D para finalizar la conversación.
Por ejemplo, para escribir al usuario june para enviarle un mensaje preparado, escriba:
write june < message.text
Pulse Intro.
Por ejemplo, para escribir a una persona que utiliza la estación de trabajo console, escriba:
write console
Pulse Intro.
Escriba:
La impresora del edificio 998 se ha atascado.
Por favor enviad ayuda.
Pulse Intro.
Con ello se escribe el mensaje que va a enviarse a la persona que ha iniciado la sesión en la estación de
trabajo /dev/console.
Puede utilizar el mandato write para conversar con los usuarios de otros sistemas principales. Puede
identificar a un usuario de un sistema principal remoto utilizando el distintivo -nNombreSistemaPrincipal o
el parámetro Usuario@SistemaPrincipal. Para escribir a un usuario que se encuentran en un sistema
remoto, el daemon writesrv debe estar en ejecución en el sistema principal actual y en el sistema
principal remoto.
Pulse Intro.
Escriba:
Acaba de llegar la cinta nueva,
ven a verme para recogerla.
Gracias
Pulse Intro.
O bien
write spuds@partya
Escriba:
Acaba de llegar la cinta nueva,
ven a verme para recogerla.
Gracias
Pulse Intro.
Consulte el mandato write en la publicación AIX 5L Version 5.1 Commands Reference para conocer la
sintaxis exacta.
Información relacionada
“Visión general de los mandatos” en la página 22
Información relacionada
“Visión general de los mandatos” en la página 22
Desde AIX 5.1, también puede bajar versiones imprimibles de los manuales utilizando el botón Imprimir
herramienta del formulario del servicio de biblioteca de documentación.
Se proporcionan dos formularios: una búsqueda global que muestra todos los volúmenes instalados en un
servidor de búsqueda y una búsqueda específica que sólo busca un conjunto de volúmenes, por ejemplo
los manuales de una aplicación.
El servicio de biblioteca de documentación le permite buscar los documentos que se han registrado en el
servicio de búsqueda. El registro lo realiza el administrador del sistema. En el servidor de búsqueda, no
puede buscar los documentos de Internet o los documentos no registrados.
Si escribe documentos HTML desde su sitio, el administrador del sistema puede añadir esos documentos
a la biblioteca de documentación con el fin de que pueda leer, buscar e imprimir los documentos.
Nota: Si tiene una copia del CD de AIX 4.3 (o versión posterior), puede leerla desde un PC.
Inserte el CD en la unidad de CD-ROM del PC. Si el CD de la documentación es AIX 4.3.3 o
corresponde a una versión más reciente, utilice un navegador Web para abrir el archivo del CD
denominado readme.htm, que se encuentra en el directorio superior del CD. Si dispone de
una versión comprendida entre AIX 4.3.0 y AIX 4.3.2 del CD de Documentación básica, abra el
archivo usr/share/man/info/en_US/a_doc_lib/aixgen/topnav/topnav.htm:
v Para abrir una biblioteca almacenada en un servidor de documentación remoto, en la barra de
localización del navegador, escriba el URL siguiente:
http://nombre_servidor[:número_boca]/cgi-bin/ds_form
Este URL abre el formulario de búsqueda global para buscar los documentos que están almacenados
en el servidor con el nombre que ha especificado en nombre_servidor.
Tras abrirse la aplicación de biblioteca, puede pulsar en el enlace de Ayuda del extremo superior derecho
para obtener instrucciones acerca de la utilización de la biblioteca.
Sin embargo, puede que necesite ver la documentación en un idioma distinto al del escritorio. Por
ejemplo, el escritorio se ejecuta en el idioma nativo, pero puede que los manuales sólo estén disponibles
en inglés. Puede cambiar el idioma de la documentación para que los documentos aparezcan en un
idioma distinto del utilizado en el escritorio.
Notas:
1. Estas técnicas no tendrán ningún efecto en el idioma utilizado si abre un documento o un
formulario de búsqueda desde un enlace HTML que se encuentra dentro de otro documento.
Estas técnicas sólo afectarán al idioma utilizado en los iconos del escritorio Servicio de
búsqueda de documentación o Biblioteca básica.
2. Asegúrese de que se haya instalado documentación para el idioma que desea utilizar.
Donde entorno local ha de sustituirse por el nombre del entorno local que constituye el nuevo idioma para
visualizar y buscar documentación. Los nombres de los entornos locales se enumeran en el apartado
Locale Naming Conventions de la publicación AIX 5L Version 5.1 System Management Concepts:
Operating System and Devices.
Notas:
1. Para que el cambio de idioma entre en vigor, deberá finalizar la sesión y volver a iniciarla.
2. Si está utilizando el Escritorio de CDE, también debe editar el archivo $HOME/.dtprofile del
Escritorio para que el valor del idioma de la documentación del archivo $HOME/.profile se lea
durante el inicio de sesión del CDE. Para ello, lleve a cabo los pasos siguientes:
v Abra el archivo .dtprofile en el editor dtpad escribiendo el mandato siguiente:
dtpad $HOME/.dtprofile
Por ejemplo, si desea cambiar el idioma de la documentación para que aparezca en español (es_ES),
escriba el mandato siguiente:
/usr/bin/chdoclang es_ES
Después de cambiar el idioma de la documentación, puede suprimir el valor de idioma de forma que la
documentación aparezca de nuevo en el mismo idioma que el escritorio. Para suprimir el valor del idioma,
escriba el mandato siguiente:
/usr/bin/chdoclang -d
En este apartado se describen los distintos tipos de documentación que están disponibles en la Biblioteca
de base de información de hipertexto y cómo se utiliza InfoExplorer para acceder a la información.
El programa InfoExplorer es la herramienta que se utiliza para adquirir conocimientos acerca de este
sistema operativo y de otro software. Como usuario de una interfaz ASCII, tiene acceso a muchos
volúmenes de documentación de software y hardware. Puesto que la información de InfoExplorer es
hipertexto, dicha información puede leerse sin tener que cambiar de página. En lugar de ello, puede ver la
información en la pantalla y seleccionar enlaces para moverse de un artículo a otro. De este modo, puede
elegir su propia vía a través de la documentación hipertexto.
Otro tipo de pantalla contiene el texto que desea leer. Estas pantallas se denominan pantallas de lectura.
Las pantallas de lectura proporcionan información conceptual, de procedimientos o de referencia.
Muestran artículos que le ilustran un tema, le explican cómo efectuar una tarea o le proporcionan
información acerca de mandatos llamadas, subrutinas, archivos o formatos de archivos.
Desde las pantallas de navegación y de lectura, puede abrir otras pantallas para efectuar tareas
específicas. El programa InfoExplorer proporciona las siguientes pantallas orientadas a tareas:
Búsqueda simple Gestiona las búsquedas sobre un título o base de información para un grupo
simple de palabras.
Búsqueda compuesta Gestiona las búsquedas sobre series de búsqueda compuestas en una o
más bases de información seleccionadas.
Lista de coincidencias de búsqueda Muestra dónde se han encontrado coincidencias de búsqueda y el número de
artículos en que se han encontrado.
Glosario Visualiza un término o frase del glosario seleccionado desde una pantalla de
lectura.
Editor por omisión Le permite definir valores por omisión para distintas funciones de
InfoExplorer.
Editor de preferencias Proporciona un método para personalizar las opciones del programa
InfoExplorer.
Lista de enlaces Le permite seleccionar un enlace anterior y acceder a la información, suprimir
un enlace anterior de la lista, borrar todas las listas o renombrar un enlace
anterior.
Cuando inicie una sesión, el programa InfoExplorer muestra en primer lugar la pantalla de navegación y a
continuación la pantalla de lectura. La pantalla de lectura contiene el artículo ″Bienvenido a la interfaz
ASCII InfoExplorer″, que muestra cómo efectuar operaciones básicas y explica cómo acceder a la ayuda,
copyrights y marcas registradas de InfoExplorer. Vuelva a la pantalla de navegación pulsando Control-w.
Utilización de menús
La interfaz ASCII InfoExplorer muestra una barra de menús en la parte superior de cada pantalla. Puede
seleccionar las opciones del menú para acceder a funciones específicas de InfoExplorer.
Obtención de ayuda
Para obtener más información acerca de cómo utilizar el programa InfoExplorer, puede utilizar la ayuda de
InfoExplorer. Utilizando la ayuda, puede hallar más información acerca de la utilización de la pantalla
actual o puede ir a una lista de artículos que explican cómo funciona el programa InfoExplorer.
Para obtener Ayuda, pulse la secuencia de teclas Control-O, utilice las teclas de flecha para resaltar la
palabra Ayuda y pulse la tecla Intro. A continuación puede elegir entre las siguientes opciones:
En pantalla Muestra información de ayuda específica para la pantalla que está visualizando, incluyendo
enlaces a artículos que describen la pantalla, además de funciones disponibles desde
dicha pantalla y una lista de menús disponibles con enlaces a descripciones de las
opciones de menú.
Puede seleccionar enlaces para visualizar información que desea leer. Para volver a la
pantalla de información de la ayuda tras seleccionar un enlace, utilice la opción de menú
Vía o Histórico de la barra de menús.
Lista de ayudas Visualiza la Lista de ayudas, una lista de enlaces de hipertexto a artículos que describen
aspectos clave del programa y de la documentación de InfoExplorer, junto con enlaces a
las ayudas para cada pantalla individual.
Iniciación
Nota: InfoExplorer ha dejado de entregarse con el sistema operativo base. Ahora, la documentación
puede verse mediante la utilización del Servicio de biblioteca de documentación (Documentation
Library Service). Este apartado se incluye para los usuarios de versiones anteriores que siguen
utilizando el programa InfoExplorer de un release anterior.
El programa InfoExplorer es una herramienta potente de recuperación con distintas ayudas de navegación
por información que le ayudan a localizar y gestionar información. Aprender sólo algunas de estas ayudas
es todo lo que necesita para comenzar a utilizarlo. Utilice los procedimientos básicos que aprenderá en
este apartado para explorar la base de información de InfoExplorer, donde encontrará información de gran
utilidad.
Siga la guía de aprendizaje paso a paso utilizando las teclas de avance de página y retroceso de página
o enlaces a procedimientos individuales.
Nota: Si desea iniciar el programa ASCII InfoExplorer desde una ventana, escriba info -a en un
indicador de mandatos del sistema operativo y pulse la tecla Intro.
Pantalla de navegación
La pantalla de navegación es el punto de partida para encontrar documentación acerca del sistema
operativo y otros programas disponibles en la estación de trabajo y contiene información destinada a
ayudarle a encontrar la documentación deseada. La información está organizada por tema y tarea, por
libro o alfabéticamente por mandatos o elemento de consulta de programación. Las rutas primarias de
navegación se muestran en la pantalla de navegación:
Índice de temas y tareas Muestra información por tarea. Es el artículo de navegación por omisión.
Mandatos Muestra una lista alfabética de mandatos disponibles.
Libros Muestra artículos por orden de libros.
Consulta de programación Muestra listas de funciones de programación en orden alfabético por
categorías funcionales.
La primera línea de la pantalla contiene la barra de menús y la segunda línea muestra una barra de título
en contraste invertido. El título de la pantalla se muestra en el extremo derecho de la barra de título. Esta
barra de título también separa las opciones de menú del texto del artículo.
Mientras visualiza el programa InfoExplorer a través de la interfaz ASCII, sólo está disponible una pantalla
de navegación a la vez. Cada vez que seleccione un enlace con otro artículo de navegación, el contenido
del artículo que seleccione sustituirá el contenido del artículo original. Por ejemplo, si está visualizando el
Índice de temas y tareas y decide ver Mandatos, una lista de mandatos sustituirá el Índice de temas y
tareas en la pantalla de navegación.
Como en la pantalla de navegación, la primera línea de la pantalla muestra las opciones de menú y la
segunda línea muestra una barra de título en contraste invertido. Se muestra ″Documento de información″
en el extremo derecho de la barra de título. Esta barra de título también separa las opciones de menú del
texto del artículo.
Mientras visualiza el programa InfoExplorer mediante la interfaz ASCII, sólo está disponible una pantalla
de lectura a la vez. Cada vez que seleccione un enlace con otro artículo, el contenido del artículo que
seleccione sustituirá el contenido del artículo original. Por ejemplo, si está visualizando el artículo ″Inicio
del programa InfoExplorer (interfaz ASCII)″ y decide visualizar el artículo del mandato info, el artículo del
mandato info sustituye al artículo ″Inicio del programa InfoExplorer (interfaz ASCII)″ en la pantalla de
lectura.
Antes de continuar, conmute hacia atrás y hacia adelante unas cuantas veces entre las pantallas de
navegación y de lectura. Observe las diferencias entre ellas.
Algunos tipos de pantallas adicionales son búsqueda, glosario, archivo y programa de utilidad. Para
obtener más información acerca de los diversos tipos de pantallas, consulte el artículo en línea de
InfoExplorer “Para acceder a la ayuda en una pantalla específica” en la página 276.
Un enlace hipertexto es una conexión entre una unidad de información y otra. Estos enlaces se visualizan
como texto subrayado. Cuando vaya a un enlace, el enlace cambiará a contraste invertido. Para visualizar
la unidad de información conectada o destino, pulse la tecla Intro.
La pantalla de bienvenida muestra cinco enlaces. Aparecen como una lista de cinco temas subrayados.
Para moverse hasta el siguiente enlace hipertexto, pulse el tabulador o la secuencia de teclas Control-f. Si
el siguiente enlace no está visible actualmente en la pantalla, la pantalla se actualiza para mostrar el
enlace. Para retroceder hasta el enlace anterior, pulse la secuencia de teclas Control-b.
Nota: Para no abandonar esta pantalla, no seleccione ninguno de los enlaces de este artículo.
No puede visualizar gráficos en un terminal ASCII. Cuando se selecciona un enlace a una unidad gráfica,
aparece un panel emergente con un mensaje que indica que no puede visualizarse la imagen. El mensaje
le indica que pulse una tecla para continuar. Por ejemplo, los artículos de mandatos contiene diagramas
de sintaxis que sólo pueden visualizarse en una pantalla de gráficos. No obstante, puede visualizar la
versión de corchetes y llaves de la sintaxis en un terminal ASCII.
Antes de continuar, pruebe a moverse hacia arriba y hacia abajo en el texto de la pantalla del terminal.
Tras visualizar un menú, puede que desee descartarlo sin seleccionar ninguna opción. Para hacerlo, pulse
la secuencia de teclas Control-0. El cursor vuelve a la pantalla.
Para seleccionar una opción en un panel emergente, efectúe las siguientes operaciones:
1. Active la barra de menús como haría normalmente, utilizando la secuencia de teclas Control-O.
2. Resalte una opción escribiendo el carácter subrayado en la opción que desea o utilizando las teclas
de flecha izquierda y derecha.
3. Seleccione la opción pulsando la tecla Intro. El panel emergente se cierra y se lleva a cabo la acción
apropiada.
Antes de continuar con el siguiente apartado, practique utilizando menús. Intente visualizar el menú Vía
de acceso y seleccionar la opción Mostrar lista. Aparece un panel emergente que muestra la lista de Vía
de acceso. Para cerrar el panel emergente, seleccione Salir en la barra de menús.
Nota: Para no abandonar este artículo, no seleccione ninguna ubicación en la lista Vía de acceso.
La lista del histórico registra cada ubicación de la base de información en la que ha estado. Para ver la
Lista del histórico, visualice el menú .Historico y seleccione la opción Listar todo. Para aprender a utilizar
la Lista del histórico, vaya al menú Ayuda y seleccione Lista de ayudas en el menú desplegable. La
Búsqueda de información en InfoExplorer, en la Lista de ayudas, proporciona información acerca de la
función Histórico.
La Lista de vías realiza el seguimiento de la ruta de navegación que ha utilizado, empezando desde un
artículo de navegación primario (Índice de temas y tareas, Libros, Mandatos o Consulta de programación).
Cada vez que vuelva a una pantalla de navegación primaria, la lista de vías de acceso anterior se
sobregrabará.
El menú Vía de acceso contiene tres opciones: Mostrar lista, Anterior y Siguiente. Utilice la opción
Mostrar lista para visualizar la Lista de vías. Utilice las opciones Anterior y Siguiente para saltar a la
siguiente ubicación o a la ubicación anterior sin visualizar la Lista de vías.
Para volver a la ubicación anterior en el programa InfoExplorer, efectúe las siguientes operaciones:
1. Active la barra de menús pulsando la secuencia de teclas Control-O.
2. Escriba P para visualizar el menú Vía de acceso.
3. Escriba S para visualizar la Lista de vías. Se visualiza un recuadro emergente que lista las ubicaciones
de la vía de acceso. Si se encuentra en una pantalla de navegación primaria, recibirá un mensaje
indicando que la lista de vías de acceso está vacía.
4. Resalte la ubicación a la que desea volver utilizando las teclas de flecha arriba y abajo.
5. Seleccione la opción Ir a de la barra de menús. El texto se visualiza en la pantalla de lectura.
Antes de continuar, intente seguir la vía de acceso en sentido ascendente y descendente utilizando las
opciones Siguiente y Anterior. Recuerde, si retrocede en la vía de acceso a un artículo de navegación
primaria (por ejemplo, el Índice de tareas), la lista de vías de acceso se vacía y no puede seguir una vía
hacia abajo hasta que inicia una nueva vía. Si desea volver a una ubicación que no está en la vía de
acceso actual, utilice la función Histórico.
Nota: Para no abandonar esta pantalla, no utilice la función Vía de acceso desde esta pantalla.
Búsqueda de información
La parte inicial de este capítulo describía cómo localizar información utilizando rutas de navegación
primarias, pero si no sabe cuál es la tarea o mandato o en qué libro encontrar la información, puede
buscar virtualmente cada palabra en la base de información de InfoExplorer. Utilizando el recurso de
búsqueda InfoExplorer, puede buscar información por palabra o por frase.
Puede especificar las bases de información en las que desea buscar tanto para la búsqueda simple como
para la búsqueda compuesta. Existen dos formas de especificar una selección de base de información:
v Puede especificar una selección de base de información temporal desde la ventana Búsqueda
compuesta. Esta selección se aplica a la búsqueda simple y a la compuesta y permanece en vigor
durante la sesión actual de InfoExplorer o hasta que la cambia durante la sesión.
v Puede especificar una selección de base de información como valor por omisión seleccionando Valores
por omisión en el menú de información y seleccionando la opción DBselect. Una selección de base de
información efectuada desde la ventana Valores por omisión se aplica a la búsqueda simple y a la
búsqueda compuesta y permanece en vigor para sesiones posteriores de Info. (Las selecciones de
base de información temporal efectuadas desde la ventana Búsqueda compuesta pueden alterar
temporalmente la selección por omisión durante una sesión de InfoExplorer, pero la selección por
omisión se restablecerá cuando reinicie InfoExplorer).
A modo de ejemplo, los pasos siguientes le llevan a una búsqueda simple del mandato qprt y especifican
con más precisión la búsqueda con una selección de base de datos desde el menú Búsqueda compuesta.
Nota: Para no abandonar este artículo, no intente realizar una búsqueda desde esta pantalla. Si el
sistema se ha configurado para imprimir, puede imprimir una copia de este artículo mediante el
menú de información, seleccionado la opción Imprimir artículo. Utilice la copia impresa para seguir
el procedimiento.
Para efectuar una búsqueda simple del mandato qprt, siga estos pasos:
1. Visualice el menú Buscar en la barra de menús.
2. Seleccione la opción Simple del menú Buscar. Se muestra el panel emergente Búsqueda simple.
3. En el campo Encontrar, escriba el mandato qprt y pulse la tecla Intro. El panel emergente Lista de
coincidencias de búsqueda muestra la siguiente información:
v Bases de información donde se encuentran las coincidencias de la búsqueda
v El número de coincidencias que se ha encontrado
v El número de artículos en que se han encontrado
4. Con las teclas de Flecha hacia arriba y hacia abajo, resalte Guías de usuario, Guías de gestión del
sistema y Consulta de mandatos en la lista de la base de información y pulse la tecla Intro. Aparece
el panel emergente Buscar: Lista de títulos con la lista de títulos de artículos que contienen la serie de
búsqueda (qprt).
Nota: Si sólo uno de los artículos contiene la serie de búsqueda, ese artículo se visualizará en
una pantalla de lectura (no se visualizará ningún panel emergente).
5. Seleccione el segundo título de la lista Mandato qprt y pulse la tecla Intro. El artículo se muestra en
la pantalla de lectura. Observe que la frase ″Mandato qprt″ está resaltada para mostrar en qué parte
del artículo se trata la palabra.
6. Para que se visualice la siguiente coincidencia, vaya a la barra de menús y seleccione el menú
Buscar.
Otro modo de precisar con más exactitud el alcance de la búsqueda es ir al menú de búsqueda
compuesta y seleccionar la base de datos que con más probabilidad contiene la información que desea.
Existen varias bases de datos para seleccionar en función del sistema. Por ejemplo, si desea limitar la
búsqueda a información acerca de cómo utilizar y gestionar, seleccione la base de datos Utilización,
gestión y mandatos.
Para especificar una base de datos desde el panel emergente de búsqueda compuesta, siga estos pasos:
1. Pulse la secuencia de teclas Control-O para ir a la barra de menús.
2. Seleccione la opción DBselect. Se visualiza la Lista de bases de datos.
3. Un signo >(mayor que) a la izquierda de una base de información en esta lista indica que la base de
información está incluida en la búsqueda compuesta actual.
4. Marque las bases de datos que desea excluir de la búsqueda con estas acciones:
a. Utilice las teclas de flecha arriba y flecha abajo para seleccionar una base de datos incluida en la
búsqueda en la que no desea buscar. La base de datos aparecerá resaltada.
b. Pulse la secuencia de teclas Control-O para ir a la barra de menús en el panel emergente Lista de
bases de datos.
c. Seleccione la opción Eludir. Se elimina el signo > del margen.
Repita este procedimiento para cada base de datos en la que no desee buscar.
5. Marque las bases de datos que desea incluir en la búsqueda con estas acciones:
a. Utilice las teclas de flecha arriba y flecha abajo para seleccionar una base de datos no incluida
actualmente en la búsqueda. La base de datos se resaltará.
b. Pulse la secuencia de teclas Control-O para ir a la barra de menús en el panel emergente Lista de
bases de datos.
c. Seleccione la opción Seleccionar. El signo > se visualizará a la izquierda de la base de datos
seleccionada.
Repita este procedimiento para cada base de datos en la que desea buscar.
6. Cuando haya terminado de seleccionar bases de datos, pulse la secuencia de teclas Control-O para ir
a la barra de menús y seleccione la opción Abandonar. Vuelve a aparecer el panel emergente
Búsqueda compuesta (con todas las bases de información visualizadas en el Campo de búsqueda)
y puede continuar con la búsqueda.
Cuando especifica una selección de base de datos desde el menú Búsqueda compuesta, la selección se
conserva hasta que la cambia o hasta que abandona la sesión de InfoExplorer. Esta selección de base de
datos se aplicará tanto a búsquedas simples como compuestas. Puede guardar una selección de base de
datos para sesiones posteriores de InfoExplorer desde la ventana Valores por omisión bajo el menú de
información.
Acceso a la ayuda
Desde una pantalla de InfoExplorer, puede ver información de ayuda acerca de las funciones y opciones
que están disponibles en la pantalla de InfoExplorer que está visualizando o bien puede buscar en una
lista de temas para los que se proporciona información de ayuda.
Cada tipo de pantalla sirve para un objetivo determinado y proporciona una función distinta. El menú
Ayuda en cada pantalla contiene una opción En pantalla, que visualiza un artículo que describe la función
que está disponible en la pantalla actual.
Para ver Ayuda en una pantalla específica, efectúe las siguientes acciones:
1. Active la barra de menús pulsando la secuencia de teclas Control-O.
2. Utilice las teclas de flecha para resaltar Ayuda y pulse la tecla Intro para visualizar el menú Ayuda.
3. Utilice las teclas de flecha para seleccionar la opción En pantalla y pulse la tecla Intro. Un artículo de
Ayuda sustituirá al artículo de lectura actual.
Antes de continuar con el siguiente apartado, pruebe a leer los artículos de ayuda disponibles para las
pantallas abiertas actualmente. Utilice la función Vía de acceso para volver a esta pantalla.
La lista de ayudas contiene procedimientos paso a paso para una amplia gama de tareas. Antes de ir al
siguiente apartado, seleccione una opción o dos en la lista de ayudas. Observe las que están disponibles
e intente utilizar las ayudas para aprender y practicar nuevas técnicas.
Teclas Acción
Control-W Se mueve entre la pantalla de navegación y la pantalla de lectura. Si se visualiza la
pantalla de navegación, puede pulsar la secuencia de teclas Control-W para visualizar la
pantalla de lectura. Si se visualiza la pantalla de lectura, puede pulsar la secuencia de
teclas Control-W para visualizar la pantalla de navegación.
Control-F o Tabulador Se mueve al siguiente enlace hipertexto.
Control-B Se mueve al enlace hipertexto anterior.
Intro o Retorno Activa la operación. Por ejemplo, si ha ido al siguiente enlace hipertexto y pulsa la tecla
Intro, el sistema sigue el enlace y muestra la información destino.
Control-L Renueva la pantalla.
Control-N o Av Pág Se desplaza verticalmente a la siguiente pantalla.
Control-P o Re Pág Se desplaza verticalmente a la pantalla anterior.
Flecha izquierda Mueve el cursor de texto un carácter a la izquierda. Si el texto puede desplazarse
horizontalmente y el cursor de texto está en el extremo izquierdo de la pantalla, el texto se
desplaza un carácter.
Flecha derecha Mueve el cursor de texto un carácter a la derecha. Si el texto puede desplazarse
horizontalmente y el cursor de texto está en el extremo derecho de la pantalla, el texto se
desplaza un carácter.
Nota: Las teclas de la Flecha hacia la izquierda y hacia la derecha del programa
InfoExplorer no funcionan en terminales WYSE.
Flecha arriba Mueve el cursor de texto una línea hacia arriba. Si el cursor de texto está en la línea
superior de la pantalla, el texto se desplaza verticalmente, de línea en línea.
Flecha abajo Mueve el cursor de texto una línea hacia abajo. Si el cursor de texto se encuentra en la
última línea de la pantalla, el texto de desplaza verticalmente, una línea cada vez.
< Mueve el cursor de texto 20 caracteres a la izquierda. Si el texto puede desplazarse
horizontalmente, el texto se desplaza 20 caracteres a la izquierda.
> Mueve el cursor de texto 20 caracteres a la derecha. Si el texto puede desplazarse
horizontalmente, el texto se desplaza 20 caracteres a la derecha.
Teclas Acción
Control-O Activa o desactiva la barra de menús. Si el cursor de texto se encuentra en el área de texto
de la pantalla, puede pulsar la secuencia de teclas Control-O para activar la barra de menús.
Si la barra de menús ya está activa, puede pulsar la secuencia de teclas Control-O para
desactivarla, lo que mueve el cursor de texto al área de texto.
Esc-Esc o Control-O Cierra un menú desplegable de barra de menús y sitúa el cursor en el área de texto.
Tabulador Va a la siguiente opción de barra de menús. Si no se muestra un menú desplegable y pulsa
la tecla de flecha derecha, se muestra la siguiente opción de barra de menús en contraste
invertido.
En barras de menú de pantalla emergente, mueve el cursor desde la barra de menús hasta
el área de texto si no hay ningún menú desplegable de barra de menús seleccionado
actualmente.
Flecha izquierda Va a la opción anterior de la barra de menús. Si no se muestra un menú desplegable y
pulsa la tecla de flecha izquierda, se muestra la opción de barra de menús anterior en
contraste invertido.
En algunos casos, la barra de menús de una pantalla emergente contiene opciones que inician o detienen
un proceso. También es posible utilizar las teclas siguientes para moverse en una pantalla emergente o
para circular entre opciones de la pantalla:
Teclas Acción
Tabulador Se mueve al campo siguiente.
Flecha izquierda Se mueve a la opción anterior en un círculo de opciones.
Flecha derecha Se mueve a la siguiente opción en un círculo de opciones.
Barra espaciadora Circula entre las opciones de un círculo de opciones.
Flecha arriba Selecciona la opción anterior en una lista.
Flecha abajo Selecciona la siguiente opción en una lista.
Intro o Retorno Activa la operación seleccionada o finaliza la entrada de texto y avanza al campo siguiente.
Para obtener información acerca de procedimientos, consulte Definición de valores por omisión
(InfoExplorer ASCII) en la ayuda en línea de InfoExplorer.
También puede designar un archivo de señales o un archivo de notas como archivo de señales o de
notas por omisión y seguir esas vías específicas en sesiones posteriores.
Para obtener información acerca de procedimientos, consulte Definición de valores por omisión
(InfoExplorer ASCII) en la ayuda en línea de InfoExplorer.
Para obtener información acerca de procedimientos, consulte Definición de valores por omisión
(InfoExplorer ASCII) en la ayuda en línea de InfoExplorer.
Para obtener información acerca de procedimientos, consulte Definición de valores por omisión
(InfoExplorer ASCII) en la ayuda en línea de InfoExplorer.
Nota: El programa de formateo de documentos troff debe estar instalado en el sistema para poder
utilizar la función de impresión de alta calidad.
Para obtener información acerca de procedimientos, consulte Definición de valores por omisión
(InfoExplorer ASCII) en la ayuda en línea de InfoExplorer.
Para obtener información acerca de procedimientos, consulte Definir preferencias (InfoExplorer ASCII) en
la ayuda en línea de InfoExplorer.
Nota: El programa para formatear documentos troff deberá haberse instalado en el sistema para
poder utilizar la función de impresión de alta calidad. El programa troff convierte un documento en
salida para fotocomposición.
A continuación puede aplicar los cambios a la sesión actual únicamente o también a las sesiones futuras.
Para obtener información acerca de procedimientos, consulte Definir preferencias (InfoExplorer ASCII) en
la ayuda en línea de InfoExplorer.
El nombre de recurso de nivel más alto en InfoExplorer es Info-gr. Por ejemplo, para cambiar la anchura
de la ventana de navegación, añada el nombre de recurso siguiente al archivo .xdefaults:
Para que se visualicen los ISOfonts, añada el nombre de recurso siguiente al archivo .xdefaults:
Info_gr.fontfilestr: isofonts
Para consultas sobre licencias relacionadas con información de doble byte (DBCS), póngase en contacto
con el Departamento de Propiedad Intelectual de IBM de su país o envíe las consultas, por escrito a:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokio 106, Japón
El párrafo siguiente no se aplica al Reino Unido ni a ningún otro país en el que tales disposiciones
entren en contradicción con la ley local: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROPORCIONA ESTA PUBLICACIÓN "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, NI EXPLÍCITA NI
IMPLÍCITA, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS DE NO
INCUMPLIMIENTO, COMERCIALIZACIÓN O ADECUACIÓN A UN PROPÓSITO DETERMINADO.
Algunos países no permiten la exclusión de garantías expresas o implícitas en determinadas operaciones
comerciales, por lo que es posible que este párrafo no se aplique en su caso.
Esta información puede contener incorrecciones técnicas o errores tipográficos. Periódicamente se
realizarán modificaciones en la información aquí contenida; dichos cambios se incorporarán en nuevas
ediciones de la publicación. IBM puede realizar en cualquier momento cambios y/o mejoras en el(los)
producto(s) y/o programa(s) que se describen en esta publicación sin previo aviso.
IBM puede utilizar o distribuir cualquier información que se le suministre del modo que considere más
adecuado sin incurrir por ello en ninguna obligación con el remitente.
Los titulares de una licencia de este programa que deseen obtener información sobre el mismo con la
finalidad de habilitar: (i) el intercambio de información entre programas creados independientemente y
otros programas (incluido éste) y (ii) la utilización mutua de la información que se ha intercambiado,
deben ponerse en contacto con:
IBM Corporation
Dept. LRAS/Bldg. 003
11400 Burnet Road
Austin, TX 78758-3498
EE.UU.
Esta información puede estar disponible, sujeta a los términos y condiciones apropiados, incluyendo en
algunos casos, el pago de una tarifa.
El programa bajo licencia que se describe en este documento y todo el material bajo licencia disponible
Esta información contiene ejemplos de datos e informes utilizados en operaciones comerciales diarias.
Para ilustrarlas del modo más completo posible, los ejemplos incluyen nombres de personas, empresas,
marcas y productos. Todos estos nombres son ficticios y cualquier semejanza con los nombres y
direcciones utilizados en una empresa real es una mera coincidencia.
Índice 287
G impresoras reales 96
impresoras virtuales 96
gestión de horarios
indicador
creación de recordatorios 256
cambio del sistema 151
grabación de mensajes de recordatorio 254
inicio
shell Bourne 210
shell C 227
H shell Korn o POSIX 185
help windows Window Manager 145
mandato 255 X 144
visualización de información 255 inicio de sesión
histórico cómo se hace 2
edición 29 ID de usuario, como otro 3
lista mandato 3
establecimiento del tamaño 280 mensajes
suceso supresión 4
cambio del tamaño 155 nombre
sustitución visualización 5
shell C 238 remoto 1
histórico de mandatos varios en el mismo sistema 3
shell Korn o POSIX 185 interfaz ASCII
history personalización
mandato 26 visión general 278
valores por omisión
visión general 279
I visión general 267
ID interfaz ASCII de InfoExplorer
usuario 129 ayuda 268, 276
ID de usuario de inicio de sesión 128 bibliotecas alternativas, inicio 278
idiomas búsqueda 272
bidireccionales 19 detención 278
idiomas bidireccionales 19 enlaces de hipertexto
imagen selección 270
preferencia de visualización 155 impresión 275
impresión 95, 105 movimiento por el texto 271
archivos ASCII en una impresora PostScript 107 opciones de menú, selección 271
formateo de archivos para 106 pantallas
liberación de trabajos de impresión 104 moverse entre 270
movimiento de trabajos de impresión 105 tipos 269
retención de trabajos de impresión 104 salida 278
impresión desde InfoExplorer 275 interfaz de ventana
impresora PostScript recursos de X disponibles en 281
interfaz de ventanas
impresión de archivos ASCII 107
personalización 152
impresoras 95
cancelación de un trabajo 101
cola 95
componente de fondo 97
J
condiciones de estado 103 JFS 55
dispositivo de cola 96
inicio de un trabajo 98 L
locales 97 lectura del visor de tres dígitos 3
qdaemon 96 línea de texto
reales 96 adición a un archivo 49
remotas 97 líneas
spooler 96 cálculo del número de 82
valor por omisión lista de mandatos 101
interfaz ASCII 280 > 44
interfaz de ventanas 154 >> 45
virtuales 96 <<<< 46
visualización del estado de un trabajo 103 | 47
impresoras locales 97 acledit 139
Índice 289
lista de mandatos 101 (continuación) mandato format 114
uname 6 mandato fsck 115
uncompress 120 mandato Gestor del sistema basado en la Web 104
units 257 mandato grep 48, 80
unpack 120 mandato groups 129
wc 82 mandato head 82
whatis 26 mandato id 7
whereis 25 mandato kill 40
who 7 mandato ksh 161, 185
who am i 6 mandato learn 255
whoami 5 mandato leave 256
write 259 mandato ln 87
xlock 139 mandato lock 139
logout mandato logname 6
mandato 4 mandato ls 64
mandato lscfg 13
mandato lscons 14
M mandato lsdisp 15
mandato acledit 139 mandato lsfont 15
mandato aclget 138 mandato lsgroup 132
mandato aclput 138 mandato lskbd 16
mandato aixterm 19 mandato lslpp 16
mandato alias 29 mandato man 25
mandato apropos 253 mandato mkdir 61
mandato at 38, 39, 40 mandato more 79
mandato atq 39 mandato mv 75
mandato banner 51 mandato mvdir 61
mandato bsh 161, 210 mandato mwm 145
mandato cal 253 mandato nice 36
mandato capture 50 mandato nl 85
mandato cat 45, 79 mandato pack 118
mandato cd 59, 62 mandato page 79
mandato clear 49 mandato passwd 9
mandato colrm 85 mandato paste 84
mandato compress 118 mandato pg 79
mandato cp 63, 75 mandato pr 106
mandato cpio -i 117 mandato printenv 18
mandato cpio -o 116 mandato ps 34
mandato csh 161, 227 mandato psh 161, 185
mandato cut 83 mandato pwd 62
mandato chfont 150 mandato qcan 101
mandato chmod 133 mandato qchk 101
mandato chown 129 mandato qhld 104
mandato chpq 109 mandato qmov 105
mandato del 89 mandato qpri 103
mandato df 56 mandato qprt 98
mandato diff 81 mandato r (repeat) 28
mandato dircmp 66 mandato renice 36
mandato dosdel 91 mandato restore 123
mandato dosdir 91 mandato rm 74, 89
mandato dosread 90 mandato rmdir 65
mandato doswrite 90 mandato rsh 161
mandato echo 49 mandato Rsh 161, 211
mandato env 17 mandato script 50
mandato exit 4 mandato sh 161
mandato export 149 mandato shutdown 5
mandato factor 256 mandato smit 25, 100, 122
mandato fc 186 mandato sort 80
mandato fdformat 114 mandato stty 17, 151
mandato find 76 mandato su 3
mandato flcopy 116 mandato tail 83
Índice 291
O procesos (continuación)
en primer plano 33
obtención de factores de números
en segundo plano 33
mandato factor 256
establecimiento de la prioridad inicial 36
opciones
inicio 33
en mandatos 23
listado de los planificados 39
operador de redirección de adición (>>) 45
planificación para procesarlos posteriormente 38
operador de redirección de entrada (<<<<) 46
reinicio de uno detenido 37
operador de redirección de salida (>) 44
visualización de todos los activos 34
visualización del estado 35
P zombie 33
procesos en primer plano
páginas de manual
definición 33
localización mediante búsquedas de palabras
procesos en segundo plano
clave 253
definición 33
palabras
productos de software
cálculo del número de 82
visualización de información acerca de 16
palabras reservadas
programa
shell Korn o POSIX 170
copia de la salida en un archivo 48
pantallas
programa ASCII InfoExplorer
borrar 49
artículo de navegación
copia de la visualización en un archivo 48
designación de valores por omisión 279
copia en un archivo 50
base de datos de búsqueda
designación de la navegación por omisión 279
cambio del valor por omisión 280
listado de las disponibles en el sistema 15
editor de notas
visualización de texto en una pantalla cada vez 79
elección 280
visualización del texto en letras grandes 51
impresoras
parámetros
designación por omisión 280
en mandatos 24
personalización 278
shell Korn o POSIX 172
preferencias
parámetros de posición
cambio de valores 280
shell Bourne 224
salida de impresión
patrones de coincidencia
cambio 281
shell Bourne 225
valores por omisión
shell Korn o POSIX 179
cambio 279
permisos
programa de ventanas InfoExplorer
ampliados 135
personalización 152
archivo 133
programa InfoExplorer
base 135
detención 278
directorio 133
inicio 269
permisos ampliados 135
salida 278
permisos base 135
visión general
personalización
interfaz ASCII 267
entorno del sistema 149
InfoExplorer
interfaz ASCII 278
interfaz de ventanas 152
Q
preferencias qdaemon 96
visión general
interfaz de ventanas 154
proceso daemon R
descripción 33 recordatorios de salida
proceso zombie 33 mandato leave 256
procesos recurso de coproceso
cambio de la prioridad 36 shell Korn o POSIX 182
cancelación 36 recursos
proceso en primer plano 36 descripción 146
daemon 33 recursos de X
descripción 32 interfaz de ventana 281
detención 37 red
proceso en segundo plano 40 visualización del nombre
eliminación de la planificación 40 con el mandato uname 7
Índice 293
shell POSIX 184 shells (continuación)
Shell POSIX 206 tipos 161
shell restringido Shells 206
inicio 211 sistema
shells archivos de arranque 142
Bourne encendido 2
entorno 210 entorno 13
inicio 210 gestión
mandatos incorporados 215 tareas de los sistemas de archivos 54
parámetros de posición 224 indicador
redirección de la entrada y la salida 226 cambio 151
sustitución condicional 223 personalización del entorno 149
sustitución de mandatos 219 seguridad 127
sustitución de variables 220 shutdown 5
sustitución del nombre del archivo 225 variables por omisión 142
variables 221 visualización del nombre 6
variables definidas por el usuario 220 sistema de archivos de CD-ROM (CDRFS) 55
variables especiales predefinidas 222 sistema de archivos de diario (JFS) 55
C sistema operativo
control de trabajos 249 finalización de la sesión 4
inicio 227 inicio de sesión 2
mandatos incorporados 229 visualización del nombre
manejo de señales 229 con el mandato uname 6
redirección de la entrada y la salida 248 sistemas de archivos
sustitución de alias 241 comprobación de la coherencia 115
sustitución de mandatos 237 definición 53
sustitución de variables 242 ejemplo
sustitución del histórico 238 ilustración 71
sustitución del nombre del archivo 244 espacio disponible
variables predefinidas y de entorno 246 visualización 56
conceptos 159 estructura 55
disponibles 161 raíz 55
fiable, inicio 161 realización de reparaciones interactivas 115
funciones 160 tipos
Korn o POSIX sistema de archivos de diario (JFS) 55
control de trabajos 199 sistemas de archivos de red (NFS) 55
delimitadores 168 visión general 54
edición en línea 200, 201, 203 sistemas de archivos de red (NFS) 55
entorno 184 SMIT
estado de la salida 183 impresión
evaluación aritmética 177 control de 97
expresiones condicionales 198 soporte de caracteres de varios bytes
inicio 185 formato de texto 31
mandato 170, 176, 185 soporte internacional de caracteres
mandatos compuestos 166 formato de texto 30
mandatos incorporados 186 spooler de impresión 96
manejo de señales 200 supresión
palabras reservadas 170 archivos 74
parámetros 172 directorios 65
recurso de coproceso 182 sustitución condicional
redirección de la entrada y la salida 181
shell Bourne 223
sustitución del nombre del archivo 179
sustitución de alias
utilización de mandatos 165
restringido shell C 241
inicio 211 sustitución de la tilde
scripts creación de alias de mandatos
especificación de un shell 164 shell Korn o POSIX 171
scripts de shell sustitución de mandatos
creación 164 shell Bourne 219
terminología shell C 237
definiciones 162 shell Korn o POSIX 176
Índice 295
W
windows Window Manager
inicio 145
X
X Window System
inicio 144, 145
Por favor, sírvase facilitarnos su opinión sobre esta publicación, tanto a nivel general (organización, contenido,
utilidad, facilidad de lectura,...) como a nivel específico (errores u omisiones concretos). Tenga en cuenta que los
comentarios que nos envíe deben estar relacionados exclusivamente con la información contenida en este manual
y a la forma de presentación de ésta.
Para realizar consultas técnicas o solicitar información acerca de productos y precios, por favor diríjase a su
sucursal de IBM, business partner de IBM o concesionario autorizado.
Para preguntas de tipo general, llame a ″IBM Responde″ (número de teléfono 901 300 000).
Al enviar comentarios a IBM, se garantiza a IBM el derecho no exclusivo de utilizar o distribuir dichos comentarios
en la forma que considere apropiada sin incurrir por ello en ninguna obligación con el remitente.
Comentarios:
Nombre Dirección
Compañía
IBM S.A.
National Language Solutions Center
Avda. Diagonal, 571
Edif. ″L’Illa″
Barcelona 08029
España
SC10-9309-03
IBM
SC10-9309-03