beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos...

316
AIX 5L Versión 5.1 Guía del usuario del sistema: Sistema operativo y dispositivos SC10-9309-03 IBM

Transcript of beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos...

Page 1: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

AIX 5L Versión 5.1

Guía del usuario del sistema: Sistemaoperativo y dispositivos

SC10-9309-03

IBM

Page 2: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada
Page 3: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

AIX 5L Versión 5.1

Guía del usuario del sistema: Sistemaoperativo y dispositivos

SC10-9309-03

IBM

Page 4: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

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 indiquelo 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 TheRegents 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óndesarrollados bajo los auspicios de the Regents of the University of California y se han adquirido y modificado bajola 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 yel reconocimiento debido a la University of California en Berkeley. El nombre de la Universidad no puede utilizarsepara promover productos derivados de este software sin el previo permiso escrito. Este software se proporciona "talcual" sin ninguna garantía implícita o explícita.

Copyright (c) 1993, 1994 Hewlett-Packard CompanyCopyright (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 sedistribuyen bajo licencias que restringen su uso, copia, distribución y descompilación. Ninguna parte de esteproducto 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 losEstados 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 NIIMPLÍ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; DICHOSCAMBIOS SE INCORPORARÁN EN NUEVAS EDICIONES DE LA PUBLICACIÓN. HEWLETT-PACKARDCOMPANY, INTERNATIONAL BUSINESS MACHINES CORP., SUN MICROSYSTEMS, INC. y UNIX SYSTEMSLABORATORIES, INC., PUEDEN REALIZAR MEJORAS Y/O CAMBIOS EN EL(LOS) PRODUCTO(S) Y/OPROGRAMA(S) QUE SE DESCRIBEN EN ESTA PUBLICACIÓN EN CUALQUIER MOMENTO.

© Copyright International Business Machines Corporation 1997, 2001. Reservados todos los derechos.

Page 5: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Contenido

Acerca de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiQuién debe utilizar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiResaltado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiISO 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiPublicaciones relacionadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiMarcas registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas . . . . . . . . . . . 1Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Visión general del inicio y del fin de sesión . . . . . . . . . . . . . . . . . . . . . . . 2

Inicio de sesión en el sistema operativo. . . . . . . . . . . . . . . . . . . . . . . . 2Inicio de la sesión más de una vez (mandato login) . . . . . . . . . . . . . . . . . . . 3Forma de convertirse en otro usuario en un sistema (mandato su) . . . . . . . . . . . . . . 3Supresión de los mensajes de inicio de sesión . . . . . . . . . . . . . . . . . . . . . 4Finalización de la sesión del sistema operativo (mandatos exit y logout) . . . . . . . . . . . . 4Detención del sistema operativo (mandato shutdown) . . . . . . . . . . . . . . . . . . 5Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Identificación de usuario y de sistema . . . . . . . . . . . . . . . . . . . . . . . . . 5Visualización del nombre de inicio de sesión (mandatos whoami y logname) . . . . . . . . . . 5Visualización del nombre del sistema operativo (mandato uname) . . . . . . . . . . . . . . 6Visualización del nombre del sistema (mandato uname). . . . . . . . . . . . . . . . . . 7Visualización de quién ha iniciado la sesión (mandato who) . . . . . . . . . . . . . . . . 7Visualización de los ID de usuario (mandato id) . . . . . . . . . . . . . . . . . . . . . 7Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Contraseñas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Directrices para contraseñas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Cambio de la contraseña (mandato passwd) . . . . . . . . . . . . . . . . . . . . . . 9Establecimiento de la contraseña en nula (mandato passwd) . . . . . . . . . . . . . . . 10Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Resumen de mandatos para nombres de inicio de sesión, ID del sistema y contraseñas . . . . . . 11Mandatos de inicio y de fin de sesión . . . . . . . . . . . . . . . . . . . . . . . . 11Mandatos de identificación del usuario y del sistema . . . . . . . . . . . . . . . . . . 11Mandato de contraseña . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Capítulo 2. Entorno de usuario e información del sistema . . . . . . . . . . . . . . . . 13Listado de los dispositivos del sistema (mandato lscfg) . . . . . . . . . . . . . . . . . . 13Visualización del nombre de la consola (mandato lscons). . . . . . . . . . . . . . . . . . 14Visualización del nombre del terminal (mandato tty) . . . . . . . . . . . . . . . . . . . . 15Listado de las pantallas disponibles (mandato lsdisp) . . . . . . . . . . . . . . . . . . . 15Listado de los fonts disponibles (mandato lsfont) . . . . . . . . . . . . . . . . . . . . . 15Listado de las correlaciones del teclado (mandato lskbd) . . . . . . . . . . . . . . . . . . 16Listado de los productos de software (mandato lslpp) . . . . . . . . . . . . . . . . . . . 16Listado de las asignaciones de teclas de control del terminal (mandato stty) . . . . . . . . . . . 17Listado de todas las variables de entorno (mandato env) . . . . . . . . . . . . . . . . . . 17

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Visualización del valor de una variable de entorno (mandato printenv) . . . . . . . . . . . . . 18Utilización de idiomas bidireccionales (mandato aixterm) . . . . . . . . . . . . . . . . . . 19

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Resumen de mandatos para el entorno de usuario y la información del sistema . . . . . . . . . 19

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Capítulo 3. Mandatos y procesos . . . . . . . . . . . . . . . . . . . . . . . . . . 21

© Copyright IBM Corp. 1997, 2001 iii

Page 6: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Visión general de los mandatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Sintaxis de los mandatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Lecturas de sentencias de uso . . . . . . . . . . . . . . . . . . . . . . . . . . 24Utilización del Gestor del sistema basado en la Web . . . . . . . . . . . . . . . . . . 25Utilización del mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Localización de un mandato o de un programa (mandato whereis) . . . . . . . . . . . . . 25Visualización de información acerca de un mandato (mandato man). . . . . . . . . . . . . 25Visualización de la función de un mandato (mandato whatis) . . . . . . . . . . . . . . . 26Listado de los mandatos entrados anteriormente (mandato de shell history) . . . . . . . . . . 26Repetición de mandatos utilizando el mandato history del shell . . . . . . . . . . . . . . 28Sustitución de series utilizando el mandato history del shell . . . . . . . . . . . . . . . . 28Edición del histórico de mandatos . . . . . . . . . . . . . . . . . . . . . . . . . 29Creación de un alias de mandato (mandato de shell alias) . . . . . . . . . . . . . . . . 29Utilización de mandatos para formatear texto . . . . . . . . . . . . . . . . . . . . . 30Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Visión general de los procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Procesos en primer plano y en segundo plano. . . . . . . . . . . . . . . . . . . . . 33Daemons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Proceso zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Inicio de un proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Comprobación de los procesos (mandato ps) . . . . . . . . . . . . . . . . . . . . . 34Establecimiento de la prioridad inicial de un proceso (mandato nice) . . . . . . . . . . . . 36Cambio de la prioridad de un proceso en ejecución (mandato renice) . . . . . . . . . . . . 36Cancelación de un proceso en primer plano . . . . . . . . . . . . . . . . . . . . . 36Detención de un proceso en primer plano . . . . . . . . . . . . . . . . . . . . . . 37Reinicio de un proceso detenido . . . . . . . . . . . . . . . . . . . . . . . . . . 37Planificación de un proceso para ejecutarlo posteriormente (mandato at) . . . . . . . . . . . 38Listado de todos los procesos planificados (mandato at o atq) . . . . . . . . . . . . . . . 39Eliminación de un proceso de la planificación (mandato at) . . . . . . . . . . . . . . . . 40Eliminación de un proceso en segundo plano (mandato kill) . . . . . . . . . . . . . . . . 40Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Resumen de mandatos para mandatos y procesos . . . . . . . . . . . . . . . . . . . . 41Mandatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Capítulo 4. Redirección de entrada y salida . . . . . . . . . . . . . . . . . . . . . . 43Entrada estándar, salida estándar y error estándar . . . . . . . . . . . . . . . . . . . . 43Redirección de la salida estándar . . . . . . . . . . . . . . . . . . . . . . . . . . 44Redirección de la salida a un archivo . . . . . . . . . . . . . . . . . . . . . . . . . 44Redirección de la salida y adición a un archivo . . . . . . . . . . . . . . . . . . . . . 45Creación de un archivo de texto con redirección desde el teclado . . . . . . . . . . . . . . 45Concatenación de archivos de texto . . . . . . . . . . . . . . . . . . . . . . . . . 45Redirección de la entrada estándar . . . . . . . . . . . . . . . . . . . . . . . . . . 46Forma de descartar la salida con el archivo /dev/null . . . . . . . . . . . . . . . . . . . 46Redirección de la salida de error estándar y otros tipos de salida . . . . . . . . . . . . . . . 46Documentos de entrada en línea (here) . . . . . . . . . . . . . . . . . . . . . . . . 47Conductos y filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Visualización de la salida de un programa y copia de ésta en un archivo (mandato tee) . . . . . . 48Forma de borrar el contenido de la pantalla (mandato clear) . . . . . . . . . . . . . . . . 49Envío de un mensaje a la salida estándar (mandato echo) . . . . . . . . . . . . . . . . . 49Adición de una sola línea de texto a un archivo (mandato echo) . . . . . . . . . . . . . . . 49Copia de la pantalla en un archivo (mandatos capture y script). . . . . . . . . . . . . . . . 50Visualización del texto de la pantalla en letras grandes (mandato banner) . . . . . . . . . . . 51

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

iv Guía del usuario del sistema: Sistema operativo y dispositivos

Page 7: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Resumen de mandatos para la redirección de entrada y salida. . . . . . . . . . . . . . . . 51Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Capítulo 5. Sistemas de archivos y directorios . . . . . . . . . . . . . . . . . . . . 53Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Sistemas de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Tipos de sistemas de archivos. . . . . . . . . . . . . . . . . . . . . . . . . . . 55Estructura del sistema de archivos . . . . . . . . . . . . . . . . . . . . . . . . . 55Visualización del espacio disponible en el sistema de archivos (mandato df). . . . . . . . . . 56Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Visión general de los directorios . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Tipos de directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Organización de los directorios . . . . . . . . . . . . . . . . . . . . . . . . . . 58Convenios de denominación de directorios . . . . . . . . . . . . . . . . . . . . . . 59Nombres de las vías de acceso de los directorios . . . . . . . . . . . . . . . . . . . 59Abreviaturas de los directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . 60Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Procedimientos de gestión de directorios . . . . . . . . . . . . . . . . . . . . . . . . 61Creación de un directorio (mandato mkdir) . . . . . . . . . . . . . . . . . . . . . . 61Movimiento o cambio del nombre de un directorio (mandato mvdir) . . . . . . . . . . . . . 61Visualización del directorio actual (mandato pwd). . . . . . . . . . . . . . . . . . . . 62Cambio a otro directorio (mandato cd) . . . . . . . . . . . . . . . . . . . . . . . . 62Copia de un directorio (mandato cp) . . . . . . . . . . . . . . . . . . . . . . . . 63Visualización del contenido de un directorio (mandato ls) . . . . . . . . . . . . . . . . . 64Supresión o eliminación de un directorio (mandato rmdir) . . . . . . . . . . . . . . . . . 65Comparación del contenido de dos directorios (mandato dircmp) . . . . . . . . . . . . . . 66Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Resumen de mandatos para los sistemas de archivos y directorios . . . . . . . . . . . . . . 67Sistemas de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Abreviaturas de los directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . 67Procedimientos para el manejo de directorios . . . . . . . . . . . . . . . . . . . . . 67Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Capítulo 6. Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Tipos de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Archivos normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Archivos de directorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Archivos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Convenios de denominación de archivos . . . . . . . . . . . . . . . . . . . . . . . 71Nombres de vías de acceso de archivos . . . . . . . . . . . . . . . . . . . . . . . 71Patrones de coincidencia con comodines y metacaracteres . . . . . . . . . . . . . . . . 71Coincidencia con patrones en contraste con expresiones normales . . . . . . . . . . . . . 73Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Procedimientos de gestión de archivos . . . . . . . . . . . . . . . . . . . . . . . . 73Supresión de archivos (mandato rm) . . . . . . . . . . . . . . . . . . . . . . . . 74Movimiento y cambio del nombre de los archivos (mandato mv) . . . . . . . . . . . . . . 75Copia de archivos (mandato cp) . . . . . . . . . . . . . . . . . . . . . . . . . . 75Búsqueda de archivos (mandato find) . . . . . . . . . . . . . . . . . . . . . . . . 76Visualización del tipo de archivo (mandato file) . . . . . . . . . . . . . . . . . . . . 78Visualización del contenido del archivo (mandatos pg, more, page y cat) . . . . . . . . . . . 78Búsqueda de series en los archivos de texto (mandato grep) . . . . . . . . . . . . . . . 80Clasificación de los archivos de texto (mandato sort) . . . . . . . . . . . . . . . . . . 80Comparación de archivos (mandato diff) . . . . . . . . . . . . . . . . . . . . . . . 81Cálculo de las palabras, líneas y bytes de los archivos (mandato wc) . . . . . . . . . . . . 82Visualización de las primeras líneas de los archivos (mandato head) . . . . . . . . . . . . 82Visualización de las últimas líneas de los archivos (mandato tail) . . . . . . . . . . . . . . 83

Contenido v

Page 8: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Corte de secciones de los archivos de texto (mandato cut) . . . . . . . . . . . . . . . . 83Pegado de secciones de los archivos de texto (mandato paste) . . . . . . . . . . . . . . 84Numeración de las líneas de los archivos de texto (mandato nl) . . . . . . . . . . . . . . 85Eliminación de las columnas de los archivos de texto (mandato colrm) . . . . . . . . . . . . 85Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Enlace de archivos y directorios . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Tipos de enlaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Enlace de archivos (mandato ln) . . . . . . . . . . . . . . . . . . . . . . . . . . 87Eliminación de archivos enlazados . . . . . . . . . . . . . . . . . . . . . . . . . 89Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Copia de archivos de DOS en archivos del sistema operativo base . . . . . . . . . . . . . 90Copia de archivos del sistema operativo base en archivos de DOS . . . . . . . . . . . . . 90Supresión de archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . 91Listado del contenido de un directorio de DOS. . . . . . . . . . . . . . . . . . . . . 91Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Resumen de mandatos para archivos . . . . . . . . . . . . . . . . . . . . . . . . . 92Procedimientos para el manejo de archivos . . . . . . . . . . . . . . . . . . . . . . 92Enlace de archivos y directorios . . . . . . . . . . . . . . . . . . . . . . . . . . 93Archivos de DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Capítulo 7. Impresoras, trabajos de impresión y colas . . . . . . . . . . . . . . . . . 95Terminología para impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Trabajo de impresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Cola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Dispositivo de cola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96qdaemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Spooler de impresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Impresora real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Impresora virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Impresoras locales y remotas . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Componente de fondo de impresora . . . . . . . . . . . . . . . . . . . . . . . . 97

Inicio de un trabajo de impresión (mandato qprt) . . . . . . . . . . . . . . . . . . . . . 97Requisitos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Mandato qprt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Cancelación de un trabajo de impresión (mandato qcan) . . . . . . . . . . . . . . . . . 101Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Mandato qcan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Comprobación del estado del trabajo de impresión (mandato qchk) . . . . . . . . . . . . . 101Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Vía de acceso rápida de Gestor del sistema basado en la Web . . . . . . . . . . . . . . 102Mandato qchk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Condiciones de estado de la impresora . . . . . . . . . . . . . . . . . . . . . . . . 103Especificación de la prioridad de un trabajo de impresión (mandato qpri) . . . . . . . . . . . 103

Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Mandato qpri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Retención y liberación de un trabajo de impresión (mandato qhld) . . . . . . . . . . . . . . 104Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Vía de acceso rápida de Gestor del sistema basado en la Web . . . . . . . . . . . . . . 104Mandato qhld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Movimiento de un trabajo de impresión a otra cola de impresión (mandato qmov) . . . . . . . . 105

vi Guía del usuario del sistema: Sistema operativo y dispositivos

Page 9: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Mandato qmov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Formateo de archivos para impresión (mandato pr) . . . . . . . . . . . . . . . . . . . 106Impresión de archivos ASCII en una impresora PostScript . . . . . . . . . . . . . . . . . 107

Requisitos previos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Automatización de la conversión de ASCII a PostScript . . . . . . . . . . . . . . . . . . 109Alteración temporal de la determinación automática de los tipos de archivos de impresión . . . . . 109

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Resumen de mandatos para impresoras, trabajos de impresión y colas . . . . . . . . . . . . 110

Información relacionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Capítulo 8. Archivos de seguridad y medios de almacenamiento . . . . . . . . . . . . . 111Política de copias de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Soporte para copias de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . 113Formateo de disquetes (mandato format o fdformat) . . . . . . . . . . . . . . . . . . . 114Comprobación de la integridad del sistema de archivos (mandato fsck) . . . . . . . . . . . . 115Copia en o desde disquetes (mandato flcopy) . . . . . . . . . . . . . . . . . . . . . 116Copia de archivos en cinta o disco (mandato cpio -o) . . . . . . . . . . . . . . . . . . . 116Copia de archivos de una cinta o disco (mandato cpio -i) . . . . . . . . . . . . . . . . . 117Copia en o desde cintas (mandato tcopy) . . . . . . . . . . . . . . . . . . . . . . . 117Comprobación de la integridad de una cinta (mandato tapechk) . . . . . . . . . . . . . . . 118Compresión de archivos (mandatos compress y pack) . . . . . . . . . . . . . . . . . . 118

Mandato compress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Mandato pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Expansión de archivos comprimidos (mandatos uncompress y unpack) . . . . . . . . . . . . 120Mandato uncompress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Mandato unpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Realización de la copia de seguridad de los archivos (mandato backup) . . . . . . . . . . . . 121Mandato backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Restauración de archivos de copia de seguridad (mandato restore) . . . . . . . . . . . . . 123Mandato restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Mandato smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Archivador de archivos (mandato tar). . . . . . . . . . . . . . . . . . . . . . . . . 124Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Resumen de mandatos para los archivos de copia de seguridad y el soporte de almacenamiento 125Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Capítulo 9. Seguridad de los archivos y del sistema . . . . . . . . . . . . . . . . . . 127Amenazas a la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Seguridad básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Propiedad de archivos y grupos de usuarios . . . . . . . . . . . . . . . . . . . . . . 129

Cambio del propietario del archivo o directorio (mandato chown) . . . . . . . . . . . . . 129Modalidades de acceso a archivos y directorios . . . . . . . . . . . . . . . . . . . . 130Visualización de la información del grupo (mandato lsgroup) . . . . . . . . . . . . . . . 132Cambio de los permisos de los archivos o directorios (mandato chmod) . . . . . . . . . . . 133

Listas de controles de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Permisos base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Permisos ampliados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Ejemplo de Lista de control de accesos . . . . . . . . . . . . . . . . . . . . . . . 136Autorización de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Visualización de la información de control de accesos (mandato aclget) . . . . . . . . . . . 138Establecimiento de la información de control de accesos (mandato aclput) . . . . . . . . . . 138Edición de la información de control de accesos (mandato acledit) . . . . . . . . . . . . . 139

Bloqueo del terminal (mandato lock o xlock) . . . . . . . . . . . . . . . . . . . . . . 139

Contenido vii

Page 10: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Resumen de mandatos para la seguridad de los archivos y del sistema . . . . . . . . . . . . 139Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Capítulo 10. Personalización del entorno del usuario . . . . . . . . . . . . . . . . . 141Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Visión general de los archivos de arranque del sistema . . . . . . . . . . . . . . . . . . 142

Archivo /etc/profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Archivo /etc/environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Archivo .profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Archivo .env . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Visión general de los archivos de arranque de AIXwindows . . . . . . . . . . . . . . . . 144Archivo .xinitrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Archivo .Xdefaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Archivo .mwmrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Procedimientos de personalización . . . . . . . . . . . . . . . . . . . . . . . . . 149Exportación de variables de shell (mandato de shell export) . . . . . . . . . . . . . . . 149Cambio del font de la pantalla (mandato chfont). . . . . . . . . . . . . . . . . . . . 150Cambio de las teclas de control (mandato stty) . . . . . . . . . . . . . . . . . . . . 151Cambio del indicador del sistema . . . . . . . . . . . . . . . . . . . . . . . . . 151Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Personalización del programa de ventanas InfoExplorer . . . . . . . . . . . . . . . . . . 152Cambio de los valores por omisión de la interfaz de ventanas de InfoExplorer . . . . . . . . 153Cambio de las preferencias de la interfaz de ventanas de InfoExplorer . . . . . . . . . . . 154

Resumen de la personalización del entorno de usuario . . . . . . . . . . . . . . . . . . 156Archivos de arranque del sistema . . . . . . . . . . . . . . . . . . . . . . . . . 156Archivos de arranque de AIXwindows . . . . . . . . . . . . . . . . . . . . . . . 156Procedimientos de personalización . . . . . . . . . . . . . . . . . . . . . . . . 156Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Capítulo 11. Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Funciones del shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Shells disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Terminología de los shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Creación y ejecución de un script de shell . . . . . . . . . . . . . . . . . . . . . . 164Especificación de un shell para un archivo de script . . . . . . . . . . . . . . . . . . 164Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Mandatos del shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . . . . . . 165Mandatos compuestos del shell Korn. . . . . . . . . . . . . . . . . . . . . . . . 166Funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Delimitadores en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . . . . 168Palabras reservadas en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . 170Alias de mandatos en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . . 170

Alias de seguimiento de vía . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Sustitución de la tilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Sustitución de parámetros en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . 172Parámetros en el shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Sustitución de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Parámetros especiales predefinidos . . . . . . . . . . . . . . . . . . . . . . . . 174Variables que establece el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . 174Variables que utiliza el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . 175

Sustitución de mandatos en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . 176Evaluación aritmética en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . 177Subdivisión de campos en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . 179Sustitución del nombre del archivo en el shell Korn o POSIX . . . . . . . . . . . . . . . . 179

Eliminación de delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

viii Guía del usuario del sistema: Sistema operativo y dispositivos

Page 11: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Redirección de entrada y de salida en el shell Korn o shell POSIX . . . . . . . . . . . . . . 181Recurso de coproceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Estado de la salida en el shell Korn o shell POSIX. . . . . . . . . . . . . . . . . . . . 183Mandatos del shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . . . . . . 184

Entorno del shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Inicio del shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Histórico de mandatos del shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . 185

Mandatos incorporados del shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . 186Descripciones de los mandatos incorporados especiales . . . . . . . . . . . . . . . . 186Descripciones de mandatos incorporados normales . . . . . . . . . . . . . . . . . . 193

Lista de mandatos incorporados del shell Korn o shell POSIX . . . . . . . . . . . . . . . 197Mandatos incorporados especiales . . . . . . . . . . . . . . . . . . . . . . . . 197Mandatos incorporados normales . . . . . . . . . . . . . . . . . . . . . . . . . 197

Expresiones condicionales para el shell Korn o el shell POSIX . . . . . . . . . . . . . . . 198Control de trabajos en el shell Korn o shell POSIX. . . . . . . . . . . . . . . . . . . . 199

Manejo de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Edición en línea en el shell Korn o shell POSIX . . . . . . . . . . . . . . . . . . . . . 200

Modalidad de edición emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Modalidad de edición vi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Shell Korn ampliado (ksh93) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Funciones de ksh93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

Información relacionada con el shell Korn . . . . . . . . . . . . . . . . . . . . . . . 209Shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Entorno de shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210Shell restringido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Mandatos del shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Caracteres delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Manejo de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Mandatos compuestos del shell Bourne . . . . . . . . . . . . . . . . . . . . . . . 214Palabras reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Mandatos incorporados del shell Bourne . . . . . . . . . . . . . . . . . . . . . . 215Descripciones de mandatos especiales . . . . . . . . . . . . . . . . . . . . . . . 215Sustitución de mandatos en el shell Bourne . . . . . . . . . . . . . . . . . . . . . 219

Sustitución de variables y nombres de archivo en el shell Bourne . . . . . . . . . . . . . . 219Sustitución de variables en el shell Bourne . . . . . . . . . . . . . . . . . . . . . 220Variables definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . 220Sustitución condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Parámetros de posición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Sustitución de nombres de archivos en el shell Bourne . . . . . . . . . . . . . . . . . 225Clases de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

Redirección de entrada y de salida en el shell Bourne . . . . . . . . . . . . . . . . . . 226Lista de mandatos incorporados del shell Bourne . . . . . . . . . . . . . . . . . . . . 226Información relacionada con el shell Bourne . . . . . . . . . . . . . . . . . . . . . . 227Shell C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Limitaciones del shell C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Manejo de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Mandatos del shell C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Mandatos incorporados del shell C . . . . . . . . . . . . . . . . . . . . . . . . 229Descripciones de mandatos del shell C . . . . . . . . . . . . . . . . . . . . . . . 230Expresiones y operadores del shell C . . . . . . . . . . . . . . . . . . . . . . . 236Sustitución de mandatos en el shell C . . . . . . . . . . . . . . . . . . . . . . . 237Ejecución de mandatos no incorporados del shell C . . . . . . . . . . . . . . . . . . 238

Sustitución del histórico en el shell C. . . . . . . . . . . . . . . . . . . . . . . . . 238Listas de histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Especificación de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Delimitación con apóstrofos y comillas . . . . . . . . . . . . . . . . . . . . . . . 241

Contenido ix

Page 12: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Sustitución de alias en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 241Sustitución de variables y nombres de archivo en el shell C . . . . . . . . . . . . . . . . 242

Sustitución de variables en el shell C. . . . . . . . . . . . . . . . . . . . . . . . 242Sustitución de nombres de archivos en el shell C . . . . . . . . . . . . . . . . . . . 244Expansión de nombres de archivo . . . . . . . . . . . . . . . . . . . . . . . . . 244Abreviatura de los nombres de archivos. . . . . . . . . . . . . . . . . . . . . . . 245Clases de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Variables de entorno en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 246Redirección de entrada y salida en el shell C. . . . . . . . . . . . . . . . . . . . . . 248

Flujo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Control de trabajos en el shell C . . . . . . . . . . . . . . . . . . . . . . . . . . 249Lista de mandatos incorporados del shell C . . . . . . . . . . . . . . . . . . . . . . 250Información relacionada del shell C . . . . . . . . . . . . . . . . . . . . . . . . . 251

Capítulo 12. Herramientas y programas de utilidad varios . . . . . . . . . . . . . . . . 253Localización de un mandato mediante una palabra clave (mandato apropos) . . . . . . . . . . 253Visualización de una agenda (mandato cal) . . . . . . . . . . . . . . . . . . . . . . 253Visualización de mensajes de recordatorio (mandato calendar) . . . . . . . . . . . . . . . 254Visualización de información de ayuda para nuevos usuarios (mandato help) . . . . . . . . . . 255Inicio de los cursos de formación asistida por ordenador (mandato learn) . . . . . . . . . . . 255Recordatorio de salida (mandato leave) . . . . . . . . . . . . . . . . . . . . . . . . 256Obtención de los factores de un número (mandato factor) . . . . . . . . . . . . . . . . . 256Conversión de unidades de medida (mandato units) . . . . . . . . . . . . . . . . . . . 257Envío de mensajes a otro usuario que ha iniciado la sesión (mandato write) . . . . . . . . . . 259

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Resumen de mandatos para herramientas y programas de utilidad varios . . . . . . . . . . . 261

Información relacionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

Capítulo 13. Servicio de biblioteca de documentación . . . . . . . . . . . . . . . . . 263Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263Utilización del Servicio de biblioteca de documentación . . . . . . . . . . . . . . . . . . 263Cómo cambiar el idioma del Servicio de biblioteca de documentación. . . . . . . . . . . . . 264

Apéndice A. Acceso a la información con InfoExplorer . . . . . . . . . . . . . . . . . 267Utilización de la interfaz ASCII de InfoExplorer . . . . . . . . . . . . . . . . . . . . . 267

Utilización de las pantallas de InfoExplorer . . . . . . . . . . . . . . . . . . . . . 267Utilización de menús . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268Obtención de ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Iniciación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268Inicio del programa ASCII InfoExplorer . . . . . . . . . . . . . . . . . . . . . . . 269Reconocimiento de los tipos de pantallas . . . . . . . . . . . . . . . . . . . . . . 269Selección de un enlace de hipertexto. . . . . . . . . . . . . . . . . . . . . . . . 270Desplazamiento por la información . . . . . . . . . . . . . . . . . . . . . . . . 271Selección de una opción de menú . . . . . . . . . . . . . . . . . . . . . . . . . 271Cómo volver a una ubicación anterior . . . . . . . . . . . . . . . . . . . . . . . 272Búsqueda de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272Impresión de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Acceso a la ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276Utilización de teclas especiales y de secuencias de teclas . . . . . . . . . . . . . . . . 276Inicio de una biblioteca de InfoExplorer alternativa . . . . . . . . . . . . . . . . . . . 278Detención del programa ASCII InfoExplorer . . . . . . . . . . . . . . . . . . . . . 278

Personalización del programa ASCII InfoExplorer . . . . . . . . . . . . . . . . . . . . 278Cambio de los valores por omisión en la interfaz ASCII de InfoExplorer . . . . . . . . . . . 279Cambio de las preferencias en la interfaz ASCII de InfoExplorer . . . . . . . . . . . . . . 280

Recursos de X disponibles para el programa InfoExplorer . . . . . . . . . . . . . . . . . 281

x Guía del usuario del sistema: Sistema operativo y dispositivos

Page 13: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Apéndice B. Avisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Contenido xi

Page 14: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

xii Guía del usuario del sistema: Sistema operativo y dispositivos

Page 15: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Acerca de este manual

Este manual contiene información para los usuarios principiantes del sistema que deseen adquirir unmayor grado de experiencia con el sistema operativo. Facilita información sobre, por ejemplo, cómoejecutar 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 demedios de almacenamiento, la personalización de archivos de entorno (.profile , .Xdefaults , .mwmrc ) y laescritura de scripts de shell. Para los usuarios de DOS, esta guía presenta procedimientos para lautilizació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 losmandatos de comunicaciones del sistema operativo, deben leer la publicación AIX 5L Version 5.1 Guía delusuario del sistema: Comunicaciones y redes.

Quién debe utilizar este manualEste manual se destina a todos los usuarios del sistema.

ResaltadoEn este manual se utilizan los convenios de resaltado siguientes:

Negrita Identifica mandatos, palabras clave, archivos, directorios y otros elementos cuyos nombres estánpredefinidos 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 usuariopodría haber escrito como programador, mensajes del sistema o información que debe escribir elpropio usuario.

ISO 9000En el desarrollo y la fabricación de este producto se han utilizado sistemas de calidad registrados quecumplen la norma ISO 9000.

Publicaciones relacionadasEncontrará 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 registradasLos términos siguientes son marcas registradas de International Business Machines Corporation en losEstados Unidos y/o en otros países:

v AIX

v AIXwindows

© Copyright IBM Corp. 1997, 2001 xiii

Page 16: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v IBM

v RS/6000

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 serviciosde otras empresas.

xiv Guía del usuario del sistema: Sistema operativo y dispositivos

Page 17: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 1. Nombres de inicio de sesión, ID del sistema ycontraseñas

Para que el sistema operativo pueda proporcionarle el entorno correcto, debe identificarse. Paraidentificarse en el sistema operativo, inicie la sesión escribiendo su nombre de inicio de sesión (tambiéndenominado ID de usuario o nombre de usuario) y una contraseña. Las contraseñas son un sistema deseguridad. Nadie que conozca su nombre de inicio de sesión podrá iniciar la sesión en el sistema a noser que también conozca la contraseña.

Si el sistema está configurado como un sistema multiusuario, los usuarios autorizados deberán tener unacuenta, una contraseña y un nombre de inicio de sesión en el sistema. El sistema operativo hace unseguimiento de los recursos utilizados por cada usuario. Esto se denomina contabilidad del sistema. Cadausuario recibirá un área privada en el espacio de almacenamiento del sistema, que se denomina sistemade archivos. Al iniciar la sesión, parece como si el sistema de archivos sólo tuviera los archivos delusuario, 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 unnombre de inicio de sesión a otro, no tiene que finalizar la sesión del sistema. Puede utilizar los distintosnombres de inicio de sesión simultáneamente en distintos shells o consecutivamente en el mismo shell sinnecesidad de finalizar la sesión. Además, si el sistema es parte de una red con conexiones a otrossistemas, puede iniciar la sesión en cualquiera de los sistemas en los que tiene un nombre de inicio desesió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 deque los archivos y los datos están protegidos.

En este apartado se explica lo siguiente:

v “Visión general del inicio y del fin de sesión” en la página 2

– “Inicio de sesión en el sistema operativo” en la página 2

– “Inicio de la sesión más de una vez (mandato login)” en la página 3

– “Forma de convertirse en otro usuario en un sistema (mandato su)” en la página 3

– “Supresión de los mensajes de inicio de sesión” en la página 4

– “Finalización de la sesión del sistema operativo (mandatos exit y logout)” en la página 4 (mandatosexit y logout)

– “Detención del sistema operativo (mandato shutdown)” en la página 5

v “Identificación de usuario y de sistema” en la página 5

– “Visualización del nombre de inicio de sesión (mandatos whoami y logname)” en la página 5

– “Visualización del nombre del sistema operativo (mandato uname)” en la página 6

– “Visualización del nombre del sistema (mandato uname)” en la página 7

– “Visualización de quién ha iniciado la sesión (mandato who)” en la página 7

– “Visualización de los ID de usuario (mandato id)” en la página 7

v “Contraseñas” en la página 8

– “Directrices para contraseñas” en la página 8

– “Cambio de la contraseña (mandato passwd)” en la página 9

– “Establecimiento de la contraseña en nula (mandato passwd)” en la página 10

v “Resumen de mandatos para nombres de inicio de sesión, ID del sistema y contraseñas” en lapágina 11

© Copyright IBM Corp. 1997, 2001 1

Page 18: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Capítulo 10. Personalización del entorno del usuario” en la página 141

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Visión general del inicio y del fin de sesiónPara poder utilizar el sistema operativo, el sistema debe estar en funcionamiento y el usuario debe tenertener iniciada una sesión. Cuando inicia la sesión en el sistema operativo, está identificándose en elsistema y permitiendo que el sistema configure el entorno.

Este apartado trata acerca de los siguientes procedimientos:

v “Inicio de sesión en el sistema operativo”

v “Inicio de la sesión más de una vez (mandato login)” en la página 3

v “Forma de convertirse en otro usuario en un sistema (mandato su)” en la página 3

v “Supresión de los mensajes de inicio de sesión” en la página 4

v “Finalización de la sesión del sistema operativo (mandatos exit y logout)” en la página 4

v “Detención del sistema operativo (mandato shutdown)” en la página 5

Inicio de sesión en el sistema operativo

Antes de comenzar a trabajar en el sistema, debe iniciar una sesión. Después de encender el sistema,inicie la sesión en éste para iniciar una sesión.

Puede que el sistema se haya configurado para que sólo pueda iniciar la sesión durante determinadashoras del día y en determinados días de la semana. Si intenta iniciar la sesión en un momento nopermitido, se le denegará el acceso. El administrador del sistema puede comprobar cuáles son sus horasde 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 sistemaoperativo, se situará automáticamente en el directorio inicial (también llamado directorio de inicio desesión).

Si la máquina no se ha encendido1. 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, elvisor de tres dígitos estará en blanco.

2 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 19: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Si se produce un error que requiere su atención, aparecerá permanentemente un código de tres dígitos yla unidad del sistema se detendrá. Consulte al administrador del sistema o consulte la publicaciónMessages Guide and Reference para obtener más información acerca de los códigos de error y surecuperación.

Cuando las autopruebas de encendido se han completado satisfactoriamente, en la pantalla se muestraun indicador de inicio de sesión parecido al siguiente:login:

Si no se visualiza el indicador de inicio de sesión, consulte al administrador del sistema.

Si el sistema ya se ha encendido1. Escriba el nombre de inicio de sesión a continuación del indicador login: y pulse Intro:

login: NombreInicioSesión

Por ejemplo, si el nombre de inicio de sesión es Carlos:login: carlos

2. Si aparece el indicador password:, escriba la contraseña y pulse Intro. (La contraseña no se visualizaen la pantalla cuando se escribe).password: [su contraseña)

Si no aparece el indicador de contraseña, esto significa que no tiene ninguna contraseña definida; puedeempezar 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 unainterfaz de línea de mandatos (shell) o en una interfaz gráfica (por ejemplo, AIXwindows o CommonDesktop Environment (CDE)).

Inicio de la sesión más de una vez (mandato login)

Puede tener más un inicio de sesión simultáneo. Para hacerlo, utilice el mismo nombre de inicio de sesióno utilice otros nombres de inicio de sesión para iniciar la sesión en el sistema. Esto puede resultar útil siestá trabajando en más de un proyecto y desea mantener cuentas separadas.

Nota: Cada sistema tiene un número máximo de nombres de inicio de sesión que pueden estaractivos al mismo tiempo. Este número queda determinado por el contrato de licencia y varíadependiendo 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 enla pantalla cuando se escribe).

Ahora tiene dos inicios de sesión en ejecución en el sistema.

Consulte el mandato login en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Forma de convertirse en otro usuario en un sistema (mandato su)

El mandato su (switch user, conmutar usuario) le permite cambiar el ID de usuario que se asocia a unasesión, si conoce el nombre de inicio de sesión de ese usuario.

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas 3

Page 20: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, si desea conmutar, o cambiar, para convertirse en el usuario juan, en el indicador demandatos, escriba:su juan

Si aparece el indicador password:, escriba la contraseña de Juan y pulse Intro. Si no conoce lacontraseña, se le denegará la petición.

Ahora, su ID de usuario es juan.

Para verificar si su ID de usuario es juan, utilice el mandato id . Para obtener más información acerca delmandato 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 lasintaxis exacta.

Supresión de los mensajes de inicio de sesión

Tras un inicio de sesión satisfactorio, el mandato login visualiza el mensaje del día, la fecha y la hora delos últimos intentos de inicio de sesión satisfactorios y no satisfactorios de este usuario y el número totalde intentos de inicio de sesión no satisfactorios de este usuario desde el último cambio de la informaciónde autentificación (por lo general, una contraseña). Estos mensajes se suprimen si existe un archivo.hushlogin en el directorio inicial.

En el indicador de mandatos del directorio inicial, escriba:touch .hushlogin

El mandato touch crea el archivo vacío denominado .hushlogin , si no existe.

La próxima vez que inicie la sesión, se suprimirán todos los mensajes de inicio de sesión. Puede indicaral 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 lasintaxis exacta.

Finalización de la sesión del sistema operativo (mandatos exit ylogout)

En el indicador de mandatos, realice una de las acciones siguientes:

Pulse la secuencia de teclas de control de fin de archivo (teclas Control-D).

O bien

Escriba exit y pulse Intro.

O bien

Escriba logout y pulse Intro.

Tras finalizar la sesión, el sistema visualizará el indicador login:.

Consulte el mandato logout en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

4 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 21: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Atención: No apague el sistema. Si apagara el sistema, finalizarían todos los procesos que seejecutan en el sistema. Si existen otros usuarios que están trabajando en el sistema, o si existentrabajos de fondo en ejecución, podrían perderse datos. Antes de detener el sistema, realice losprocedimientos de conclusión adecuados.

Detención del sistema operativo (mandato shutdown)

Si dispone de autorización de usuario root, puede utilizar el mandato shutdown para detener el sistema.No apague la alimentación del sistema sin utilizar el mandato shutdown . De hacerlo, podría perder datos.Si no tiene autorización para utilizar el mandato shutdown , lo único que ha de hacer es finalizar la sesióndel sistema operativo y dejarlo en ejecución.

En el indicador de mandatos, escriba:shutdown

Cuando se complete el mandato shutdown y el sistema operativo detenga su ejecución, recibirá elmensaje siguiente:....Shutdown completed....

Consulte el mandato shutdown en la publicación AIX 5L Version 5.1 Commands Reference para conocerla sintaxis exacta.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Capítulo 10. Personalización del entorno del usuario” en la página 141

Identificación de usuario y de sistemaLos siguientes procedimientos describen distintos mandatos disponibles para visualizar información queidentifica a los usuarios del sistema y el sistema que está utilizando.

v “Visualización del nombre de inicio de sesión (mandatos whoami y logname)”

v “Visualización del nombre del sistema operativo (mandato uname)” en la página 6

v “Visualización del nombre del sistema (mandato uname)” en la página 7

v “Visualización de quién ha iniciado la sesión (mandato who)” en la página 7

v “Visualización de los ID de usuario (mandato id)” en la página 7

Visualización del nombre de inicio de sesión (mandatos whoami ylogname)

Cuando se tiene más de un inicio de sesión simultánea, suele ser fácil perder la pista de los nombres deinicio de sesión o, en particular, del nombre de inicio de sesión que se utiliza en este momento.

Mandato whoami

Para determinar qué nombre de inicio de sesión se está utilizando, en el indicador de mandatos, escriba:whoami

El sistema mostrará una información parecida a esta:

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas 5

Page 22: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

carlos

En este ejemplo, el nombre de inicio de sesión es carlos.

Consulte el mandato whoami en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Mandato who am i

Una variante del mandato who , el mandato who am i , visualiza el nombre del inicio de sesión, el nombredel terminal y la hora del inicio de sesión.

En el indicador de mandatos, escriba:who am i

El sistema mostrará una información parecida a esta:carlos pts/0 Jun 21 07:53

En este ejemplo, el nombre de inicio de sesión es carlos, el nombre del terminal es pts/0 y también seindica 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 lasintaxis exacta.

Mandato logname

Otra variante del mandato who , el mandato logname , visualiza la misma información que el mandatowho .

En el indicador de mandatos, escriba:logname

El sistema mostrará una información parecida a esta:carlos

En este ejemplo, el nombre de inicio de sesión es carlos.

Consulte el mandato logname en la publicación AIX 5L Version 5.1 Commands Reference para conocerla sintaxis exacta.

Visualización del nombre del sistema operativo (mandato uname)

El mandato uname visualiza el nombre del sistema operativo que está utilizando.

Por ejemplo, en el indicador de mandatos, escriba:uname

El sistema mostrará una información parecida a esta:AIX

En este ejemplo, el sistema operativo es AIX.

Consulte el mandato uname en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

6 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 23: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Visualización del nombre del sistema (mandato uname)

El mandato uname con el distintivo -n visualiza el nombre del sistema si está en una red. El nombre delsistema identifica al sistema en la red si no coincide con el ID de inicio de sesión.

Por ejemplo, en el indicador de mandatos, escriba:uname -n

El sistema mostrará una información parecida a esta:fernando

En este ejemplo, el nombre del sistema es fernando.

Consulte el mandato uname en la publicación AIX 5L Version 5.1 Commands Reference para obtenermás información y conocer la sintaxis exacta.

Visualización de quién ha iniciado la sesión (mandato who)

El mandato who visualiza información acerca de todos los usuarios que actualmente se encuentran en elsistema local. Se muestra la siguiente información: nombre de inicio de sesión, nombre de estación detrabajo y fecha y hora del inicio de sesión.

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

El sistema mostrará una información parecida a esta:alberto lft/0 Jun 8 08:34carlos pts/1 Jun 8 07:07

En este ejemplo, el usuario alberto, que está en el terminal lft/0, ha iniciado la sesión el día 8 de junioa las 08:34.

Consulte el mandato who en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización de los ID de usuario (mandato id)

El mandato id visualiza los identificadores (ID) del sistema correspondientes al usuario especificado. LosID del sistema son números que identifican usuarios y grupos de usuarios en el sistema. El mandato idmuestra la siguiente información, cuando es pertinente:

v Nombre del usuario e ID de usuario real

v Nombre del grupo e ID de grupo real del usuario

v Nombre de los grupos complementarios e ID de grupos complementarios del usuario, si existen.

Por ejemplo, en el indicador de mandatos, escriba:id

El sistema mostrará una información parecida a esta:uid=1544(sah) gid=300(build) euid=0(root) egid=9(printq) groups=0(system),10(audit)

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas 7

Page 24: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

En este ejemplo, el usuario tiene el nombre de usuario sah con el número de ID 1544; el nombre de grupoprimario build con el número de ID 300; el nombre de usuario efectivo root con el número de ID 0; elnombre de grupo efectivo printq con el número de ID 9; y los dos nombres de grupos complementariossystem y audit, con los números de ID 0 y 10, respectivamente.

Por ejemplo, en el indicador de mandatos, escriba:id carlos

El sistema mostrará una información parecida a esta:uid=2988(carlos) gid=1(staff)

En este ejemplo, el usuario carlos tiene el número de ID 2988 y sólo tiene el nombre de grupo primariostaff con el número de ID 1.

Consulte el mandato id en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Capítulo 10. Personalización del entorno del usuario” en la página 141

ContraseñasEl sistema asocia una contraseña con cada cuenta. Una contraseña exclusiva proporciona parte deseguridad del sistema a los archivos. La utilización del sistema y los datos son recursos valiosos querequieren protección. La seguridad es un aspecto importante de los sistemas informáticos ya que impideque personas no autorizadas tengan acceso al sistema y que sean invadidos por archivos de otrosusuarios. La seguridad también puede proporcionar a algunos usuarios privilegios exclusivos cuyosmandatos pueden utilizar y a cuyos archivos pueden acceder. Para lograr una protección eficaz, algunosadministradores del sistema sólo permiten a los usuarios acceder a determinados mandatos o archivos.

Este apartado trata acerca de los siguientes procedimientos:

v “Directrices para contraseñas”

v “Cambio de la contraseña (mandato passwd)” en la página 9

v “Establecimiento de la contraseña en nula (mandato passwd)” en la página 10

Directrices para contraseñas

Debe tener una contraseña exclusiva. Las contraseñas no deben compartirse. Proteja las contraseñascomo a los demás bienes de la empresa. Cuando cree las contraseñas, asegúrese de que no puedenadivinarse fácilmente, pero que no sean tan difíciles de recordar que sea necesario anotarlas.

Utilizar contraseñas opacas es un buen modo de proteger el ID de usuario. Las contraseñas que sebasan 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 sonbuenas las extrañas combinaciones de palabras y palabras cuya ortografía se altera.

8 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 25: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Nota: Si la contraseña es tan difícil de recordar que tiene que anotarla, no es una buenacontraseña.

Para seleccionar una contraseña, utilice las directrices siguientes:

v No anote las contraseñas. No obstante, si no queda más remedio que anotarla, guárdela en un lugarfísicamente seguro, por ejemplo un archivador cerrado.

v No utilice el ID de usuario como contraseña. Tampoco lo utilice al revés ni modificado de algún otromodo.

v No reutilice las contraseñas. Puede que el sistema se haya configurado para rechazar la reutilizaciónde contraseñas.

v No utilice el nombre de una persona como contraseña.

v No utilice palabras que puedan encontrarse en el diccionario ortográfico en línea como contraseñas.

v No utilice contraseñas de menos de seis caracteres.

v No utilice palabras obscenas; son algunas de las primeras que se comprueban cuando alguien trata deadivinar contraseñas.

v Utilice contraseñas que sean fáciles de recordar, de modo que no sea necesario anotarlas.

v Utilice contraseñas que usen tanto letras como números y que incluyan tanto letras minúsculas comoletras mayúsculas.

v Utilice dos palabras, separadas por un número, como contraseña.

v Utilice contraseñas que puedan pronunciarse. Son más fáciles de recordar.

Cambio de la contraseña (mandato passwd)

Utilice el mandato passwd para cambiar la contraseña.

1. En el indicador de mandatos, escriba:passwd

Si no tiene ninguna contraseña, sáltese el paso 2.

2. Aparecerá el indicador siguiente:Cambiando contraseña de IDusuarioContraseña antigua de IDusuario:

Esto impide que un usuario no autorizado cambie la contraseña mientras el usuario no trabaja con elsistema. Escriba la contraseña actual y pulse Intro.

3. Aparece el siguiente indicador:Nueva contraseña de IDusuario:

Escriba la nueva contraseña que desea utilizar y pulse Intro.

4. Aparecerá el indicador siguiente, solicitándole que vuelva a escribir la nueva contraseña.Vuelva a entrar la nueva contraseña:

Esta petición le impide definir una contraseña como una serie de texto tan extraña que no puedereproducir.

Ejemplos

1. Para cambiar la contraseña del usuario Carlos, escriba:passwd

Pulse Intro.

El sistema visualizará información parecida a la siguiente:

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas 9

Page 26: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cambiando la contraseña para "Carlos"Contraseña antigua de Carlos:Nueva contraseña de Carlos:Vuelva a entrar la nueva contraseña:$

2. En el ejemplo siguiente se entra la contraseña actual de forma incorrecta:$ passwdCambiando la contraseña para "Carlos"Contraseña antigua de Carlos:La entrada no coincide con la contraseña antigua.No está autorizado a cambiar la contraseña de"Carlos".$

3. En el ejemplo siguiente se vuelve a entrar la nueva contraseña de forma incorrecta:$ passwdCambiando la contraseña para "Carlos"Contraseña antigua de Carlos:Nueva contraseña de Carlos:Vuelva a entrar la nueva contraseña:La entrada de contraseña no coincide, vuelva a intentarlo.Nueva contraseña de Carlos:Vuelva a entrar la nueva contraseña:$

Consulte el mandato passwd en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Establecimiento de la contraseña en nula (mandato passwd)

Si no desea entrar una contraseña cada vez que inicie la sesión, establezca la contraseña como nula.

Para establecer la contraseña en NULL (en blanco), escriba:passwd

Cuando se le solicite la nueva contraseña, pulse Intro o Control-D.

El mandato passwd no vuelve a solicitar una entrada de contraseña. Se muestra un mensaje quecomprueba la contraseña NULL.

Consulte el mandato passwd en la publicación AIX 5L Version 5.1 Commands Reference para obtenermás información y conocer la sintaxis exacta.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Capítulo 10. Personalización del entorno del usuario” en la página 141

10 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 27: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Resumen de mandatos para nombres de inicio de sesión, ID delsistema y contraseñas

Mandatos de inicio y de fin de sesión

login Inicia la sesiónlogout Detiene todos los procesos.shutdown Finaliza la operación del sistema.su Cambia el ID de usuario asociado con una sesión.touch Actualiza las horas de acceso y modificación de un archivo o crea un archivo vacío.

Mandatos de identificación del usuario y del sistema

id Muestra las identificaciones del sistema de un usuario especificado.logname Muestra el nombre de inicio de sesión.uname Muestra el nombre del sistema operativo actual.who Identifica los usuarios que actualmente tienen iniciada una sesión.whoami Muestra el nombre de inicio de sesión.

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

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Capítulo 10. Personalización del entorno del usuario” en la página 141

Capítulo 1. Nombres de inicio de sesión, ID del sistema y contraseñas 11

Page 28: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

12 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 29: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 2. Entorno de usuario e información del sistema

Cada nombre de inicio de sesión tiene su propio entorno del sistema. El entorno del sistema es un áreadonde se almacena la información común a todos los procesos que se ejecutan en una sesión. Tambiénexisten mandatos que se pueden utilizar para visualizar información sobre el sistema.

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

Listado de los dispositivos del sistema (mandato lscfg)

Utilice el mandato lscfg para visualizar el nombre, la ubicación y la descripción de cada dispositivo que seencuentra en la configuración actual. La lista se ordena por ubicación de dispositivo.

Por ejemplo, para que se listen los dispositivos que se han configurado en el sistema, en el indicador demandatos, escriba:lscfg

Pulse Intro.

El sistema visualiza un mensaje parecido al siguiente:LISTA DE RECURSOS INSTALADOS

En la máquina se han instalado los recursos siguientes.

+/- = Añadido/suprimido de Lista de pruebas de diagnóstico.* = NO soportado por los Diagnósticos.

+ sysplanar0 00-00 Placa de CPU+ fpa0 00-00 Procesador de coma flotante+ mem0 00-0A Tarjeta de memoria+ mem1 00-0B Tarjeta de memoria+ ioplanar0 00-00 Placa de E/S* f2bus0 00-00 Bus Micro Channel+ rs2320 00-01 Tarjeta RS232+ tty0 00-01-0-01 Boca de tarjeta RS232- tty1 00-01-0-02 Boca de tarjeta RS232

..

..

..

© Copyright IBM Corp. 1997, 2001 13

Page 30: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para que se visualice información acerca de un dispositivo específico, puede utilizar el distintivo -l. Porejemplo, para que se liste la información relacionada con el dispositivo sysplanar0 , en el indicador demandatos, escriba:lscfg -l sysplanar0

Pulse Intro.

El sistema visualiza un mensaje parecido al siguiente:DISPOSITIVO UBICACIÓN DESCRIPCIÓN

sysplanar0 00-00 Placa de CPU

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 algunosdispositivos, los VPD se recopilan de forma automática y se añaden a la configuración del sistema. Enotros dispositivos, los VPS se entran manualmente. Si delante de los datos aparece ME, ello indica que losdatos se han entrado manualmente.

Por ejemplo, para que se listen los dispositivos que se han configurado en el sistema con datos vitales delproducto, en el indicador de mandatos, escriba:lscfg -v

Pulse Intro.

El sistema visualiza un mensaje parecido al siguiente:LISTA DE RECURSOS INSTALADOS CON VPD

En el sistema se han instalado los dispositivos siguientes.

sysplanar0 00-00 Placa de CPU

Número de pieza.........342522Nivel de cambio técnico............254921Número de serie.......353535

fpa0 00-00 Procesador de coma flotantemem0 00-0A Tarjeta de memoria

Nivel de cambio técnico............990221...

Consulte el mandato lscfg en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización del nombre de la consola (mandato lscons)

El mandato lscons graba el nombre del dispositivo de consola actual en la salida estándar, por lo general,en la pantalla.

Por ejemplo, en el indicador de mandatos, escriba:lscons

Pulse Intro.

El sistema visualiza un mensaje parecido al siguiente:/dev/lft0

14 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 31: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato lscons en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización del nombre del terminal (mandato tty)

El mandato tty visualiza el nombre del terminal.

Por ejemplo, en el indicador de mandatos, escriba:tty

Pulse Intro.

El sistema mostrará una información parecida a esta:/dev/tty06

En este ejemplo, tty06 es el nombre del terminal y /dev/tty06 es el archivo de dispositivo que contienela interfaz de este terminal.

Consulte el mandato tty en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de las pantallas disponibles (mandato lsdisp)

El mandato lsdisp lista las pantallas actualmente disponibles en el sistema y proporciona un nombre deidentificación de pantalla, el número de ranura, el nombre de pantalla y la descripción de cada una de laspantallas.

Por ejemplo, para que se listen todas las pantallas disponibles, escriba:lsdisp

Pulse Intro.

A continuación se muestra un ejemplo de la lista visualizada que indica el nombre de identificación de lapantalla, el número de ranura, el nombre de pantalla y la descripción. La lista se muestra en ordenascendente según el número de ranura.Nombre Ranura Nombre Descripciónppr0 00-01 POWER_G4 Adaptador de Gráficos Midrangegda0 00-03 colorgda Adaptador de Pantalla Gráficos Colorppr1 00-04 POWER_Gt3 Adaptador Gráficos de Entrada Midrange

Consulte el mandato lsdisp en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de los fonts disponibles (mandato lsfont)

El mandato lsfont visualiza una lista de los fonts disponibles para la pantalla.

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:

Capítulo 2. Entorno de usuario e información del sistema 15

Page 32: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

ID Nombre Estilo Peso Codificación Col X Líneas0 Normal-R-N Roman Normal PC850 80 X 2511 Normal-I-N Italic Normal PC850 120 X 352 Bold-R-Bol Roman Bold PC850 120 X 35

Consulte el mandato lsfont en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de las correlaciones del teclado (mandato lskbd)

El mandato lskbd lista las correlaciones del teclado actualmente disponibles, visualizando un nombre ynúmero de identificador de teclado predefinido.

Por ejemplo, para que se listen todas las correlaciones de teclado, escriba:lskbd

Pulse Intro.

Se visualizará la lista siguiente, mostrando el número y nombre del teclado predefinido:0 USA

Consulte el mandato lskbd en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de los productos de software (mandato lslpp)

El mandato lslpp visualiza información acerca de los productos de software disponibles en el sistema.

Por ejemplo, para que se listen todos los productos de software del sistema, en el indicador del sistema,escriba:lslpp -l -a

Pulse Intro.

A continuación se muestra un ejemplo de la lista que se visualiza:Nombre ID arr. Estado Descripción-------------------- ------- -------- -----------------Vía: /usr/lib/objreposINed.obj APLICADO Editor INedX11_3d.gl.dev.obj APLICADO AIXwindows/3D GL

Programas utilidad desarrolloFontsX11fnt.oldX.fnt APLICADO AIXwindows Varios

X FontsX11mEn_US.msg APLICADO Mensajes de AIXwindows NL

archivos

.

.

.

Si el listado es muy largo, la parte superior se desplazará rápidamente y no se visualizará en la pantalla.Para que no suceda esto, utilice el mandato lslpp interconectado con el mandato pg . En el indicador demandatos, escriba:lslpp | pg

Pulse Intro.

16 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 33: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato lslpp en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de las asignaciones de teclas de control del terminal (mandatostty)

El mandato stty visualiza los valores del terminal. Puede ignorar la mayoría de estos valores; lainformación importante es qué teclas utiliza el terminal como teclas de control.

Por ejemplo, en el indicador de mandatos, escriba:stty -a

Pulse Intro.

El sistema mostrará una información parecida a esta:.

.

.

intr = |C; quit = |\; erase = |H; kill = |U; eof = |D;eol = |@ start = |Q; stop = |S; susp = |Z; dsusp = |Y;reprint = |R discard = |O; werase = |W; lnext = |V

.

.

.

En este ejemplo, las líneas como intr = |C; quit = |\; erase = |H; son los valores de las teclas decontrol. La tecla |H es la tecla de retroceso y la función que se ha establecido para ésta es borrar.

Si el listado es muy largo, la parte superior se desplazará rápidamente y no se visualizará en la pantalla.Para que no ocurra esto, utilice el mandato stty interconectándolo con el mandato pg . En el indicador demandatos, escriba:stty -a | pg

Pulse Intro.

Consulte el mandato stty en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de todas las variables de entorno (mandato env)

El mandato env le permite visualizar las variables de entorno actuales. Una variable de entorno a la quepueden acceder todos los procesos se denomina variable global.

Todas la variables (y los valores que se asocian a éstas) que un mandato puede reconocer al inicio de suejecución constituyen su entorno. Este entorno incluye variables que un mandato hereda de sus variablesy proceso padre especificados como palabras clave en la línea de mandatos que llama al mandato. Elshell interactúa con el entorno de varios modos. Cuando se inicia, el shell explora el entorno y crea unparámetro para cada nombre encontrado, dando al parámetro el valor correspondiente y marcándolo paraexportación. Los mandatos ejecutados heredan el entorno.

Por ejemplo, para que se listen todas las variables de entorno, escriba:env

Capítulo 2. Entorno de usuario e información del sistema 17

Page 34: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

A continuación se muestra un ejemplo de la lista que se visualiza:TMPDIR=/usr/tmpmyid=carlosLANG=En_USUNAME=barnardPAGER=/bin/pgVISUAL=viPATH=/usr/ucb:/usr/lpp/X11/bin:/bin:/usr/bin:/etc:/u/carlos:/u/carlos/bin:/u/bin1MAILPATH=/usr/mail/carlos?carlos tiene correoMAILRECORD=/u/carlos/.OutmailEXINIT=set beautify noflash nomesg report=1 showmode showmatchEDITOR=viPSCH=>HISTFILE=/u/carlos/.historyLOGNAME=carlosMAIL=/usr/mail/carlosPS1=carlos@barnard:${PWD}>PS3=#PS2=>epath=/usr/binUSER=carlosSHELL=/bin/kshHISTSIZE=500HOME=/u/carlosFCEDIT=viTERM=lftMAILMSG=**TIENE NUEVO CORREO. UTILICE EL MANDATO mail PARA VER LA PWD=/u/carlosENV=/u/carlos/.env

Si el listado es muy largo, la parte superior se desplazará rápidamente y no se visualizará en la pantalla.Para que no suceda esto, utilice el mandato env interconectado con el mandato pg . En el indicador demandatos, escriba:env | pg

Pulse Intro.

Consulte el mandato env en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Entorno del shell Korn” en la página 184

“Entorno de shell Bourne” en la página 210

Visualización del valor de una variable de entorno (mandato printenv)

El mandato printenv visualiza los valores de las variables de entorno. Si especifica el parámetro Nombre,el sistema sólo imprime el valor que se asocia al parámetro que ha solicitado. Si no especifica elparámetro Nombre, el mandato printenv visualiza todas las variables de entorno actuales, mostrando unasecuencia Nombre =Valor por línea.

Por ejemplo, para buscar el valor actual de la variable de entorno MAILMSG , escriba:printenv MAILMSG

Pulse Intro.

El mandato devuelve el valor de la variable de entorno MAILMSG . Por ejemplo:

18 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 35: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

TIENE CORREO NUEVO

Consulte el mandato printenv en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Utilización de idiomas bidireccionales (mandato aixterm)

El mandato aixterm da soporte al árabe y al hebreo, que son idiomas bidireccionales. Los idiomasbidireccionales pueden leerse y escribirse en dos direcciones, de izquierda a derecha y de derecha aizquierda. Puede trabajar con aplicaciones en árabe y hebreo abriendo una ventana y especificando unescenario árabe o hebreo.

Consulte el mandato aixterm en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Identificación de usuario y de sistema” en la página 5

“Capítulo 10. Personalización del entorno del usuario” en la página 141

Resumen de mandatos para el entorno de usuario y la información delsistema

aixterm Le permite trabajar con idiomas bidireccionales.env Muestra el entorno actual o define el entorno para la ejecución de un mandato.lscfg Muestra información de diagnósticos acerca de un dispositivo.lscons Muestra el nombre de la consola actual.lsdisp Lista las pantallas disponibles en el sistema.lsfont Lista los fonts disponibles que puede utilizar la pantalla.lskbd Lista las correlaciones de teclado actualmente cargadas en el sistema.lslpp Lista productos de software.printenv Muestra los valores de variables de entorno.stty Muestra valores del sistema.tty Muestra el nombre completo de la vía de acceso del terminal.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Identificación de usuario y de sistema” en la página 5

“Capítulo 10. Personalización del entorno del usuario” en la página 141

Capítulo 2. Entorno de usuario e información del sistema 19

Page 36: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

20 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 37: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 3. Mandatos y procesos

Un mandato es una petición para realizar una operación o para ejecutar un programa. Debe utilizar losmandatos para indicar al sistema operativo qué tarea desea efectuar. Cuando se entran mandatos, unintérprete de mandatos (también conocido como shell) los descifra y dicha tarea se procesa.

Un programa o mandato que se ejecuta realmente en el sistema recibe la denominación de proceso. Elsistema operativo puede ejecutar distintos procesos al mismo tiempo.

El sistema operativo le permite manipular la entrada y la salida (E/S) de los datos hacia y desde elsistema utilizando mandatos y símbolos de E/S específicos. Puede controlar la entrada especificando laubicación de donde se recogerán datos. Por ejemplo, puede especificar la lectura de la entrada a medidaque se entran datos en el teclado (entrada estándar) o la lectura de entrada desde un archivo. Puedecontrolar la salida especificando dónde visualizar o almacenar datos. Por ejemplo, puede especificargrabar datos en la pantalla (salida estándar) o grabar en un archivo.

En este apartado se explica lo siguiente:

v “Visión general de los mandatos” en la página 22

– “Sintaxis de los mandatos” en la página 22

– “Lecturas de sentencias de uso” en la página 24

– “Utilización del Gestor del sistema basado en la Web” en la página 25

– “Utilización del mandato smit” en la página 25

– “Localización de un mandato o de un programa (mandato whereis)” en la página 25

– “Visualización de información acerca de un mandato (mandato man)” en la página 25

– “Visualización de la función de un mandato (mandato whatis)” en la página 26

– “Listado de los mandatos entrados anteriormente (mandato de shell history)” en la página 26

– “Repetición de mandatos utilizando el mandato history del shell” en la página 28

– “Sustitución de series utilizando el mandato history del shell” en la página 28

– “Edición del histórico de mandatos” en la página 29

– “Creación de un alias de mandato (mandato de shell alias)” en la página 29

– “Utilización de mandatos para formatear texto” en la página 30

v “Visión general de los procesos” en la página 32

– “Procesos en primer plano y en segundo plano” en la página 33

– “Daemons” en la página 33

– “Proceso zombie” en la página 33

– “Inicio de un proceso” en la página 33

– “Comprobación de los procesos (mandato ps)” en la página 34

– “Establecimiento de la prioridad inicial de un proceso (mandato nice)” en la página 36

– “Cambio de la prioridad de un proceso en ejecución (mandato renice)” en la página 36

– “Cancelación de un proceso en primer plano” en la página 36

– “Detención de un proceso en primer plano” en la página 37

– “Reinicio de un proceso detenido” en la página 37

– “Planificación de un proceso para ejecutarlo posteriormente (mandato at)” en la página 38

– “Listado de todos los procesos planificados (mandato at o atq)” en la página 39

– “Eliminación de un proceso de la planificación (mandato at)” en la página 40

– “Eliminación de un proceso en segundo plano (mandato kill)” en la página 40

v “Resumen de mandatos para mandatos y procesos” en la página 41

© Copyright IBM Corp. 1997, 2001 21

Page 38: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Información relacionada“Visión general de los mandatos”

“Visión general de los procesos” en la página 32

“Capítulo 11. Shells” en la página 159

Visión general de los mandatos

Algunos mandatos pueden entrarse simplemente escribiendo una palabra. También es posible combinarmandatos de forma que la salida de un mandato se convierta en la entrada para otro mandato. Esto seconoce como conexión.

Los distintivos definen de forma más detallada las acciones de los mandatos. Un distintivo es unmodificador que se utiliza con el nombre del mandato en la línea de mandatos, por lo general, precedidode una barra inclinada.

También pueden agruparse los mandatos y almacenarse en un archivo. Se conocen como procedimientosde shell o scripts de shell. En lugar de ejecutar los mandatos individualmente, se ejecuta el archivo quecontiene los mandatos. Encontrará más información acerca de los scripts y de los procedimientos en elapartado “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

En este apartado se explica lo siguiente:

v “Sintaxis de los mandatos”

v “Lecturas de sentencias de uso” en la página 24

v “Utilización del Gestor del sistema basado en la Web” en la página 25

v “Utilización del mandato smit” en la página 25

v “Localización de un mandato o de un programa (mandato whereis)” en la página 25

v “Visualización de información acerca de un mandato (mandato man)” en la página 25

v “Visualización de la función de un mandato (mandato whatis)” en la página 26

v “Listado de los mandatos entrados anteriormente (mandato de shell history)” en la página 26

v “Repetición de mandatos utilizando el mandato history del shell” en la página 28

v “Sustitución de series utilizando el mandato history del shell” en la página 28

v “Edición del histórico de mandatos” en la página 29

v “Creación de un alias de mandato (mandato de shell alias)” en la página 29

v “Utilización de mandatos para formatear texto” en la página 30

Sintaxis de los mandatos

Aunque algunos mandatos pueden entrarse simplemente escribiendo una palabra, otros mandatos utilizandistintivos y parámetros. Cada mandato tiene una sintaxis que indica los distintivos y parámetrosobligatorios y opcionales. El formato general para un mandato es:NombreMandato distintivo(s) parámetro(s)

Estas son algunas normas generales acerca de mandatos:

v Los espacios entre los mandatos, los distintivos y los parámetros son importantes.

v Pueden entrarse dos mandatos en la misma línea separándolos con un punto y coma (;). Por ejemplo:

22 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 39: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

$ MandatoUno;MandatoDos

El shell ejecuta los mandatos secuencialmente.

v Los mandatos son sensibles a las mayúsculas y minúsculas. El shell distingue entre letras enmayúsculas y letras en minúsculas. Para el shell, print no es lo mismo que PRINT o que Print.

v Un mandato muy largo puede entrarse en más de una línea utilizando un carácter de barra inclinadainvertida (\). Una barra inclinada invertida significa continuación de línea para el shell. En el ejemplosiguiente se muestra un mandato que abarca dos líneas:$ ls Mail info temp \(pulse Intro)

> diary(aparece el indicador >)

El carácter > es el indicador secundario ($ es el indicador primario por omisión del usuario que no esroot), que indica que la línea actual es la continuación de la línea anterior. Tenga en cuenta que csh noproporciona ningún indicador secundario y el salto de línea debe producirse en un límite de palabra ysu indicador primario es %.

v Para ejecutar un mandato, escriba el nombre del mandato en el indicador de mandatos y pulse Intro.

Nombre del mandato

La primera palabra de cada mandato es el nombre del mandato. Algunos mandatos sólo tienen unnombre.

Distintivos de los mandatos

Tras el nombre del mandato puede haber varios distintivos. A veces, los distintivos se denominanopciones. Los distintivos van separados por espacios o tabulaciones y normalmente comienzan por unguión (-). Las excepciones son ps , tar y ar, que no requieren un guión delante de algunos distintivos. Losdistintivos modifican el funcionamiento de un mandato. Por ejemplo, en el siguiente mandato:ls -a -F

ls es el nombre del mandato y -a -F son los distintivos.

Cuando un mandato utiliza distintivos, se sitúan directamente después del nombre del mandato. Losdistintivos de un solo carácter en un mandato pueden combinarse con un guión. Por ejemplo, el mandatoanterior también puede escribirse como:ls -aF

Existen algunas circunstancias en las que un parámetro comienza de hecho con un guión (-). En estecaso, utilice el delimitador guión guión (—) delante del parámetro. El delimitador del guión doble — indica almandato 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

El sistema mostraría un mensaje de error similar al siguiente:mkdir: No es un distintivo reconocido: tUso: mkdir [-p] [-m modalidad] Directorio ...

La forma correcta de entrar el mandato es:mkdir -- -tmp

Ahora se crea el nuevo directorio, -tmp.

Capítulo 3. Mandatos y procesos 23

Page 40: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Parámetros de los mandatos

Tras el nombre del mandato puede haber varios distintivos, seguidos de parámetros. A veces, losparámetros se denominan argumentos u operandos. Los parámetros especifican información que elmandato necesita para poder ejecutarse. Si no especifica un parámetro, el mandato podría dar porsupuesto un valor por omisión. Por ejemplo, en el siguiente mandato:ls -a temp

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 ejemplosiguiente:ls temp mail

no se proporciona ningún distintivo y temp y mail son parámetros. En este caso, temp y mail son dosnombres de directorios distintos. El mandato ls visualizará todos los archivos, menos los ocultos, de cadauno de estos directorios.

Siempre que un parámetro u opción-argumento sea, o contenga, un valor numérico, el número seinterpretará como entero decimal, a menos que se especifique algo distinto. Los números en el rango de0 a INT_MAX, tal como están definidos en /usr/include/sys/limits.h , se reconocen sintácticamente comovalores numéricos.

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 dedicho rango sean semánticamente correctos. Algunos mandatos tienen una especificación incorporadaque permite un rango de números menor, por ejemplo algunos de los mandatos de impresión. Si segenera un error, el mensaje de error le permite saber que el valor no está en el rango soportado y no queel mandato es sintácticamente incorrecto.

Lecturas de sentencias de uso

Las sentencias de uso son otro modo de representar la sintaxis de mandatos. Del mismo modo que losdiagramas de sintaxis, las sentencias de uso le indican cómo entrar mandatos desde la línea demandatos. Aunque las sentencias de uso proporcionan el mismo tipo de información de sintaxis que losdiagramas, su formato es distinto. Más bien se componen de símbolos, como los corchetes ([ ]), lasllaves ({ }) y las barras verticales (|). A continuación se muestra un ejemplo de una sentencia de uso parael mandato unget :

unget [ -rSID ] [ -s ] [ -n ] Archivo ...

Los convenios para la negrita y la cursiva son los mismos que los de los diagramas de sintaxis. En lassentencias 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 elegirentre 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.

24 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 41: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Utilización del Gestor del sistema basado en la WebGestor del sistema basado en la Web es una interfaz gráfica de usuario para gestionar el sistema, ya seadesde una pantalla localmente conectada o bien de forma remota desde otro sistema o PC equipado conun navegador Web. Puede iniciar el Gestor del sistema basado en la Web de varios modos:

v desde un terminal de línea de mandatos en el Common Desktop Environment (CDE) entrando elmandatowsm.

v desde un terminal de línea de mandatos en el entorno AIXwindows entrando el mandato wsm.

v desde el Gestor de aplicaciones del CDE dirigiéndose a la carpeta de administración del sistemaSystem_Admin y efectuando una pulsación en el icono Consola de gestión.

v desde un navegador Web compatible con HTML 3.2 en un PC que se haya configurado como sedescribe en la publicación ″Web-based System Manager Administration Guide″.

Utilización del mandato smit

El mandato smit es una herramienta que se utiliza para ejecutar otros mandatos. Los nombres de losmandatos que se entran como un parámetro para el mandato smit podrían llevarle al submenú o al panelde ese mandato. Por ejemplo, smit lsuser le lleva directamente a Listar todos los usuarios , quemuestra una lista de los atributos de los usuarios del sistema.

Consulte el mandato smit en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Localización de un mandato o de un programa (mandato whereis)

El mandato whereis localiza las secciones correspondientes a fuente, binario y manuales de los archivosespecificados. El mandato intenta localizar el programa deseado en una lista de ubicaciones estándares.

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.

El sistema mostrará una información parecida a esta:Mail: /usr/bin/Mail /usr/lib/Mail.rc

Consulte el mandato whereis en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización de información acerca de un mandato (mandato man)

El mandato man visualiza información acerca de los mandatos, las subrutinas y los archivos. El formatogeneral del mandato man es:man NombreMandato

Para obtener información acerca del mandato pg , escriba:man pg

Pulse Intro.

Capítulo 3. Mandatos y procesos 25

Page 42: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El sistema mostrará una información parecida a esta:Mandato pg

Objetivo

Formatea archivos en la pantalla.

Sintaxis

pg [ - Número ] [ -c ] [ -e ] [ -f ] [ -n ] [ -p Serie ][ -s ] [ +NúmeroLínea | +/Patrón/ ] [ Archivo ... ]

Descripción

El mandato pg lee un nombre de archivo del parámetro Archivo ygraba el archivo en salida estándar de pantalla en pantalla. Siespecifica un - (guión) como parámetro Archivo o ejecuta el mandatopg sin opciones, dicho mandato lee la entrada estándar. Cada pantallava seguida de un indicador. Si pulsa la tecla Intro se visualizaotra página. Los submandatos utilizados con el mandato pg le permitenrevisar o efectuar búsquedas en el archivo.

La información que el mandato man proporciona también puede obtenerse utilizando el programaInfoExplorer.

Consulte el mandato man en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización de la función de un mandato (mandato whatis)

El mandato whatis consulta un mandato, llamada al sistema, función de biblioteca o nombre de archivoespecial determinado, que se especifica mediante el parámetro Mandato, en una base de datos que secrea utilizando el mandato catman -w . El mandato whatis visualiza la línea de cabecera de la sección demanuales. A continuación puede emitir el mandato man para obtener información adicional.

El mandato whatis equivale a utilizar el mandato man -f .

Para averiguar qué hace el mandato ls , escriba:whatis ls

Pulse Intro.

El sistema mostrará una información parecida a esta:ls(1) -Visualiza el contenido de un directorio.

Consulte el mandato whatis en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Listado de los mandatos entrados anteriormente (mandato de shellhistory)

El mandato history es un mandato incorporado del shell Korn que muestra una lista con los 16 últimosmandatos que se han entrado. El shell Korn guarda los mandatos que ha entrado en un archivo históricode mandatos, por lo general denominado $HOME/.sh_history . Esto ahorra tiempo cuando necesita repetirun mandato anterior.

26 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 43: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por omisión, el shell Korn guarda el texto de los 128 últimos mandatos. El tamaño del archivo histórico(que se especifica mediante la variable de entorno HISTSIZE) no está limitado, aunque un tamaño dearchivo histórico demasiado grande puede dar lugar a que el arranque del shell Korn sea lento.

Nota: El mandato de shell history no es lo mismo que el mandato history utilizado con el editorINed. 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 lapágina 159″

Para que se muestre una lista con los mandatos que ha entrado anteriormente, en el indicador demandatos, escriba:history

Pulse Intro.

El mandato history que él mismo entra muestra una lista con los 16 mandatos anteriormente entrados. Elsistema visualiza información parecida a la siguiente:928 ls929 mail930 printenv MAILMSG931 whereis Mail932 whatis ls933 cd /usr/include/sys934 ls935 man pg936 cd937 ls | pg938 lscons939 tty940 ls *.txt941 printenv MAILMSG942 pwd943 history

El listado muestra en primer lugar la posición del mandato en el archivo $HOME/.sh_history y luego elmandato.

Para obtener una lista de los cinco mandatos anteriores, en el indicador de mandatos, escriba:history -5

Pulse Intro.

Aparece un listado similar al siguiente:939 tty940 ls *.txt941 printenv MAILMSG942 pwd943 history944 history -5

El mandato history seguido de un número muestra una lista con todos los mandatos anteriormenteentrados, 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.

Capítulo 3. Mandatos y procesos 27

Page 44: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Aparece un listado similar al siguiente:938 lscons939 tty940 ls *.txt941 printenv MAILMSG942 pwd943 history944 history -5945 history 938

Repetición de mandatos utilizando el mandato history del shell

Para repetir mandatos anteriores, utilice el alias del shell Korn r. Escriba r y pulse Intro y podráespecificar el número o el primer carácter o caracteres del mandato.

Si desea que se listen las pantallas actualmente disponibles en el sistema, escriba lsdisp en el indicadorde mandatos y pulse Intro. El sistema devuelve información en la pantalla. Si desea que vuelva amostrarse 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, seejecutaría el mandato lsdisp .

Para repetir el mandato ls *.txt , en el indicador de mandatos, escriba:r ls

Pulse Intro.

El alias del shell Korn r localiza el mandato más reciente que empieza por el carácter o caracteresespecificados.

Sustitución de series utilizando el mandato history del shell

También puede utilizar el alias del shell Korn r para modificar un mandato antes de que se ejecute. Eneste caso, puede utilizarse un parámetro de sustitución en el formato Antiguo=Nuevo para modificar elmandato antes de que se ejecute.

Por ejemplo, si la línea de mandatos 940 es ls *.txt y desea ejecutar ls *.exe , en el indicador demandatos, escriba:r txt=exe 940

Pulse Intro.

Con ello se ejecutará el mandato 940, sustituyéndose exe por txt .

Por ejemplo, si el mandato de la línea 940 es el mandato más reciente que empieza por la letra l enminú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 elalias de shell Korn r sin un número de mandato o carácter específico, la sustitución se efectúa en elmandato entrado anteriormente.

28 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 45: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Edición del histórico de mandatos

El mandato incorporado del shell Korn fc se utiliza para listar o editar partes del archivo histórico demandatos. Para seleccionar una parte del archivo a editar o listar, especifique el número del primercarácter o caracteres del mandato. Puede especificar un solo mandato o un rango de mandatos.

Si no especifica un programa editor como argumento para el mandato incorporado del shell Korn fc , seutilizará 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.

Por ejemplo, si desea ejecutar el mandato:cd /usr/tmp

que es muy parecido a la línea de mandatos 933, en el indicador de mandatos, escriba:fc 933

Pulse Intro.

En este punto, aparece el editor por omisión con la línea de mandatos 933. Debe cambiar include/syspor tmp y, cuando salga del editor, se ejecutará el mandato editado.

También puede especificar el editor que desea utilizar en el mandato fc .

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.

En este punto, el editor vi aparece con la línea de mandatos 933.

También puede especificar un rango de mandatos para editar.

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 deleditor, todos los mandatos que aparezcan en el editor se ejecutan secuencialmente.

Creación de un alias de mandato (mandato de shell alias)

Un alias le permite crear un nombre abreviado para un mandato, un nombre de archivo o cualquier textodel shell. Utilizando alias, puede ahorrarse tiempo cuando efectúa tareas de proceso frecuente. Elmandato incorporado del shell Korn alias define una palabra como alias de algunos mandatos. Puedeutilizar alias para redefinir mandatos incorporados, pero no para redefinir palabras reservadas.

El primer carácter de un nombre de alias puede ser cualquier carácter imprimible, a excepción de losmetacaracteres. Los caracteres restantes deben ser los mismos que los de un nombre de archivo válido.

El formato para crear un alias es:alias Nombre=Serie

Capítulo 3. Mandatos y procesos 29

Page 46: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

donde el parámetro Nombre especifica el nombre del alias y el parámetro Serie especifica una serie decaracteres. Si la Serie contiene espacios en blanco, especifíquela entre comillas.

Para crear un alias para el mandato rm -i (le pregunta antes de suprimir archivos), en el indicador demandatos, 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 seejecutará es /usr/bin/rm -i .

Para crear un alias para el mandato ls -alF | pg (visualiza información detallada acerca de todos losarchivos del directorio actual, incluidos los archivos invisibles, marca los archivos ejecutables con un * ylos 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 seejecutará 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.

El sistema mostrará una información parecida a esta:rm="/usr/bin/rm -i"dir="/usr/bin/ls -alF | pg"

Utilización de mandatos para formatear texto

Puede utilizar mandatos de formateo de texto para trabajar con texto compuesto por el juego decaracteres ampliado internacional para idiomas europeos.

Soporte internacional de caracteres en el formato de texto

El juego de caracteres ampliado internacional proporciona los caracteres y símbolos utilizado en muchosidiomas europeos, además de un subconjunto ASCII compuesto de los caracteres, dígitos y puntuacióndel idioma inglés.

Todos los caracteres del juego de caracteres ampliado europeo tienen formatos ASCII. Estos formatospueden utilizarse para representar los caracteres ampliados en la entrada; por otra parte, los caracterespuede escribirse directamente con un dispositivo como, por ejemplo, un teclado que dé soporte a loscaracteres ampliados europeos.

Los siguientes mandatos de formateo de texto aceptan todos los idiomas internacionales que utilizancaracteres de un solo byte. Estos mandatos se encuentran en /usr/bin. (Los mandatos que se identificancon un asterisco (*) dan soporte al proceso de texto en varios idiomas. Para obtener más informaciónacerca del soporte en varios idiomas, consulte el apartado “Soporte de caracteres de varios bytes en elformato de texto” en la página 31.)addbib* hyphen pic* pstextcheckmm ibm3812 ps4014 refer*checknr* ibm3816 ps630 roffbib*

30 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 47: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

col* ibm5587G* psbanne soelim*colcrt ibm5585H-T* psdit sortbib*deroff* indxbib* psplot tbl*enscript lookbib* psrev troff*eqn* makedev* psroff vgrindgrap* neqn* psrv xpreview*hplj nroff*

Los mandatos de formateo de texto y los paquetes de macros que no están en la lista anterior no se hanhabilitado para procesar los caracteres internacionales de .

Especificación de caracteres ampliados de un solo byte

Si el dispositivo de entrada que utiliza da soporte a los caracteres del juego de caracteres ampliado paraidiomas europeos, puede escribirlos directamente. De lo contrario, utilice el siguiente formato de escapeASCII para representar dichos caracteres:

El formato \[N], donde N es el código hexadecimal de 2 o de 4 dígitos del carácter.

Nota: El formato NCesc \<xx> ya no recibe soporte.

Al texto que contiene caracteres ampliados se le da salida de acuerdo con los convenios de formateo delidioma en uso. Los caracteres que no están definidos para la interfaz a un dispositivo de salida específicono 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, lamayoría de ellos pueden aceptar entrada (por ejemplo, nombres de archivos y parámetros) que incluyacaracteres 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 seproducirá un error de sintaxis no recuperable. Los caracteres internacionales, de un solo byte o de variosbytes, pueden escribirse cuando éstos se especifican entre comillas y no existe ningún otro texto quetenga 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 desustitución, AlgúnTexto, puede contener caracteres que no sean ASCII.

Soporte de caracteres de varios bytes en el formato de texto

Ciertos mandatos de formateo de texto pueden utilizarse para procesar texto para idiomas multibyte.Estos mandatos se identifican con un asterisco (*) en la lista que se facilita en el apartado “Soporteinternacional de caracteres en el formato de texto” en la página 30. Los mandatos de formato de texto queno están en la lista no se han habilitado para procesar caracteres internacionales de .

Especificación de caracteres de varios bytesLos caracteres de varios bytes pueden escribirse directamente, si el dispositivo de entrada da soporte aéstos. Si no es así, puede escribir cualquier carácter de varios bytes en el formato ASCII \[N], donde N esla codificación hexadecimal de 2, 4, 6, 7 u 8 dígitos del carácter.

Aunque los nombres de las peticiones, macros y mandatos están basados en el inglés, la mayoría deellos pueden aceptar entrada (por ejemplo, nombres de archivos y parámetros) que incluya cualquier tipode carácter multibyte.

Si ya está familiarizado con la utilización de mandatos de formateo de texto de un solo byte, la listasiguiente resume las características que son indicativas o exclusivas para los escenarios multibyte:

v El texto no está delimitado por guiones.

Capítulo 3. Mandatos y procesos 31

Page 48: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Se requieren tipos de formatos especiales para salida numérica multibyte. Están disponibles los tiposde formato japoneses.

v Se da salida al texto en líneas horizontales, rellenadas de izquierda a derecha.

v El espaciado de caracteres es constante, de forma que los caracteres se alineen automáticamente encolumnas.

v Los caracteres que no están definidos para la interfaz a un dispositivo de salida específico no generansalida ni indicación de errores.

En lo que respecta a los mandatos nroff y troff y sus predecesores, la entrada de mandatos debe serASCII o se generará un error de sintaxis. Los caracteres internacionales, de un solo byte o de variosbytes, pueden escribirse cuando éstos se especifican entre comillas y dentro de otro texto que tenga queformatearse. 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 desustitución, AlgúnTexto, puede contener caracteres que no sean ASCII.

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Visión general de los procesos”

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

Visión general de los procesos

Un programa o mandato que se ejecuta realmente en el sistema recibe la denominación de proceso. Losprocesos existen en jerarquías de padre-hijo. Un proceso iniciado por un programa o mandato es unproceso padre; un proceso hijo es el producto del proceso padre. Un proceso padre puede tener variosprocesos hijo, pero un proceso hijo sólo puede tener un padre.

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 elsistema. Cuando está ejecutándose más de un proceso, un planificador que está incorporado al sistemaoperativo otorga a cada proceso su parte compartida de tiempo del sistema, según las prioridadesestablecidas. 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 quedisponga de autorización de usuario root. Todos los usuarios pueden especificar prioridades másbajas para un proceso. Si están iniciando un proceso, utilizan el mandato nice ; si ya han iniciado unproceso, utilizan el mandato renice .

En este apartado se explica lo siguiente:

v “Procesos en primer plano y en segundo plano” en la página 33

v “Daemons” en la página 33

v “Proceso zombie” en la página 33

v “Inicio de un proceso” en la página 33

32 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 49: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v “Comprobación de los procesos (mandato ps)” en la página 34

v “Establecimiento de la prioridad inicial de un proceso (mandato nice)” en la página 36

v “Cambio de la prioridad de un proceso en ejecución (mandato renice)” en la página 36

v “Cancelación de un proceso en primer plano” en la página 36

v “Detención de un proceso en primer plano” en la página 37

v “Reinicio de un proceso detenido” en la página 37

v “Planificación de un proceso para ejecutarlo posteriormente (mandato at)” en la página 38

v “Listado de todos los procesos planificados (mandato at o atq)” en la página 39

v “Eliminación de un proceso de la planificación (mandato at)” en la página 40

v “Eliminación de un proceso en segundo plano (mandato kill)” en la página 40

Procesos en primer plano y en segundo plano

Los procesos que se inician y que necesitan una interacción del usuario se denominan procesos enprimer plano. Los procesos que se ejecutan sin depender de un usuario se denominan procesos ensegundo plano. Los programas y los mandatos se ejecutan como procesos en primer plano por omisión.Para ejecutar un proceso en segundo plano, coloque un ampersand (&) al final del nombre del mandatoque utiliza para iniciar el proceso.

Daemons

Los daemons son procesos que se ejecutan de forma desatendida. Están constantemente en el segundoplano y están disponibles siempre. Los daemons suelen iniciarse cuando se arranca el sistema y seejecutan 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 procesosdaemon y sólo puede detenerlos el usuario root. Por ejemplo, el proceso qdaemon proporciona acceso alos 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 latabla de procesos (en otras palabras, tiene un número PID). Ya no se asigna espacio del sistema a dichoproceso. Los procesos zombie han sido cerrados o han salido y siguen existiendo en la tabla de procesoshasta que muere el proceso padre o se apaga el sistema y se reinicia. Los procesos zombie se muestrancomo <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 unprograma o el nombre de un mandato en el indicador del sistema. Una vez que se ha iniciado un procesoen 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 laestació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 procesospor usuario.

Para iniciar un proceso en primer planoPara ejecutar un proceso en primer plano, escriba el nombre del mandato con todos los parámetros ydistintivos adecuados:$ NombreMandato

Capítulo 3. Mandatos y procesos 33

Page 50: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

Para iniciar un proceso en segundo planoPara ejecutar un proceso en segundo plano, escriba el nombre del mandato con todos los parámetros ydistintivos adecuados, seguidos de un ampersand (&):

y pulse Intro.$ NombreMandato&

Cuando el proceso está ejecutándose en segundo plano, puede efectuar tareas adicionales entrando otrosmandatos en la estación de pantalla.

Generalmente, los procesos en segundo plano son más útiles para mandatos que tardan mucho enejecutarse. No obstante, puesto que aumentan la cantidad total de trabajo que efectúa el procesador, losprocesos 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. Amenos que se redireccione, la salida estándar va hacia la estación de pantalla. Puesto que la salida de unproceso en segundo plano puede interferir con otros trabajos del sistema, es útil redireccionar la salida delos procesos en segundo plano a un archivo o a una impresora. De este modo, podrá ver la salida cuandolo desee.

Nota: En algunas circunstancias, la salida de un proceso en segundo plano puede generarse en unasecuencia distinta de la que se generaría si se ejecutara en primer plano. Puede que losprogramadores deseen utilizar la subrutina fflush para asegurarse de que la salida se genera en elorden 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 .

Comprobación de los procesos (mandato ps)

Mientras el sistema esté en funcionamiento, también están ejecutándose varios procesos. Puede utilizar elmandato ps para averiguar qué procesos están ejecutándose y para que se visualice información acercade esos procesos.

Mandato psEL 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 demandatos, escriba:ps -ef

Pulse Intro.

El sistema visualizará información parecida a la siguiente:USER PID PPID C STIME TTY TIME CMDroot 1 0 0 Jun 28 - 3:23 /etc/initroot 1588 6963 0 Jun 28 - 0:02 /usr/etc/biod 6root 2280 1 0 Jun 28 - 1:39 /etc/syncd 60mary 2413 16998 2 07:57:30 - 0:05 aixtermmary 11632 16998 0 07:57:31 lft/1 0:01 xbiffmary 16260 2413 1 07:57:35 pts/1 0:00 /bin/kshmary 16469 1 0 07:57:12 lft/1 0:00 ksh /usr/lpp/X11/bin/xinitmary 19402 16260 20 09:37:21 pts/1 0:00 ps -ef

34 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 51: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Las definiciones de cabeceras de columna son las siguientes:

USER El nombre de inicio de sesión del usuarioPID ID del procesoPPID ID del proceso padreC Utilización de CPU del procesoSTIME Hora de inicio del procesoTTY Estación de trabajo controladora del procesoTIME Tiempo total de ejecución del procesoCMD Mandato

En el ejemplo anterior, el ID de proceso del mandato ps -ef es 19402. El ID de su proceso padre es16260, el mandato /bin/ksh .

Si el listado es muy largo, la parte superior se sale de la pantalla. Para que no suceda esto, utilice elmandato 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, enel 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 esteaspecto aproximado:

PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND0 - A 0:44 7 8 8 xx 0 0 0.0 0.0 swapper1 - 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 kproc1028 - A 0:00 10 16 8 xx 0 0 0.0 0.0 kproc1503 - A 0:33 127 16 8 xx 0 0 0.0 0.0 kproc1679 - A 1:03 282 192 12 32768 130 0 0.7 0.0 pcidossvr2089 - A 0:22 918 72 28 xx 1 4 0.0 0.0 /etc/sync2784 - A 0:00 9 16 8 xx 0 0 0.0 0.0 kproc2816 - 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 kproc3812 - 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 kproc4267 - A 0:01 169 132 72 32768 16 16 0.0 0.0 /etc/sysl4514 lft/0 A 0:00 60 200 72 xx 39 60 0.0 0.0 /etc/gett4776 pts/3 A 0:02 250 108 280 8 303 268 0.0 2.0 -ksh5050 - A 0:09 1200 424 132 32768 243 56 0.0 1.0 /usr/sbin5322 - A 0:27 1299 156 192 xx 24 24 0.0 1.0 /etc/cron5590 - A 0:00 2 100 12 32768 11 0 0.0 0.0 /etc/writ5749 - 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 lasintaxis exacta.

Otros mandatos que puede utilizar son smit process y los smit monitors .

Capítulo 3. Mandatos y procesos 35

Page 52: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Establecimiento de la prioridad inicial de un proceso (mandato nice)

Puede establecer la prioridad inicial de un proceso en un valor menor que la prioridad de planificaciónbásica utilizando el mandato nice para iniciar el proceso.

Nota: Para ejecutar un proceso con una prioridad más alta, deberá disponer de autorización deusuario 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. Cuantomayor sea el número, menor será la prioridad. Si utiliza cero, el proceso se ejecutará en la prioridad deplanificació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ásinformación y conocer de la sintaxis exacta.

También puede utilizar el mandato smit nice para efectuar esta tarea.

Cambio de la prioridad de un proceso en ejecución (mandato renice)

Puede cambiar la prioridad de planificación de un proceso en ejecución por un valor más alto o más bajoque el valor de la prioridad de planificación básica utilizando el mandato renice desde la línea demandatos. Este mandato cambia el valor de nice de un proceso.

Nota: Para ejecutar un proceso con una prioridad más alta o para cambiar la prioridad de unproceso que no ha iniciado, deberá disponer de autorización de usuario root.

Desde la línea de mandatos

Para cambiar la prioridad inicial de un proceso de ejecución, escriba:renice Prioridad -p IDProceso

donde Prioridad es un número comprendido entre el -20 y el 20. Cuanto mayor sea el número, menorserá la prioridad. Si utiliza cero, el proceso se ejecutará en la prioridad de planificación base. IDProcesoes el PID al que desea cambiar la prioridad.

También puede utilizar el mandato smit renice para efectuar esta tarea.

Cancelación de un proceso en primer plano

Si inicia un proceso en primer plano y decide que no quiere dejar que termine, puede cancelarlo pulsandola tecla de interrupción. Dicha tecla suele ser Control-C o Control-Retroceso. Para averiguar en qué valorse ha establecido su tecla de interrupción, consulte el apartado “Listado de las asignaciones de teclas decontrol del terminal (mandato stty)” en la página 17 .

Nota: La tecla de interrupción (Control-C) no cancela los procesos en segundo plano. Para cancelarun 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, yaque 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

36 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 53: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

ejecutarse: find / -type f. Este mandato muestra los nombres de las vías de acceso de todos losarchivos del sistema. No es necesario que estudie el mandato find para poder completar este apartado;aquí se utiliza simplemente para demostrar cómo trabajar con procesos.

En el ejemplo siguiente, el mandato find inicia un proceso. Una vez que el proceso se ejecuta durantealgunos 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)$ _

El sistema devuelve el indicador a la pantalla. Ahora puede entrar otro mandato.

Detención de un proceso en primer plano

Es posible detener un proceso, pero no puede eliminarse su ID de proceso (PID) de la tabla de procesos.Puede detener un proceso en primer plano con Control-Z desde el teclado.

Nota: Control-Z funciona en el shell Korn (ksh ) y en el shell C (csh ), pero no en el shell Bourne(bsh ).

Reinicio de un proceso detenido

Este procedimiento describe cómo reiniciar un proceso que se ha detenido con Control-Z.

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 tenerautorización de usuario root.

1. Para ver todos los procesos que se ejecutan o que se han detenido, pero que no han muerto en elsistema, escriba:ps -ef

Puede que desee interconectar este mandato por medio de un mandato grep para restringir la lista alos procesos entre los que probablemente se encontrará el que desea iniciar. Por ejemplo, si desearareiniciar 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 lapalabra vi. La salida tendría este aspecto:UID PID PPID C STIME TTY TIME COMMANDroot 1234 13682 0 00:59:53 - 0:01 vi testroot 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 esteejemplo, 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 mandatoreinicia el proceso en segundo plano. Es correcto que el proceso se ejecute en segundo plano, unavez que haya finalizado con el procedimiento. Si el proceso debe ejecutarse en primer plano (comocorrespondería a una sesión vi ), debe continuar con el paso siguiente.

4. Para llevar el proceso al primer plano, escriba:

Capítulo 3. Mandatos y procesos 37

Page 54: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

fg 1234

Una vez más, sustituya el PID de su proceso por 1234. El proceso debe estar ejecutándose ahora enprimer plano. (Ahora está en la sesión de edición de vi ).

Planificación de un proceso para ejecutarlo posteriormente (mandatoat)

Puede establecer un proceso como proceso por lotes para que se ejecute en segundo plano en elmomento planificado. Los mandatos at y smit le permiten entrar los nombres de mandatos que seejecutarán en un momento posterior y le permiten especificar cuándo deben ejecutarse los mandatos.

Nota: Los archivos /var/adm/cron/at.allow y /var/adm/cron/at.deny controlan si puede o no utilizarel mandato at. Una persona con autorización de usuario root puede crear, editar o suprimir dichosarchivos. Las entradas en dichos archivos son nombres de inicio de sesión de usuario con unnombre en cada línea. A continuación se muestra un ejemplo de un archivo at.allow :rootnickdeesarah

Si existe el archivo at.allow , sólo podrán utilizar el mandato at los usuarios cuyos nombres de inicio desesión aparezcan en dicho archivo. Un administrador del sistema puede hacer que un usuario deje detener permiso para utilizar el mandato at haciendo que el nombre de inicio de sesión del usuario aparezcaen el archivo at.deny . Si sólo existe el archivo at.deny , podrán utilizar el mandato at los usuarios cuyosnombres no aparezcan en dicho archivo.

No puede utilizar el mandato at si se cumple alguna de estas condiciones:

v El archivo at.allow y el archivo at.deny no existen (sólo tiene permiso el usuario root).

v El archivo at.allow existe, pero el nombre de inicio de sesión del usuario no está listado en el mismo.

v El archivo at.deny existe, pero el nombre de inicio de sesión del usuario está listado en el mismo.

Si el archivo at.allow no existe y el archivo at.deny no existe o está vacío, sólo podrá someter un trabajocon 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 bienuna serie incremental que especifique el momento en el que desea que se ejecute el proceso. También lepermite especificar qué shell o cola debe utilizar. Los siguientes ejemplos muestran algunas utilizacionesusuales del mandato.

Mandato at

Por ejemplo, si el nombre de inicio de sesión es alberto y tiene un script llamado WorkReport que deseaque 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 finde la lista.WorkReport|D

Tras pulsar Control-D, el sistema visualizará información parecida a la siguiente:job alberto.741502800.a at Vie Jul 6 00:00:00 CDT 1994.

38 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 55: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Al programa WorkReport se le proporciona el número de trabajo alberto.741502800.a, que se ejecutará eldía 6 de julio, a medianoche.

Para que se listen los programas que ha enviado para que se ejecuten posteriormente, escriba:at -l

El sistema visualizará información parecida a la siguiente:alberto.741502800.a Vie Jul 6 00:00:00 CDT 1994

Para cancelar un programa que ha establecido para que se ejecute posteriormente, obtenga primero lalista de los números de trabajo que se han asignado a los programas con at -l . Una vez que conozca elnúmero de trabajo del programa que desea cancelar, escriba:at -r alberto.741502800.a

Esto cancela el trabajo alberto.741502800.a.

Consulte el mandato at en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Para realizar esta tarea, también puede utilizar los mandatos smit at y smit sjat .

Listado de todos los procesos planificados (mandato at o atq)

Puede hacer que se listen todos los procesos planificados con el distintivo -l del mandato at o bien con elmandato atq . Ambos mandatos generan la misma salida, pero el mandato atq puede ordenar losprocesos por hora de emisión del mandato at y puede visualizar sólo el número de los procesos queestán en la cola.

Puede listar todos los procesos planificados de estas formas:

v Con el mandato at desde la línea de mandatos

v Con el mandato atq

Para obtener información acerca de las restricciones de usuario para la utilización del mandato at,consulte la Nota.

Mandato atPara listar los procesos planificados, escriba:at -l

Este mandato lista todos los procesos planificados de la cola. Si es usted un usuario root, este mandatolista todos los procesos planificados de todos los usuarios. Para obtener información detallada acerca dela sintaxis, consulte el mandato at.

Mandato atqPara 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 determinadoescribiendo:atq NombreUsuario

Para listar el número de procesos planificados de la cola, escriba:atq -n

Capítulo 3. Mandatos y procesos 39

Page 56: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Eliminación de un proceso de la planificación (mandato at)

Puede eliminar un proceso planificado utilizando el mandato at con el distintivo -r. Para obtenerinformación acerca de las restricciones de usuario para la utilización del mandato at, consulte la Nota.

Desde la línea de mandatos1. Para eliminar un proceso planificado, debe conocer el número de proceso. Puede obtener el número

de proceso utilizando el mandato at -l o el mandato atq . Consulte el apartado “Listado de todos losprocesos planificados (mandato at o atq)” en la página 39 para obtener detalles.

2. Cuando conozca el número del proceso que desea eliminar, escriba:at -r NúmeroProceso

También puede utilizar el mandato smit rmat para efectuar esta tarea.

Eliminación de un proceso en segundo plano (mandato kill)

Si la tecla de interrupción no detiene el proceso en primer plano o si ha decidido, después de iniciar unproceso en segundo plano, que no desea que el proceso finalice, puede cancelar el proceso con elmandato kill . Antes de poder cancelar un proceso utilizando el mandato kill , primero deberá conocer sunúmero PID. El formato general del mandato kill es:kill IDProceso

Nota: Para eliminar un proceso, deberá disponer de autorización de usuario root o ser el usuarioque ha iniciado el proceso. La señal por omisión para un proceso del mandato kill es -15(SIGTERM).

Mandato kill1. 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 procesosdeseados. 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óndecide 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 COMMAND1627 pts3 0:00 ps5461 pts3 0:00 ksh17565 pts3 0:00 -ksh21593 pts3 0:00 find / -type f$ kill 21593$ ps

PID TTY TIME COMMAND1627 pts3 0:00 ps5461 pts3 0:00 ksh17565 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 nodevuelve información de estado acerca del PID 21593. El sistema no visualizará el mensaje determinació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, porejemplo, si se da cuenta de que ha colocado un proceso en segundo plano por error o si observa quela ejecución de un proceso está prolongándose demasiado.

40 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 57: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Notas:

a. La eliminación de un proceso padre elimina automáticamente todos sus procesos hijo.

b. Para eliminar un proceso zombie, debe eliminar sus procesos padre.

Consulte el mandato kill en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

También puede utilizar el mandato smit kill .

Información relacionada“Capítulo 3. Mandatos y procesos” en la página 21

“Visión general de los mandatos” en la página 22

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Resumen de mandatos para mandatos y procesos

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 unproceso 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

“Visión general de los procesos” en la página 32

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

Capítulo 3. Mandatos y procesos 41

Page 58: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Shell Bourne” en la página 210

“Shell C” en la página 227

42 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 59: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 4. Redirección de entrada y salida

El sistema operativo le permite manipular la entrada y la salida (E/S) de los datos hacia y desde elsistema utilizando mandatos y símbolos de E/S específicos. Puede controlar la entrada especificando laubicación de donde se recogerán datos. Por ejemplo, puede especificar la lectura de la entrada a medidaque se entran datos en el teclado (entrada estándar) o la lectura de entrada desde un archivo. Puedecontrolar la salida especificando dónde visualizar o almacenar datos. Por ejemplo, puede especificar elvisualizar los datos de salida en la pantalla (salida estándar) o grabarlos en un archivo.

A pesar de que el sistema operativo es multitarea, está diseñado para manejar procesos en combinaciónentre sí. Esta sección describe las ventajas de redireccionar la entrada y la salida y de enlazar procesosentre sí.

En este apartado se explica lo siguiente:

v “Entrada estándar, salida estándar y error estándar”

v “Redirección de la salida estándar” en la página 44

v “Redirección de la salida a un archivo” en la página 44

v “Redirección de la salida y adición a un archivo” en la página 45

v “Creación de un archivo de texto con redirección desde el teclado” en la página 45

v “Concatenación de archivos de texto” en la página 45

v “Redirección de la entrada estándar” en la página 46

v “Forma de descartar la salida con el archivo /dev/null” en la página 46

v “Redirección de la salida de error estándar y otros tipos de salida” en la página 46

v “Documentos de entrada en línea (here)” en la página 47

v “Conductos y filtros” en la página 47

v “Visualización de la salida de un programa y copia de ésta en un archivo (mandato tee)” en lapágina 48

v “Forma de borrar el contenido de la pantalla (mandato clear)” en la página 49

v “Envío de un mensaje a la salida estándar (mandato echo)” en la página 49

v “Adición de una sola línea de texto a un archivo (mandato echo)” en la página 49

v “Copia de la pantalla en un archivo (mandatos capture y script)” en la página 50

v “Visualización del texto de la pantalla en letras grandes (mandato banner)” en la página 51

v “Resumen de mandatos para la redirección de entrada y salida” en la página 51

Entrada estándar, salida estándar y error estándarCuando un mandato comienza a ejecutarse, suele esperar que ya estén abiertos tres archivos: la entradaestándar, la salida estándar y el error estándar (conocido también como salida de error o salida dediagnóstico). Existe un número, llamado descriptor de archivo que está asociado con cada uno de estosarchivos, del modo siguiente:

Descriptor de archivo0

Entrada estándar

Descriptor de archivo1

Salida estándar

Descriptor de archivo2

Salida de error (diagnóstico) estándar

© Copyright IBM Corp. 1997, 2001 43

Page 60: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Normalmente, un proceso hijo hereda estos archivos de su padre. Estos tres archivos se asignaninicialmente a la estación de trabajo (0 al teclado, 1 y 2 a la pantalla). El shell les permite redireccionarsea otros lugares antes de que se pase el control a un mandato.

Cuando escribe un mandato, si no se proporciona ningún nombre de archivo, el teclado es la entradaestándar, que a veces se indica por medio de stdin. Cuando un mandato se completa, el resultado sevisualiza en la pantalla.

La pantalla es la salida estándar, que a veces se indica por medio de stdout. Por omisión, los mandatostoman 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 deerror. 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 entraday grabar los resultados de un mandato en un archivo. Esto se llama redirección de entrada/salida, que esuna de las potentes funciones del sistema operativo UNIX.

La salida de un mandato, que normalmente va al terminal, puede redireccionarse fácilmente a un archivo.Esto se denomina redirección de salida. Es útil cuando tiene mucha salida que es difícil de leer en lapantalla o cuando desea agrupar los archivos para crear un archivo más grande.

Aunque no se utiliza tanto como la redirección de salida, la entrada correspondiente a un mandato, quenormalmente procede del teclado, también puede redireccionarse desde un archivo. Esto se denominaredirecció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.

Redirección de la salida estándar

Cuando se añade la notación > nombrearchivo al final del archivo, la salida del mandato se graba en elarchivo cuyo nombre se ha especificado. El símbolo > se conoce como el operador de redirección desalida.

Cuando se añade la notación > nombrearchivo al final del archivo, la salida del mandato se graba en elarchivo cuyo nombre se ha especificado. El símbolo > se conoce como el operador de redirección desalida.

Cualquier mandato que envía su resultado a la pantalla la puede a un archivo.

Redirección de la salida a un archivo

Por ejemplo, para enviar el resultado del mandato who a un archivo denominado usuarios, escriba:who > usuarios

Pulse Intro.

Nota: Si el archivo usuarios ya existe, se sobregrabará, a menos que se especifique la opciónnoclobber del mandato incorporado de shell set ksh (shell Korn) o csh (shell C).

Para ver el contenido del archivo usuarios, escriba:cat usuarios

Pulse Intro.

44 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 61: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Aparece una lista parecida a ésta:carlos lft/0 May 13 08:05marta pts/1 May 13 08:10endrica pts/2 May 13 09:33

Por ejemplo, para enviar el listado del directorio actual a un archivo, escriba:ls > dirlist

Pulse Intro.

Redirección de la salida y adición a un archivo

Cuando se añade la notación > > nombrearchivo al final de un mandato, la salida del mandato se añadeal archivo cuyo nombre se especifica en lugar de grabarse sobre los datos existentes. El símbolo > > seconoce como operador de redirección de adición.

Por ejemplo, para añadir archivo2 a archivo1, escriba:cat archivo2 > > archivo1

Pulse Intro.

Nota: Si el archivo archivo1 no existe, se crea, a menos que se especifique la opción noclobberdel mandato incorporado de shell set ksh (shell Korn) o csh (shell C).

Creación de un archivo de texto con redirección desde el teclado

Cuando se utiliza solo, el mandato cat toma lo que se escribe en el teclado como entrada. Puede redirigiresta entrada a un archivo. Entre Control-D en una línea nueva al final del texto.

En el indicador del sistema, escriba:cat > nombrearchivoEsto es una prueba.|D

Concatenación de archivos de texto

La combinación de diversos archivos en un solo archivo se denomina concatenación.

Por ejemplo, en el indicador del sistema, escriba:cat archivo1 archivo2 archivo3 > archivo4

Pulse Intro.

En el ejemplo anterior se crea el archivo4, que se compone de archivo1, archivo2 y archivo3, que seañaden en el orden especificado.

El siguiente ejemplo muestra un error común cuando se concatenan archivos:cat archivo1 archivo2 archivo3 > archivo1

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, enrealidad, borra el contenido del archivo1 y, a continuación, añade el archivo2 y el archivo3 a éste.

Capítulo 4. Redirección de entrada y salida 45

Page 62: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Redirección de la entrada estándar

Cuando se añade la notación < nombrearchivo al final del mandato, la entrada del mandato se lee delarchivo cuyo nombre se ha especificado. El símbolo < se conoce como operador de redirección deentrada.

Nota: Sólo podrá redirigirse la entrada de los mandatos que normalmente toman su entrada delteclado.

Por ejemplo, para enviar el archivo carta1 como mensaje al usuario carlos utilizando el mandato mail ,escriba:mail carlos < carta1

Pulse Intro.

Forma de descartar la salida con el archivo /dev/null

El archivo /dev/null es un archivo especial. Este archivo tiene una propiedad exclusiva; está siemprevacío. Los datos que se envían a /dev/null se descartan. Es una función útil cuando se ejecuta unprograma o mandato que genera salida que no se desea tener en consideración.

Por ejemplo, tiene un programa denominado miprog que acepta entrada desde la pantalla y que, mientrasse ejecuta, genera mensajes que prefiere no tener en consideración. Para leer la entrada del archivomiscript 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.

Redirección de la salida de error estándar y otros tipos de salida

Además de la entrada estándar y la salida estándar, los mandatos suelen generar otros tipos de salida,como mensajes de error y de estado, conocidos como salida de diagnóstico. Al igual que la salidaestándar, la salida de error estándar se graba en la pantalla a no ser que se redireccione.

Si desea redirigir el error estándar u otra salida, debe utilizar un descriptor de archivo. Los descriptores dearchivo también pueden especificarse para redirigir la entrada estándar y la salida estándar, pero ya sonlos valores por omisión.

Un descriptor de archivo es un número que se asocia a cada uno de los archivos de E/S quenormalmente utiliza un mandato. A continuación se indican los números que se asocian a la entradaestándar, a la salida estándar y al error estándar:

0 Entra estándar (teclado)1 Salida estándar (pantalla)2 Error estándar (pantalla)

Para redirigir la salida de error estándar, escriba el número de descriptor de archivo 2 delante de la salidao añada los símbolos de redirección (> o > >) y un nombre de archivo tras el símbolo. Por ejemplo, elsiguiente mandato toma la salida de error estándar del mandato cc donde se utiliza para compilartestfile.c y la añade al final del archivo ERRORS:cc testfile.c 2 > > ERRORS

46 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 63: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

También pueden redirigirse otros tipos de salida utilizando los descriptores de archivo 0 a 9. Por ejemplo,si el mandato cmd graba la salida en el descriptor de archivo 9, puede redirigir esa salida al archivosavedata con el mandato siguiente:cmd 9> savedata

Si un mandato graba en más de una salida, puede redirigir independientemente cada una. Imagine queun mandato dirige su salida estándar al descriptor de archivo 1, dirige su salida de error estándar aldescriptor de archivo 2 y crea un archivo de datos en el descriptor de archivo 9. La línea de mandatossiguiente redirige cada una de estas salidas a un archivo distinto:mandato > estándar 2> error 9> datos

Documentos de entrada en línea (here)

En un mandato con el formato:mandato << eofstring

donde eofstring es cualquier serie que no contenga caracteres de patrones de coincidencia, el shell tomalas líneas siguientes como entrada estándar del mandato hasta que el shell lee una línea que sólo secompone de eofstring (posiblemente precedida de uno o más caracteres de tabulación). Las líneas queaparecen entre la primera y la segunda eofstring suelen denominarse documento de entrada en línea odocumento here. Si existe un guión (-) inmediatamente después de los caracteres de redirección <<, elshell elimina los caracteres de tabulación iniciales de cada línea del documento de entrada en línea antesde pasar la línea al mandato.

El shell crea un archivo temporal que contiene el documento presente y efectúa una sustitución devariables y mandatos en el contenido antes de pasar el archivo al mandato. Efectúa emparejamiento depatrones 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 espreferible situar en el procedimiento de shell que conservarlos en un archivo separado (por ejemplo, enscripts de editor). Por ejemplo, puede escribir:cat <<- xyz

Este mensaje se mostrará en la pantallasin las tabulaciones iniciales.xyz

Pulse Intro.

Esta función es muy útil en procedimientos de shell.

Conductos y filtros

UNIX le permite conectar dos o más mandatos de tal modo que la salida estándar de un mandato seutilice como entrada estándar de otro mandato. Un conjunto de mandatos conectados de esta forma sedenomina concatenación por conductos. La conexión que une los mandatos se denomina conducto. Losconductos son otra función de gran importancia de UNIX, pues le permiten unir muchos mandatos querealizan 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 unconducto. Los mandatos se conectan mediante un símbolo de conducto (|).

Capítulo 4. Redirección de entrada y salida 47

Page 64: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cuando un mandato toma su entrada de otro mandato, la modifica y envía el resultado a la salidaestándar, este conjunto de acciones se denomina filtro. Los filtros pueden utilizarse solos, pero sonespecialmente útiles en conductos. Los filtros más comunes son:

v sort

v more

v pg

Por ejemplo, el mandato ls graba el contenido del directorio actual en la pantalla en una corriente dedatos con desplazamiento. Cuando se presenta más de una pantalla de información, algunos datos nopueden verse. Para controlar la salida de forma que el contenido se visualice pantalla a pantalla, puedeutilizar un conducto para dirigir la salida del mandato ls al mandato pg , que controla el formato de salidaa 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 lasiguiente pantalla.

Los conductos funcionan sólo en una dirección (de izquierda a derecha). Cada mandato de un conductose ejecuta como un proceso independiente y todos los procesos pueden ejecutarse al mismo tiempo. Unproceso 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 archivolas líneas que contienen series de un determinado patrón. Para que se visualicen todos los archivoscreados o modificados en julio, escriba:ls -l | grep Jul

Pulse Intro.

En el ejemplo, la salida del mandato ls es la entrada del mandato grep .

Visualización de la salida de un programa y copia de ésta en unarchivo (mandato tee)

El mandato tee, que se utiliza con un conducto, lee la entrada estándar, graba la salida de un programaen la salida estándar y, simultáneamente, la copia en el archivo o archivos especificados. Esto le aporta laventaja de ver la salida inmediatamente y almacenarla para usos posteriores al mismo tiempo.

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, guardauna copia de ésta en el archivo program.ps. Si program.ps ya existe, se suprime y se sustituye a no serque se especifique la opción noclobber del mandato incorporado set .

Por ejemplo, para ver y guardar la salida de un mandato en un archivo existente:ls -l | tee -a program.ls

Esto visualiza la salida estándar del mandato ls -l en la estación de trabajo y, al mismo tiempo, añadeuna copia de ésta al final de program.ls. Si el archivo program.ls no existe, se crea, a menos que seespecifique la opción noclobber del mandato incorporado set .

48 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 65: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El sistema visualiza información parecida a la siguiente, y el archivo program.ls contiene la mismainformación:-rw-rw-rw- 1 jones staff 2301 Sep 19 08:53 161414-rw-rw-rw- 1 jones staff 6317 Aug 31 13:17 def.rpt-rw-rw-rw- 1 jones staff 5550 Sep 10 14:13 try.doc

Consulte el mandato tee en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Forma de borrar el contenido de la pantalla (mandato clear)

Puede borrar los mensajes de la pantalla y la entrada del teclado de la pantalla con el mandato clear .

En el indicador de mandatos, escriba:clear

Pulse Intro.

El sistema borra el contenido de la pantalla y visualiza el indicador.

Consulte el mandato clear en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Envío de un mensaje a la salida estándar (mandato echo)

Puede visualizar mensajes en la pantalla con el mandato echo .

Por ejemplo, para grabar un mensaje en la salida estándar, en el indicador de mandatos, escriba:echo Inserte un disquete . . .

Pulse Intro.

El sistema muestra lo siguiente:Inserte un disquete . . .

Por ejemplo, para utilizar el mandato echo con caracteres de patrones de coincidencia, en el indicador demandatos, 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 dearchivos del directorio actual que acaban en .bak.

Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Adición de una sola línea de texto a un archivo (mandato echo)

Puede añadir una sola línea de texto a un archivo con el mandato echo , que se utiliza con el operador deredirección de adición.

Por ejemplo, en el indicador de mandatos, escriba:

Capítulo 4. Redirección de entrada y salida 49

Page 66: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

echo Recuerde realizar la copia de seguridad de los archivos decorreo al finalizar la semana.>

>notas

Pulse Intro.

Esto añade el mensaje Recuerde realizar la copia de seguridad de los archivos de correo alfinalizar la semana. al final del archivo notas.

Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Consulte el mandato echo en la publicación AIX 5L Version 5.1 Commands Reference para obtener másinformación y conocer la sintaxis exacta.

Copia de la pantalla en un archivo (mandatos capture y script)

Puede copiar la información que aparece impresa en el terminal en el archivo que especifique utilizando elmandato capture , que emula a un terminal VT100.

El mandato script también le permite copiar la información que aparece impresa en el terminal en elarchivo 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 demandatos, escriba:capture screen.01

Pulse Intro.

El sistema visualizará información parecida a la siguiente:El mandato capture se ha iniciado. El archivo es screen.01.Utilice |P para volcar el archivo screen.01.Ahora está emulando un terminal vt100.Pulse cualquier tecla para continuar.

Tras la entrada de datos y el vuelco del contenido de la pantalla, detenga el mandato capture pulsandoControl-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.

Utilice el mandato cat para que se visualice el contenido del archivo.

Por ejemplo, para capturar la pantalla de un terminal, en el indicador de mandatos, escriba:script

Pulse Intro.

El sistema mostrará una información parecida a esta:El mandato script se ha iniciado. El archivo es typescript.

Ahora, toda la información que se visualiza en la pantalla se copia en el archivo typescript.

50 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 67: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para detener el mandato script , pulse Control-D o escriba exit y pulse Intro. El sistema visualizaráinformación parecida a la siguiente:El mandato script se ha completado. El archivo es typescript.

Utilice el mandato cat para que se visualice el contenido del archivo.

Consulte los mandatos capture y script en la publicación AIX 5L Version 5.1 Commands Reference paraconocer la sintaxis exacta.

Visualización del texto de la pantalla en letras grandes (mandatobanner)

El mandato banner visualiza los caracteres ASCII de la pantalla utilizando letras más grandes. Cada líneade la salida puede tener una longitud máxima de 10 dígitos o caracteres en mayúsculas o minúsculas.

Por ejemplo, en el indicador de mandatos, escriba:banner ¡ADIÓS!

Pulse Intro.

El sistema visualiza ¡ADIÓS! en letras grandes en la pantalla.

Consulte el mandato banner en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

“Capítulo 6. Archivos” en la página 69

El archivo especial null.

Resumen de mandatos para la redirección de entrada y salida

> “Redirección de la salida estándar” en la página 44< “Redirección de la entrada estándar” en la página 46> > “Redirección de la salida y adición a un archivo” en la página 45| “Conductos y filtros” en la página 47banner Graba series de caracteres ASCII en letras grandes a salida estándar.capture Permite volcar las pantallas del terminal a un archivo.clear Borra la pantalla del terminal.echo Graba series de caracteres a salida estándar.script Permite copiar en un archivo entrada y salida del terminal.

Capítulo 4. Redirección de entrada y salida 51

Page 68: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

tee Visualiza la salida estándar de un programa y la copia en un archivo.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

“Capítulo 6. Archivos” en la página 69

52 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 69: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 5. Sistemas de archivos y directorios

Los sistemas de archivos se componen de grupos de directorios y de los archivos que se encuentrandentro de los directorios. Los sistemas de archivos suelen representarse como un árbol invertido. Eldirectorio raíz, que se simboliza por medio de una barra inclinada (/), define un sistema de archivos yaparece en la parte superior del diagrama en árbol de un sistema de archivos. Los directorios se ramificanen forma descendente desde el directorio raíz en el diagrama de árbol y contienen archivos y/osubdirectorios. La ramificación crea vías de acceso exclusivas en toda la estructura de directorios paracada objeto del sistema de archivos.

Los conjuntos de archivos se almacenan en los directorios. Estos conjuntos de archivos suelen estarrelacionados entre sí; su almacenamiento en una estructura de directorios permite mantenerlosorganizados.

Un archivo es un conjunto de datos que puede leerse o en el que puede grabarse. Un archivo puede serun 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 losusuarios acceder a diversos elementos del sistema de forma uniforme y proporciona más flexibilidad alsistema de archivos.

En este apartado se explica lo siguiente:

v “Sistemas de archivos” en la página 54

– “Tipos de sistemas de archivos” en la página 55

– “Estructura del sistema de archivos” en la página 55

– “Visualización del espacio disponible en el sistema de archivos (mandato df)” en la página 56

v “Visión general de los directorios” en la página 57

– “Tipos de directorios” en la página 58

– “Organización de los directorios” en la página 58

– “Convenios de denominación de directorios” en la página 59

– “Nombres de las vías de acceso de los directorios” en la página 59

– “Abreviaturas de los directorios” en la página 60

v “Procedimientos de gestión de directorios” en la página 61

– “Creación de un directorio (mandato mkdir)” en la página 61

– “Movimiento o cambio del nombre de un directorio (mandato mvdir)” en la página 61

– “Visualización del directorio actual (mandato pwd)” en la página 62

– “Cambio a otro directorio (mandato cd)” en la página 62

– “Copia de un directorio (mandato cp)” en la página 63

– “Visualización del contenido de un directorio (mandato ls)” en la página 64

– “Supresión o eliminación de un directorio (mandato rmdir)” en la página 65

– “Comparación del contenido de dos directorios (mandato dircmp)” en la página 66

v “Resumen de mandatos para los sistemas de archivos y directorios” en la página 67

© Copyright IBM Corp. 1997, 2001 53

Page 70: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos”

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Sistemas de archivosUn sistema de archivos es una estructura jerárquica (árbol de archivos) de archivos y directorios. Este tipode estructura parece un árbol invertido con las raíces al principio y las ramas al final. Este árbol dearchivos utiliza directorios para organizar los datos y los programas en grupos, lo que permite la gestiónde 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 delsistema de archivos. Por ejemplo, puede hacer copia de seguridad, mover o proteger la totalidad de unsistema de archivos.

El tipo básico de sistema de archivos se denomina Sistema de archivos de diario. Este sistema dearchivos 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 elsistema.

Algunas de las tareas de gestión del sistema más importantes están relacionadas con los sistemas dearchivos, 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 datossi se produce una anomalía en el sistema

v Mantenimiento de los sistemas de archivos en un estado coherente

Estas tareas debe realizarlas el administrador del sistema.

En este apartado se explica lo siguiente:

v “Tipos de sistemas de archivos” en la página 55

v “Estructura del sistema de archivos” en la página 55

v “Visualización del espacio disponible en el sistema de archivos (mandato df)” en la página 56

54 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 71: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Tipos de sistemas de archivosEl sistema operativo soporta varios tipos de sistemas de archivos. Algunos de ellos son:

El Sistema de archivos de diario (JFS) Es el tipo de sistema de archivos básico; da soporte a todo elconjunto de mandatos del sistema de archivos.

Sistema de archivos de red (NFS) Es un tipo de sistema de archivos que permite el acceso a losarchivos que residen en las máquinas remotas como siresidieran en la máquina local.

Sistema de archivos CD-ROM (CDRFS) Es un tipo de sistema de archivos que permite acceder alcontenido de un CD-ROM mediante las interfaces normales delsistema de archivos (abrir, leer y cerrar).

Estructura del sistema de archivos

En máquinas autónomas, los siguientes sistemas de archivos residen en los dispositivos asociados poromisión:

/dev /hd1 /home

/dev /hd2 /usr

/dev /hd3 /tmp

/dev /hd4 /(root)

/dev /hd9var /var

El árbol de archivos tiene las siguientes características:

v Los archivos que las máquinas que tienen la misma arquitectura de hardware pueden compartir, seencuentran en el sistema de archivos /usr .

v Los archivos variables organizados por cliente, por ejemplo, los archivos de spool y de correo, seencuentran en el sistema de archivos /var .

v El sistema de archivos /(root) contiene los archivos y directorios que son imprescindibles para elfuncionamiento del sistema. Por ejemplo, contiene:

– Un directorio de dispositivos (/dev )

– Puntos de montaje donde los sistemas de archivos pueden montarse en el sistema de archivos, porejemplo, /mnt

v El sistema de archivos /home es el punto de montaje para los directorios iniciales de los usuarios.

v En el caso de los servidores, el directorio /export contiene archivos de espacio de paginación, sistemasde archivos raíz por cliente (no compartidos), directorios de vuelco, iniciales y /usr/share para clientessin discos, además de directorios /usr exportados.

La lista siguiente proporciona información acerca del contenido de algunos subdirectorios del sistema dearchivos / (root).

/bin Enlace simbólico para el directorio /usr/bin . En los sistemas de archivos de UNIX anteriores, eldirectorio /bin contenía los mandatos de usuario que ahora residen en /usr/bin en la nueva estructurade archivos.

/dev Contiene nodos de dispositivos para archivos especiales de dispositivos locales. El directorio /devcontiene archivos especiales para unidades de cintas, impresoras, particiones de disco y terminales.

Capítulo 5. Sistemas de archivos y directorios 55

Page 72: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

/etc Contiene archivos de configuración que varían según la máquina. Estos son algunos ejemplos:

v /etc/hosts

v /etc/passwd

El directorio /etc contiene los archivos que suelen utilizarse en la administración del sistema. Lamayoría de los mandatos que solían residir en el directorio /etc ahora residen en el directorio/usr/sbin . No obstante, por razones de compatibilidad, contiene enlaces simbólicos con las nuevasubicaciones de algunos archivos ejecutables. Estos son algunos ejemplos:

v /etc/chown es un enlace simbólico con /usr/bin/chown .

v /etc/exportvg es un enlace simbólico con /usr/sbin/exportvg ./export Contiene los directorios y archivos de un servidor destinados a clientes remotos./home Sirve como punto de montaje para un sistema de archivos que contiene directorios iniciales de

usuario. El sistema de archivos /home contiene archivos y directorios organizados por usuario.

En una máquina autónoma, un sistema de archivos local independiente se monta en el directorio/home . En una red, un servidor podría contener archivos de usuario a los que se accedería desdevarias máquinas. En este caso, la copia del servidor del directorio /home se monta remotamente en unsistema de archivos /home local.

/lib Enlace simbólico para el directorio /usr/lib , que contiene bibliotecas independientes de la arquitecturacuyos nombres tienen el formato lib*.a .

/sbin Contiene los archivos necesarios para arrancar la máquina y montar el sistema de archivos /usr . Lamayoría de mandatos utilizados durante el arranque provienen del sistema de archivos de disco RAMde la imagen de arranque; por tanto, muy pocos mandatos residen en el directorio /sbin .

/tmp Sirve como punto de montaje para un sistema de archivos que contiene archivos temporalesgenerados por el sistema.

/u Enlace simbólico para el directorio /home ./usr Sirve como punto de montaje para un sistema de archivos que no cambia y que las máquinas pueden

compartir (por ejemplo, ejecutables y documentación ASCII).

Las máquinas autónomas montan un sistema de archivos local independiente en el directorio /usr . Lasmáquinas sin discos y que disponen de poco disco montan un directorio desde un servidor remotosobre el sistema de archivos /usr .

/var Sirve como punto de montaje para archivos que varían en cada máquina. El sistema de archivos /varestá configurado como un sistema de archivos, pues los archivos que contiene tienden a crecer. Porejemplo, es un enlace simbólico para el directorio /usr/tmp , que contiene archivos de trabajotemporales.

Visualización del espacio disponible en el sistema de archivos(mandato df)

El mandato df visualiza información acerca del espacio total y del espacio disponible en un sistema dearchivos. El parámetro SistemaArchivos especifica el nombre del dispositivo en el que reside el sistemade archivos, el directorio en el que se ha montado el sistema de archivos o el nombre relativo de la vía deacceso de un sistema de archivos. Si no especifica el parámetro SistemaArchivos, el mandato df visualizainformación acerca de todos los sistemas de archivos actualmente montados. Si se ha especificado unarchivo o un directorio, el mandato df muestra información acerca del sistema de archivos en el quereside.

Por lo general, el mandato df utiliza los totales del espacio libre que contiene el superbloque. Bajodeterminadas circunstancias, estos totales podrían ser erróneos. Por ejemplo, si están realizándosemodificaciones importantes en un sistema de archivos cuando se ejecuta el mandato df , el total deespacio libre podría no ser preciso.

Consulte el mandato df en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

56 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 73: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Nota: En algunos sistemas de archivos remotos, como los Sistemas de archivos de red (NFS), lascolumnas aparecen en blanco si el servidor no proporciona la información.

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 ensistemas 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 eldirectorio actual, escriba:df .

Pulse Intro.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Visión general de los directorios”

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Visión general de los directoriosUn directorio es un tipo exclusivo de archivo que sólo contiene la información necesaria para acceder aarchivos o a otros directorios. En consecuencia, un directorio ocupa menos espacio que otros tipos dearchivos. También aporta la flexibilidad y la profundidad de la estructura del sistema de archivos. Losdirectorios le permiten agrupar archivos y otros directorios, con la posibilidad de organizar el sistema dearchivos en una jerarquía modular. A diferencia de los otros tipos de archivos, existe un conjunto especialde mandatos que controla los directorios.

Los directorios contienen entradas de directorio. Cada entrada contiene un nombre de archivo o desubdirectorio y un número de referencia de nodo de índice (número de inodo). Para aumentar la velocidady mejorar la utilización del espacio de disco, se almacenan los datos de un archivo en distintos lugares dela memoria del sistema. El número de inodo contiene las direcciones que se utilizan para localizar todoslos bloques dispersos de datos que se asocian a un archivo. El número de inodo también registra otrainformación acerca del archivo, incluida la hora de modificación y acceso, las modalidades de acceso, el

Capítulo 5. Sistemas de archivos y directorios 57

Page 74: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

número de enlaces, el propietario del archivo y el tipo de archivo. Es posible enlazar varios nombres deun archivo con el mismo número de inodo mediante la creación de entradas de directorio con el mandatoln .

Puesto que los directorios suelen contener información que no debe estar disponible para todos losusuarios 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) puedenalterar 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.

En este apartado se explica lo siguiente:

v “Tipos de directorios”

v “Organización de los directorios”

v “Convenios de denominación de directorios” en la página 59

v “Nombres de las vías de acceso de los directorios” en la página 59

v “Abreviaturas de los directorios” en la página 60

v “Procedimientos de gestión de directorios” en la página 61

Tipos de directorios

El sistema operativo, el administrador o los usuarios pueden definir los directorios. Los directoriosdefinidos por el sistema contienen tipos específicos de archivos del sistema, por ejemplo mandatos. En laparte superior de la jerarquía del sistema de archivos se encuentra el directorio /(root) definido por elsistema. El directorio /(root) suele contener los siguientes directorios estándar relacionados del sistema:

/dev Contiene archivos especiales para dispositivos de E/S./etc Contiene archivos para la inicialización del sistema y la gestión del sistema./home Contiene directorios de inicio de sesión para los usuarios del sistema./tmp contiene archivos que son temporales y que pueden suprimirse en un número especificado de días./usr Contiene lpp , include y otros directorios del sistema./usr/bin Contiene programas ejecutables de usuario.

Algunos directorios, como el directorio de inicio de sesión o inicial ($HOME), los define y personaliza eladministrador del sistema. Cuando se inicia la sesión en el sistema operativo, el directorio de inicio desesión es el directorio actual.

Los directorios que usted cree reciben el nombre de directorios definidos por el usuario. Estos directoriosle ayudan a organizar y mantener los archivos.

Organización de los directorios

Los directorios contienen archivos y/o subdirectorios. Un subdirectorio es un directorio dentro de otrodirectorio. El directorio que contiene el subdirectorio es el directorio padre.

Para que el sistema operativo pueda hacer el seguimiento y localice los directorios, cada directorio tieneuna entrada para el directorio padre, en el que se creó .. (doble punto) y una entrada para el propiodirectorio, . (punto). En la mayoría de listados de directorio, dichos archivos están ocultos.

Árbol de directoriosLas 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

58 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 75: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

simboliza por medio de una barra inclinada (/), es la base y se representa en la parte superior del árbolde directorios. Los subdirectorios y los archivos se ramifican en sentido descendente desde el directorioraíz.

La estructura de sistema de archivos de directorios puede fácilmente convertirse en compleja. Intentemantener la estructura de directorios y archivos tan simple como le sea posible. Además, cree losarchivos y directorios con nombres fácilmente reconocibles. De este modo, podrá trabajar con los archivosmás fácilmente.

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 directoriode inicio de sesión. El administrador del sistema establece este directorio para cada usuario. El directorioinicial es donde usted guarda los archivos personales. Normalmente, los directorios que cree para supropio 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 denominadirectorio actual o de trabajo. El mandato pwd (directorio de trabajo actual) informa del nombre deldirectorio de trabajo. El mandato cd le permite cambiar a otros directorios de trabajo.

Convenios de denominación de directorios

El nombre de cada directorio debe ser exclusivo en el directorio en el que se almacena. Esto garantizaque el directorio también tenga un nombre de vía de acceso exclusivo en el sistema de archivos. Losdirectorios siguen los mismos convenios de denominación que los archivos, como se explica en elapartado “Convenios de denominación de archivos” en la página 71.

Nombres de las vías de acceso de los directorios

A cada archivo y directorio se accede mediante una vía de acceso exclusiva, que se denomina nombre devía de acceso, en toda la estructura en árbol del sistema de archivos. El nombre de vía de accesoespecifica la ubicación de un directorio o archivo en el sistema de archivos.

Nota: Los nombres de las vías de acceso no pueden tener más de 1023 caracteres.

El sistema de archivos utiliza dos tipos de nombres de vías de acceso:

nombres absolutos de vías deacceso

Rastrea la vía de acceso desde el directorio /(root) . Los nombres absolutos delas 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 osus subdirectorios y archivos.

Un nombre absoluto de vía de acceso representa el nombre completo de un directorio o de un archivodesde el directorio /(root) hasta éste. Independientemente de en qué lugar del sistema de archivos estabatrabajando, siempre puede encontrar un directorio o archivo especificando su nombre absoluto de vía deacceso. Los nombres absolutos de vías de acceso empiezan por una barra inclinada (/), el símbolo querepresenta al directorio raíz. El nombre de vía de acceso /A/D/9 es el nombre absoluto de vía de acceso

Capítulo 5. Sistemas de archivos y directorios 59

Page 76: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

de 9. La primera barra inclinada (/) representa al directorio /(root) , que es el punto inicial de la búsqueda.El resto del nombre de la vía de acceso dirige la búsqueda hacia A, luego hacia D y, finalmente, hacia 9.

Existen dos archivos denominados 9. Esto es posible porque los nombres absolutos de las vías deacceso 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 accesoespecifican un directorio o archivo según el directorio de trabajo actual. Para los nombres relativos de víasde acceso, puede utilizar la notación del doble punto (..) para subir por la jerarquía del sistema dearchivos. El doble punto (..) representa el directorio padre. Puesto que los nombres relativos de vías deacceso especifican una vía de acceso que empieza en el directorio actual, no empiezan por una barrainclinada (/). Los nombres relativos de vía de acceso se utilizan para especificar el nombre de un archivoen el directorio actual o el nombre de vía de acceso de un archivo o directorio por encima o por debajodel nivel del directorio actual en el sistema de archivos. Si D es el directorio actual, el nombre relativo deví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óndel punto (.) suele utilizarse cuando se ejecutan programas que leen el nombre del directorio actual.

Abreviaturas de los directorios

Las abreviaturas son un método rápido y eficaz para especificar ciertos directorios. A continuación semuestra una lista de abreviaturas.

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

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

60 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 77: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Procedimientos de gestión de directoriosExisten diversas formas de trabajar con los directorios y con su contenido.

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

Creación de un directorio (mandato mkdir)

El mandato mkdir crea uno o más directorios nuevos, que se especifican mediante el parámetroDirectorio. Cada nuevo directorio contiene el punto de entradas estándar (.) y un punto doble (..). Puedeespecificar los permisos de los nuevos directorios con el distintivo -m Modalidad.

Cuando se crea un nuevo directorio, se crea dentro del directorio actual o de trabajo a menos queespecifique 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 lospermisos por omisión, escriba:mkdir Prueba

Pulse Intro.

Por ejemplo, para crear un nuevo directorio denominado Prueba con los permisos rwxr-xr-x en undirectorio /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 eldirectorio /home/demo/sub2, escriba:mkdir -p /home/demo/sub2/Prueba

Pulse Intro.

El distintivo -p crea los directorios /home, /home/demo y /home/demo/sub2, si todavía no existen.

Consulte el mandato mkdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Movimiento o cambio del nombre de un directorio (mandato mvdir)

El mandato mvdir mueve directorios o renombra un directorio.

Por ejemplo, para mover un directorio, escriba:mvdir libro manual

Capítulo 5. Sistemas de archivos y directorios 61

Page 78: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

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.

>Por ejemplo, para mover y cambiar el nombre de un directorio, escriba:mvdir libro3 proj4/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 lasintaxis exacta.

Visualización del directorio actual (mandato pwd)

El mandato pwd graba en la salida estándar el nombre completo de la vía de acceso del directorio actual(desde el directorio /(root) ). Todos los directorios se separan mediante una barra inclinada (/). El directorio/(root) está representado por medio de la primera barra inclinada (/) y el último directorio indicado es eldirectorio actual.

Por ejemplo, para que se visualice el directorio actual, escriba:pwd

Pulse Intro.

Se muestra el nombre completo de la vía de acceso del directorio actual, así:/home/thomas

Consulte el mandato pwd en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Cambio a otro directorio (mandato cd)

El mandato cd le lleva del directorio actual a otro directorio. Debe tener permiso de ejecución (búsqueda)en el directorio especificado.

Si no especifica un parámetro Directorio, el mandato cd le traslada al directorio de inicio de sesión($HOME en los entornos ksh y bsh o $home en el entorno csh ).Si el nombre de directorio especificadoes un nombre completo de vía de acceso, pasa a ser el directorio actual. Un nombre completo de vía deacceso empieza por una barra inclinada (/), que indica el directorio /(root) , un punto (.), que indica eldirectorio actual o un doble punto (..), que indica el directorio padre. Si el nombre del directorio no es unnombre completo de vía de acceso, el mandato cd lo busca basándose en una de las vías de acceso queespecifica la variable de shell $CDPATH (o la variable $cdpath csh ). Esta variable tiene la misma sintaxisy una semántica similar a la variable de shell $PATH (o variable $path csh ).

Por ejemplo, para cambiar al directorio inicial, escriba:cd

Pulse Intro.

Por ejemplo, para cambiar al directorio /usr/include, escriba:cd /usr/include

62 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 79: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

Esto cambia el directorio actual por /usr/include.

Por ejemplo, para bajar un nivel en el árbol de directorios, al directorio sys, escriba:cd sys

Pulse Intro.

Si el directorio actual es /usr/include y contiene un subdirectorio llamado sys, el directorio/usr/include/sys pasa a ser el directorio actual.

Por ejemplo, para subir un nivel en el árbol de directorios, escriba:cd ..

Pulse Intro.

El nombre de archivo especial, doble punto (..), hace referencia al directorio que se encuentrainmediatamente encima del directorio actual, su directorio padre.

Consulte el mandato cd en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Copia de un directorio (mandato cp)

El mandato cp o copy crea una copia del contenido del archivo o directorio que especifican losparámetros ArchivoOrigen o DirectorioOrigen en el archivo o directorio que especifican los parámetrosArchivoDestino o DirectorioDestino. Si el archivo que se especifica como ArchivoDestino existe, la copiase graba encima del contenido original del archivo. Si va a copiar más de un ArchivoOrigen, el destinodebe ser un directorio.

Para colocar una copia del ArchivoOrigen en un directorio, especifique la vía de acceso de un directorioexistente en el parámetro DirectorioDestino. Los archivos mantienen sus nombres respectivos cuando secopian 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 dichossubdirectorios, bajo el directorio customers.

Consulte el mandato cp en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Capítulo 5. Sistemas de archivos y directorios 63

Page 80: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Visualización del contenido de un directorio (mandato ls)

Puede visualizar el contenido de un directorio utilizando el mandato ls .

Mandato ls

El mandato ls graba en salida estándar el contenido de cada Directorio o el nombre de cada Archivoespecificado junto con otras informaciones que solicite con los distintivos. Si no especifica un Archivo o unDirectorio, 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 elmandato lo ejecuta un usuario con autorización root, el mandato utiliza el distintivo -A por omisión, quemuestra 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 elmandato ls -a .

Existen tres formas principales de formatear la salida:

v Listar una entrada por línea utilizando el distintivo -l.

v Listar las entradas en varias columnas especificando el distintivo -C o -x. El distintivo -C es el formatopor omisión cuando la salida es para un tty.

v Lista las entradas en series separadas por comas cuando se especifica el distintivo -m.

Para determinar el número de posiciones de caracteres en la línea de salida, el mandato ls utiliza lavariable de entorno $COLUMNS. Si esta variable no se ha establecido, el mandato lee el archivoterminfo . Si el mandato ls no puede determinar el número de posiciones de caracteres mediante uno deestos métodos, utiliza el valor por omisión 80.

La información que se visualiza con los distintivos -e y -l se interpreta como se indica a continuación:

Si el primer carácter es:

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 primeroscaracteres muestran el permiso del propietario. El siguiente grupo de tres caracteres muestra el permisode otros usuarios en el grupo. El último grupo de tres caracteres muestra el permiso de otros usuarioscon acceso al archivo. Los tres caracteres de cada grupo muestran los permisos de lectura, grabación yejecución del archivo. El permiso de ejecución de un directorio le permite buscar un archivo especificadoen un directorio.

Los permisos se indican así:

r Se otorga permiso de lecturat Sólo el propietario del directorio o el propietario del archivo puede suprimir o cambiar el nombre de un archivo

dentro de ese directorio, incluso si otros usuarios tienen permiso de grabación para el directorio.w Se otorga permiso de grabación (edición)x Se otorga permiso de ejecución (búsqueda)- No se otorga el permiso correspondiente.

64 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 81: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

La información que se visualiza con el distintivo -e es igual a la que muestra el distintivo -l, a excepciónde la adición de un undécimo carácter, que se interpreta como se indica a continuación.

+ Indica que un archivo tiene información de seguridad ampliada. Por ejemplo, puede que el archivo dispongade 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 debloques, incluidos los bloques indirectos.

Por ejemplo, para que se listen todos los archivos del directorio actual, escriba:ls -a

Pulse Intro.

Esto lista todos los archivos, incluyendo

v punto (.)

v doble punto (..)

v Otros archivos cuyos nombres podría o no empezar por un punto (.)

Por ejemplo, para que se visualice información detallada, escriba:ls -l chap1 .profile

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 acercade los propios directorios.

Consulte el mandato ls en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Supresión o eliminación de un directorio (mandato rmdir)

El mandato rmdir elimina del sistema el directorio que especifica el parámetro Directorio. El directoriodebe estar vacío (sólo puede contener . y ..) para poder eliminarlo y debe tener permisos de grabación ensu directorio padre. Utilice el mandato ls -a Directorio para comprobar si el directorio está vacío.

Por ejemplo, para vaciar y eliminar un directorio, escriba:rm mydir/* mydir/.*rmdir mydir

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 doblepunto (..) y, a continuación, el mandato rmdir eliminará éstos y el propio directorio

Capítulo 5. Sistemas de archivos y directorios 65

Page 82: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Tenga en cuenta que rm mydir/* mydir/.* primero elimina los archivos cuyos nombres no empiezan porun punto y luego elimina los nombres que empiezan por un punto. Puede que no se haya dado cuenta deque el directorio contiene nombres que empiezan por un punto porque el mandato ls no suele listarlos amenos que utilice el distintivo -a.

Por ejemplo, para eliminar la estructura de directorios /tmp/jones/demo/mydir y todos los directorios quecontiene, escriba:cd /tmprmdir -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 tienepermiso de grabación sobre el mismo cuando va a eliminarse, el mandato termina con los mensajes deerror apropiados.

Consulte el mandato rmdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Comparación del contenido de dos directorios (mandato dircmp)

El mandato dircmp compara los dos directorios que especifican los parámetros Directorio1 y Directorio2 ygraba información acerca de su contenido en la salida estándar. En primer lugar, el mandato dircmpcompara los nombres de los archivos de cada directorio. Si el mismo nombre aparece en ambos, elmandato dircmp compara el contenido de los dos archivos.

En la salida, el mandato dircmp lista los archivos que son exclusivos de cada directorio. A continuaciónlista los archivos con nombres idénticos en ambos directorios, pero con contenido distinto. Si no seespecifica ningún distintivo, también lista los archivos que tienen contenido idéntico además de nombresidénticos en ambos directorios.

Por ejemplo, para que se muestre un resumen de las diferencias existentes entre los archivos de losdirectorios 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 listapor separado los archivos encontrados únicamente en un directorio o en el otro además de los archivosque se encuentran en ambos. Si un archivo se encuentra en ambos directorios, el mandato dircmp indicasi los dos archivos son idénticos.

Por ejemplo, para que se muestren los detalles de las diferencias existentes entre los archivos de losdirectorios 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 unlistado 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 lasintaxis exacta.

66 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 83: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Resumen de mandatos para los sistemas de archivos y directorios

Sistemas de archivos

df Ofrece información acerca del espacio en sistemas de archivos.

Abreviaturas de los directorios

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

Procedimientos para el manejo de directorios

cd Cambia el directorio actual.cp Copia archivos o directorios.dircmp Compara dos directorios y el contenido de sus archivos comunes.ls Muestra el contenido de un directorio.mkdir Crea uno o más nuevos directorios.mvdir Mueve (renombra) un directorio.pwd Muestra el nombre de vía de acceso del directorio de trabajo.rmdir Elimina un directorio.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

Capítulo 5. Sistemas de archivos y directorios 67

Page 84: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

68 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 85: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 6. Archivos

Los archivos se utilizan para toda la entrada y salida (E/S) de información en el sistema operativo. Estoestandariza el acceso tanto al software como al hardware. La entrada se produce cuando se modifica ose graba en el contenido de un archivo. La salida se produce cuando se lee el contenido de un archivo ose transfiere a otro archivo. Por ejemplo, para crear la salida de la copia impresa de un archivo, elsistema lee la información del archivo de texto y graba esa información en el archivo que representa laimpresora.

En este apartado se explica lo siguiente:

v “Tipos de archivos” en la página 70

– “Convenios de denominación de archivos” en la página 71

– “Nombres de vías de acceso de archivos” en la página 71

– “Patrones de coincidencia con comodines y metacaracteres” en la página 71

– “Coincidencia con patrones en contraste con expresiones normales” en la página 73

v “Procedimientos de gestión de archivos” en la página 73

– “Supresión de archivos (mandato rm)” en la página 74

– “Movimiento y cambio del nombre de los archivos (mandato mv)” en la página 75

– “Copia de archivos (mandato cp)” en la página 75

– “Búsqueda de archivos (mandato find)” en la página 76

– “Visualización del tipo de archivo (mandato file)” en la página 78

– “Visualización del contenido del archivo (mandatos pg, more, page y cat)” en la página 78

– “Búsqueda de series en los archivos de texto (mandato grep)” en la página 80

– “Clasificación de los archivos de texto (mandato sort)” en la página 80

– “Comparación de archivos (mandato diff)” en la página 81

– “Cálculo de las palabras, líneas y bytes de los archivos (mandato wc)” en la página 82

– “Visualización de las primeras líneas de los archivos (mandato head)” en la página 82

– “Visualización de las últimas líneas de los archivos (mandato tail)” en la página 83

– “Corte de secciones de los archivos de texto (mandato cut)” en la página 83

– “Pegado de secciones de los archivos de texto (mandato paste)” en la página 84

– “Numeración de las líneas de los archivos de texto (mandato nl)” en la página 85

– “Eliminación de las columnas de los archivos de texto (mandato colrm)” en la página 85

v “Enlace de archivos y directorios” en la página 86

– “Tipos de enlaces” en la página 87

– “Enlace de archivos (mandato ln)” en la página 87

– “Eliminación de archivos enlazados” en la página 89

v “Archivos de DOS” en la página 89

– “Copia de archivos de DOS en archivos del sistema operativo base” en la página 90

– “Copia de archivos del sistema operativo base en archivos de DOS” en la página 90

– “Supresión de archivos de DOS” en la página 91

– “Listado del contenido de un directorio de DOS” en la página 91

v “Resumen de mandatos para archivos” en la página 92

© Copyright IBM Corp. 1997, 2001 69

Page 86: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Tipos de archivosExisten tres tipos básicos de archivos:

normal Almacena datos (texto, binario y ejecutable).directorio Contiene información utilizada para acceder a otros archivos.especial Define un archivo de conducto FIFO (primero en entrar, primero en salir) o un dispositivo físico.

Todos los tipos de archivos reconocidos por el sistema se enmarcan en una de estas categorías. Noobstante, 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 archivosordinarios. Los archivos normales contienen datos.

Archivos de textoLos archivos de texto son archivos normales que contienen información que el usuario puede leer. Estainformación se almacena en ASCII. Puede visualizar e imprimir dichos archivos. Las líneas de un archivode 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.

La denominación archivo de texto no impide la inclusión de caracteres de control o de otros caracteres noimprimibles (distintos de NUL). Por lo tanto, los programas de utilidad estándar que listan archivos detexto como entradas o salidas o bien son capaces de procesar correctamente los caracteres especiales obien describen explícitamente sus limitaciones dentro de sus secciones individuales.

Archivos binariosLos archivos binarios son archivos normales que contienen información que el sistema puede leer. Losarchivos 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 decompilació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 tienenlíneas de menos de {LINE_MAX} bytes, sin caracteres NUL, que terminan con un carácter de nuevalínea.

Archivos de directorio

Los archivos de directorio contienen información que el sistema necesita para acceder a todos los tiposde archivo, pero no contienen los datos reales de los archivos. En consecuencia, los directorios ocupanmenos espacio que un archivo normal y proporcionan a la estructura de sistema de archivos flexibilidad yprofundidad. Cada entrada de directorio representa un archivo o un subdirectorio. Cada entrada contieneel nombre del archivo y el número de referencia de nodo de índice (número de inodo) del archivo. Elnúmero de inodo apunta al nodo de índice exclusivo que se ha asignado al archivo. El número de inododescribe la ubicación de los datos que se asocian al archivo. Un grupo independiente de mandatos crea ycontrola 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 yde caracteres. Los archivos FIFO también reciben en el nombre de conductos. Los conductos se crean

70 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 87: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

mediante un proceso para permitir temporalmente las comunicaciones con otro proceso. Estos archivosdejan de existir cuando termina el primer proceso. Los archivos de bloque y los archivos de caracteresdefinen dispositivos.

Cada archivo tiene un conjunto de permisos (llamado modalidades de acceso) que determinan quiénpuede 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.

Convenios de denominación de archivos

El nombre de cada archivo debe ser exclusivo en el directorio en el que se almacena. Esto garantiza queel archivo tiene también un nombre de vía de acceso exclusivo en el sistema de archivos. Las directricesde la denominación de archivos son:

v Un nombre de archivo puede tener una longitud máxima de 255 caracteres y puede contener letras,números y caracteres de subrayado.

v El sistema operativo es sensible a las mayúsculas y minúsculas, lo que significa que hace unadistinción entre las letras mayúsculas y las letras minúsculas de los nombres de los archivos. Por lotanto, FILEA, FiLea y filea son tres nombres de archivos distintos, aunque residan en el mismodirectorio.

v Los nombres de archivo deben ser tan descriptivos y significativos como sea posible.

v Los directorios siguen los mismos convenios de denominación que los archivos.

v Existen determinados caracteres que tienen un significado especial para el sistema operativo y quedeben evitarse cuando se especifique el nombre de los archivos. Dichos caracteres son los siguientes:/ \ " ' * ; - ? [ ] ( ) x ! $ { } < > # @ & |

v Un nombre de archivo no aparecerá en un listado de directorios normal (estará oculto) si empieza porun punto (.). Cuando el mandato ls se ejecuta con el distintivo -a, los archivos ocultos también se listanjunto con los archivos y directorios normales.

Nombres de vías de acceso de archivosEl nombre de la vía de acceso de cada archivo y directorio del sistema de archivos se compone de losnombres de cada directorio que precede al archivo o directorio en la estructura de árbol.

Puesto que todas las vías de acceso de un sistema de archivos parten del directorio /(root ), cada archivodel sistema de archivos tiene una relación exclusiva con el directorio root, la cual se denomina nombreabsoluto de vía de acceso. Los nombres absolutos de las vías de acceso empiezan por el símbolo de labarra inclinada (/). El nombre absoluto de la vía de acceso del archivo h dentro del Sistema de archivosde ejemplo es /B/C/h . Observe que existen dos archivos denominados g. Puesto que las vías de accesoabsolutas de estos archivos son distintas, /B/g y /B/C/g , cada archivo denominado g tiene un nombreexclusivo dentro del sistema. Cada componente de un nombre de vía de acceso es un vía de accesoexcepto el componente final. El componente final de un nombre de vía de acceso puede ser un nombrede archivo.

Nota: Los nombres de vías de acceso no pueden superar los 1023 caracteres.

Patrones de coincidencia con comodines y metacaracteresLos caracteres comodín son un método muy eficaz de especificar varios nombres de archivos odirectorios con un solo carácter. Los dos caracteres de comodín son el asterisco (*) y el signo deinterrogación (?). Los metacaracteres son los corchetes de apertura y cierre ([]), el guión (-) y el signo deadmiración (!).

Capítulo 6. Archivos 71

Page 88: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Comodín *

Utilice el carácter * como patrón de cualquier secuencia o serie de caracteres. El carácter * significacualquier carácter, incluyendo la ausencia de caracteres. Por ejemplo, si tiene los siguientes archivos enel 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*

Los archivos seleccionados serían: file file1 file10 file2 file3

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áctersimple, utilice:file?

Los archivos seleccionados serían: file1 file2 file3

Para hacer referencia únicamente a los archivos que empiezan por file y que acaban con dos caracteressimples, utilice:file??

El archivo seleccionado sería: file10

Metacaracteres del shell [ ]

Los metacaracteres ofrecen otro tipo de notación de comodín al delimitar los caracteres deseados entrecorchetes [ ]. Es como utilizar el comodín ?, con la diferencia de que le permite elegir caracteresespecíficos de emparejamiento. Los corchetes [ ] también le permiten especificar un rango de valoresutilizando el guión (-). Para especificar todas las letras del alfabeto, utilice [[:alpha:]]. Para especificartodas las letras minúsculas del alfabeto, utilice [[:lower:]].

Para hacer referencia únicamente a los archivos que finalizan por 1 o por 2, utilice:*file[12]

Los archivos seleccionados serían: afile1 afile2 file1 file2

Para hacer referencia únicamente a los archivos que comienzan por cualquier número, utilice:[0123456789]* o bien [0-9]*

Los archivos seleccionados serían: 1test 2test

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

72 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 89: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Coincidencia con patrones en contraste con expresiones normalesLas expresiones normales le permiten seleccionar series específicas de un conjunto de series decaracteres. La utilización de expresiones normales suele asociarse al proceso de texto.

Las expresiones normales pueden representar una amplia gama de posibles series. Aunque muchasexpresiones normales pueden interpretarse de forma distinta según el escenario actual, las característicasde 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 expresionesnormales: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 lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Capítulo 11. Shells” en la página 159

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Enlace de archivos y directorios” en la página 86

“Archivos de DOS” en la página 89

“Capítulo 7. Impresoras, trabajos de impresión y colas” en la página 95

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Procedimientos de gestión de archivos

Existen muchas formas de trabajar con los archivos del sistema. Normalmente debe crear un archivo detexto con un editor de texto. Los editores comunes del entorno UNIX son vi y ed. El sistema operativotambién incluye su propio editor de texto, INed. Puesto que se dispone de varios editores de texto, puedeelegir el editor que mejor se adapte a sus necesidades.

También puede crear archivos utilizando la redirección de entrada/salida, como se describe en el“Capítulo 4. Redirección de entrada y salida” en la página 43″ . La salida de un mandato puede enviarse aun nuevo archivo o añadirse a un archivo existente.

Capítulo 6. Archivos 73

Page 90: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

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 especificarnombres distintos para el mismo archivo. Puede que también necesite crear nuevos directorios cuandotrabaje en proyectos distintos.

Asimismo, también es posible que necesite suprimir determinados archivos. El directorio puede llenarserápidamente de archivos que contienen información antigua o inútil. Suprimir archivos que no se necesitanlibera espacio de almacenamiento en el sistema.

En este apartado se explica lo siguiente:

v “Supresión de archivos (mandato rm)”

v “Movimiento y cambio del nombre de los archivos (mandato mv)” en la página 75

v “Copia de archivos (mandato cp)” en la página 75

v “Búsqueda de archivos (mandato find)” en la página 76

v “Visualización del tipo de archivo (mandato file)” en la página 78

v “Visualización del contenido del archivo (mandatos pg, more, page y cat)” en la página 78

v “Búsqueda de series en los archivos de texto (mandato grep)” en la página 80

v “Clasificación de los archivos de texto (mandato sort)” en la página 80

v “Comparación de archivos (mandato diff)” en la página 81

v “Cálculo de las palabras, líneas y bytes de los archivos (mandato wc)” en la página 82

v “Visualización de las primeras líneas de los archivos (mandato head)” en la página 82

v “Visualización de las últimas líneas de los archivos (mandato tail)” en la página 83

v “Corte de secciones de los archivos de texto (mandato cut)” en la página 83

v “Pegado de secciones de los archivos de texto (mandato paste)” en la página 84

v “Numeración de las líneas de los archivos de texto (mandato nl)” en la página 85

v “Eliminación de las columnas de los archivos de texto (mandato colrm)” en la página 85

Supresión de archivos (mandato rm)

Cuando ya no necesite un archivo, puede eliminarlo con el mandato rm . El mandato rm no necesitaconfirmación del usuario antes de la eliminación del archivo. Puede utilizar rm para suprimir un grupo dearchivos o para seleccionar determinados archivos en una lista con el fin de suprimirlos.

Mandato rm

El mandato rm elimina de un directorio las entradas del archivo o archivos especificados. No necesitatener permiso de lectura o de grabación sobre el archivo que desea eliminar. No obstante, debe tenerpermiso de grabación sobre el directorio que contiene el archivo.

Por ejemplo, para suprimir el archivo denominado myfile, escriba:rm myfile

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 obien pulse la tecla Intro para conservarlo.

74 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 91: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato rm en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Movimiento y cambio del nombre de los archivos (mandato mv)

El mandato mv mueve archivos y directorios de un directorio a otro o cambia el nombre de un archivo odirectorio. Si mueve un directorio a un nuevo directorio sin especificar un nombre nuevo, conserva sunombre original.

Atención: El mandato mv puede sobregrabar muchos archivos existentes a no ser que especifiqueel distintivo -i. El distintivo -i le solicita que confirme la acción antes de sobregrabar un archivo. Eldistintivo -f no solicita confirmación. Si se especifican los distintivos -f y -i juntos, es vigente el últimodistintivo especificado.

Movimiento de archivos con el mandato mvPor ejemplo, para mover un archivo a otro directorio y dar a éste un nuevo nombre, escriba:mv intro manual/chap1

Pulse Intro.

Con ello, intro se mueve a manual/chap1. El nombre intro se elimina del directorio actual y el mismoarchivo 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.

Con ello, chap3 se mueve a manual/chap3. Vea la nota Atención anterior.

Cambio del nombre de los archivos con el mandato mvPor ejemplo, para cambiar el nombre de un archivo, escriba:mv appendix apndx.a

Pulse Intro.

Con ello, el nombre appendix cambiará por apndx.a. Si ya existe un archivo denominado apndx.a, elcontenido 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 lasintaxis exacta.

Copia de archivos (mandato cp)

El mandato cp o copy crea una copia del contenido del archivo o directorio que especifican losparámetros ArchivoOrigen o DirectorioOrigen en el archivo o directorio que especifican los parámetrosArchivoDestino o DirectorioDestino. Si el archivo que se especifica como ArchivoDestino ya existe, lacopia se graba encima del contenido original del archivo sin advertirle de ello. Si va a copiar más de unArchivoOrigen, el destino debe ser un directorio.

Si existe un archivo con el mismo nombre en el nuevo destino, el archivo copiado sobregrabará el archivoen el nuevo destino. Por lo tanto, es conveniente asignar un nombre nuevo para la copia del archivo demodo que se asegure de que no existe un archivo con el mismo nombre en el directorio destino.

Capítulo 6. Archivos 75

Page 92: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para colocar una copia del ArchivoOrigen en un directorio, especifique la vía de acceso de un directorioexistente en el parámetro DirectorioDestino. Los archivos mantienen sus nombres respectivos cuando secopian 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 esel distintivo -R. La especificación de -R da lugar a que los archivos especificados vuelvan a crearse en elnuevo nombre de vía de acceso. La especificación del distintivo -r da lugar a que el mandato cp intentecopiar 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á. Siexiste, 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.

Esto copiará el archivo jones en /home/nick/clients/jones.

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 seespecifica 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 lasintaxis exacta.

Búsqueda de archivos (mandato find)

El mandato find busca recurrentemente en el árbol de directorios cada Vía de acceso especificada con elfin de localizar los archivos que coinciden con una expresión booleana que se escribe de acuerdo con lostérminos que se indican en el texto siguiente. La salida del mandato find depende de los términos queespecifica el parámetro Expresión.

76 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 93: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para que se listen todos los archivos del sistema de archivos que tengan el nombre.profile, escriba:find / -name .profile

Con ello se busca en todo el sistema de archivos y se graban los nombres completos de las vías deacceso de todos los archivos denominados .profile. La barra inclinada (/) indica al mandato find quebusque en el directorio /(root ) y en todos sus subdirectorios. Para evitar pérdidas de tiempo, serecomienda limitar la búsqueda especificando los directorios en los que cree que pueden encontrarse losarchivos.

Por ejemplo, para que se listen los archivos que tienen el código de permiso específico 0600 en el árbolde 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 degrabación del propietario. El punto (.) indica al mandato find que busque en el directorio actual y en sussubdirectorios. 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 depropietario y posiblemente otros permisos. Se busca en los directorios manual, clients y proposals y ensus subdirectorios. En el ejemplo anterior, -perm 0600 selecciona únicamente los archivos cuyos códigosde permiso coinciden exactamente con 0600.En este ejemplo, -perm -0600 selecciona archivos concódigos de permiso que permiten los accesos indicados por 0600 y otros accesos por encima del nivel0600.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 de24 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 propiaentrada .(punto). Consulte el mandato ln para obtener más información acerca de los múltiplesenlaces de los archivos.

Por ejemplo, para imprimir los nombres de las vías de acceso de todos los archivos que están en o pordebajo del directorio actual, excepto los directorios denominados SCCS o los archivos de los directoriosSCCS, 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

Page 94: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato find en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización del tipo de archivo (mandato file)

El mandato file lee los archivos que especifica el parámetro Archivo o -fListaArchivos, realiza una serie depruebas en cada uno de ellos e intenta clasificarlos por su tipo. A continuación, el mandato graba los tiposde los archivos en la salida estándar.

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 archivode datos binario o de un archivo de texto que contiene caracteres ampliados.

Si el parámetro Archivo especifica un ejecutable o un archivo de módulo de objetos y el número de laversión es mayor que 0, el mandato file visualiza la indicación de la versión.

El mandato file utiliza el archivo /etc/magic para identificar los archivos que tienen algún tipo de númeromágico, es decir, cualquier archivo que contenga una constante numérica o de serie de caracteres queindique 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 programaC y archivador).

Por ejemplo, para que se visualice el tipo de cada archivo cuyo nombre se indica en filenames.lst, quecontiene 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 decada archivo aparece por separado en una línea.

Por ejemplo, para crear el archivo filenames.lst de modo que contenga todos los nombres de archivosdel directorio actual, escriba:ls > filenames.lst

Pulse Intro.

A continuación edite filenames tal como se desea.

Consulte el mandato file en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización del contenido del archivo (mandatos pg, more, page ycat)

Los mandatos pg , more y page le permiten ver el contenido de un archivo y controlar la velocidad a laque han de visualizarse los archivos. También puede utilizar el mandato cat para visualizar el contenido

78 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 95: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

de uno o más archivos en la pantalla. La combinación del mandato cat y del mandato pg le permite leerel contenido de un archivo, mostrándose una pantalla completa cada vez.

También puede visualizar el contenido de los archivos utilizando la redirección de entrada/salida. Consulteel apartado ″Visión general de la redirección de entrada y salida (“Capítulo 4. Redirección de entrada ysalida” 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 bienejecuta el mandato pg sin opciones, el mandato pg lee la entrada estándar. A cada pantalla le sigue unindicador. Si pulsa la tecla Intro, se mostrará otra pantalla. Los submandatos utilizados con el mandato pgle 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 lasintaxis exacta.

Mandato more o page

El mandato more o page visualiza texto continuo, mostrándose una pantalla cada vez. Realiza una pausatras cada pantalla e imprime el nombre de archivo y el porcentaje de la parte ejecutada (por ejemplo,myfile (7%)) en la parte inferior de la pantalla. Si, a continuación, pulsa la tecla Intro, el mandato morevisualiza una línea adicional. Si pulsa la barra espaciadora, el mandato more muestra otra pantalla detexto.

Nota: En algunos modelos de terminales, el mandato more borra la pantalla, en lugar de realizar undesplazamiento, antes de visualizar la siguiente pantalla de datos.

Por ejemplo, para ver un archivo denominado myfile, escriba:more myfile

Pulse Intro.

Pulse la barra espaciadora para ver la siguiente pantalla.

Consulte el mandato more en la publicación AIX 5L Version 5.1 Commands Reference para obtener másinformació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. Paraque un archivo se visualice página por página, utilice el mandato pg .

Capítulo 6. Archivos 79

Page 96: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

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 lasintaxis exacta.

Búsqueda de series en los archivos de texto (mandato grep)

El mandato grep busca el patrón especificado por el parámetro Patrón y graba cada línea coincidente ensalida estándar.

Por ejemplo, para buscar en un archivo denominado pgm.s un patrón que contenga algunos de loscaracteres de patrones de coincidencia *, |, ?, [, ], \(, \), \{ y \}, en este caso, líneas que empiecen porcualquier 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 unpatró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 lasintaxis exacta.

Clasificación de los archivos de texto (mandato sort)

El mandato sort muestra alfabéticamente u ordena en secuencia las líneas del archivo que especificanlos parámetros Archivo y graba el resultado en la salida estándar. Si el parámetro Archivo especifica másde un archivo, el mandato sort concatena los archivos y los alfabetiza como un archivo.

Nota: El mandato sort es sensible a las mayúsculas y las minúsculas y ordena las letras de modoque las mayúsculas aparezcan antes que las minúsculas (en función del entorno local).

En los ejemplos siguientes, el contenido del archivo names es:martadenisejoyceendricamelanie

y el contenido del archivo states es:

80 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 97: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

texascoloradoohio

Para que se visualice el contenido ordenado del archivo denominado names, escriba:sort names

Pulse Intro.

El sistema visualiza información parecida a la siguiente:deniseendricajoycemartamelanie

Para que se visualice el contenido de los dos archivos, names y states, escriba:sort names states

Pulse Intro.

El sistema visualiza información parecida a la siguiente:coloradodeniseendricajoycemartamelanieohiotexas

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 lasintaxis exacta.

Comparación de archivos (mandato diff)

El mandato diff compara archivos de texto. Puede comparar archivos individuales o el contenido dedirectorios.

Cuando el mandato diff se ejecuta en archivos normales, y cuando compara archivos de texto de distintosdirectorios, el mandato diff indica qué líneas deben cambiarse en los archivos para que sean iguales.

Por ejemplo, para comparar dos archivos, escriba:diff chap1.bak chap1

Pulse Intro.

Con ello se visualizarán las diferencias entre los archivos chap1.bak y chap1.

Capítulo 6. Archivos 81

Page 98: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para comparar dos archivos de modo que no se tenga en consideración las diferenciasrelacionadas 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 lasintaxis exacta.

Cálculo de las palabras, líneas y bytes de los archivos (mandato wc)

Por omisión, el mandato wc calcula el número de líneas, palabras y bytes de los archivos que especificael parámetro Archivo. Si no se especifica un archivo en el parámetro Archivo, se utiliza la entradaestándar. El mandato graba el resultado en salida estándar y mantiene un recuento total de todos losarchivos indicados. Si se especifican distintivos, el orden de los distintivos determina el orden de la salida.Una palabra se define como una serie de caracteres delimitados por espacios, tabulaciones o caracteresde nueva línea.

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 denominadochap1, 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 muestralos totales.

Consulte el mandato wc en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Visualización de las primeras líneas de los archivos (mandato head)

El mandato head graba en la salida estándar las primeras líneas de los archivos especificados o de laentrada estándar. Si no se especifica ningún distintivo con el mandato head , por omisión se visualizan las10 primeras líneas.

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 lasintaxis exacta.

82 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 99: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Visualización de las últimas líneas de los archivos (mandato tail)

El mandato tail graba el archivo especificado por el parámetro Archivo en salida estándar comenzandopor un punto especificado.

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 delarchivo notes, escriba:tail -20 notes

Pulse Intro.

Por ejemplo, para que se visualice el archivo notes mostrándose una página cada vez, empezando desdeel 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 visualizandolíneas a medida que se añaden al archivo accounts. La visualización seguirá hasta que pulse la secuenciade teclas (Control-C) para detenerla.

Consulte el mandato tail en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Consulte el mandato tail en la publicación AIX 5L Version 5.1 Commands Reference para obtener másinformación y conocer la sintaxis exacta.

Corte de secciones de los archivos de texto (mandato cut)

El mandato cut graba en la salida estándar los bytes, caracteres o archivos que se han seleccionado encada línea del archivo.

Por ejemplo, para visualizar varios campos de cada línea de un archivo:cut -f1,5 -d: /etc/passwd

Esto muestra el nombre de inicio de sesión y los campos de nombre de usuario completos del archivo decontraseñas del sistema. Éstos son los campos primero y quinto (-f1,5) separados por signos de dospuntos (-d:).

Por ejemplo, si el aspecto del archivo /etc/passwd es el siguiente:su:*:0:0:Usuario con privilegios especiales:/:/usr/bin/shdaemon:*:1:1::/etc:bin:*:2:2::/usr/bin:

Capítulo 6. Archivos 83

Page 100: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

sys:*:3:3::/usr/src:adm:*:4:4:Administrador del sistema:/var/adm:/usr/bin/shpierre:*:200:200:Pierre Harper:/home/pierre:/usr/bin/shjoan:*:202:200:Joan Brown:/home/joan:/usr/bin/sh

el mandato cut produce:su:Usuario con privilegios especialesdaemon:bin:sys:adm:Administrador del sistemapierre:Pierre Harperjoan:Joan Brown

Consulte el mandato cut en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Pegado de secciones de los archivos de texto (mandato paste)

El mandato paste fusiona las líneas de hasta 12 archivos en un único archivo.

Por ejemplo, si tiene un archivo llamado names que contiene el siguiente texto:racheljerrymarklindascott

otro archivo llamado places que contiene el siguiente texto:New YorkAustinChicagoBoca RatonSeattle

y otro archivo llamado dates que contiene el siguiente texto:February 5March 13June 21July 16November 4

para pegar el texto de los archivos names, places y dates, escriba:paste names places dates > npd

Pulse Intro.

Esto crea un archivo llamado npd que contiene los datos del archivo names en una columna, el archivoplaces en otra columna y el archivo dates en una tercera. Ahora, el archivo npd contiene lo siguiente:rachel New York February 5jerry Austin March 13mark Chicago June 21linda Boca Raton July 16scott Seattle November 4

Un carácter de tabulación separa el nombre, el lugar y la fecha en cada línea. Estas columnas no siempreestá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:

84 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 101: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

paste -d"!@" names places dates > npd

Pulse Intro.

Esto alterna ! y @ como separadores de columnas. Si los archivos names, places y dates son iguales quelos del ejemplo 1, el archivo npd contiene:rachel!New York@February 5jerry!Austin@March 13mark!Chicago@June 21linda!Boca Raton@July 16scott!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ídode la entrada estándar. La primera línea se sitúa en la primera columna, la segunda línea en la segundacolumna, etc.

Consulte el mandato paste en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Numeración de las líneas de los archivos de texto (mandato nl)

El mandato nl lee el archivo especificado (por omisión, la entrada estándar), numera las líneas de laentrada y graba las líneas numeradas en salida estándar.

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 delas secciones del cuerpo.

Por ejemplo, para numerar todas las líneas:nl -ba chap1

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 lasintaxis exacta.

Eliminación de las columnas de los archivos de texto (mandato colrm)

El mandato colrm elimina las columnas especificadas de un archivo. La entrada se toma de la entradaestándar. La salida se envía a la salida estándar.

Si se llama con un parámetro, se eliminan las columnas de cada línea desde la columna especificadahasta la última columna. Si se llama con dos parámetros, se eliminan las columnas desde la primeracolumna especificada hasta la segunda columna especificada.

Nota: La numeración de las columnas empieza por la columna 1.

Capítulo 6. Archivos 85

Page 102: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para eliminar las columnas del archivo text.fil, escriba:colrm 6 < text.fil

Pulse Intro.

Si text.fil contiene:123456789

el mandato colrm muestra:12345

Consulte el mandato colrm en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Capítulo 11. Shells” en la página 159

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios”

“Archivos de DOS” en la página 89

“Capítulo 7. Impresoras, trabajos de impresión y colas” en la página 95

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Enlace de archivos y directorios

Los enlaces son conexiones entre un nombre de archivo y un número de referencia de nodo de índice(número de inodo), la representación interna de un archivo. Puesto que las entradas de directoriocontienen nombres de archivos emparejados con números de inodo, cada entrada de directorio es unenlace. El número de inodo identifica realmente al archivo, no al nombre de archivo. Mediante lautilización de enlaces, cualquier número de inodo o archivo puede conocerse por muchos nombresdistintos.

Por ejemplo, el número de inodo 798 contiene una memorándum acerca de las ventas de junio de laoficina de Omaha. Actualmente, la entrada de directorio para este memorándum es:

Número deinodo

Nombre de archivo

798 memorándum

86 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 103: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Puesto que esta información está relacionada con la información que se almacena en los directorios salesy omaha, el enlace se utiliza para compartir la información donde es necesario. Por medio de la utilizacióndel mandato ln se crean los enlaces con dichos directorios. Ahora el archivo tiene tres nombres:

Número deinodo

Nombre de archivo

798 memorándum798 sales/june798 omaha/junesales

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 tresnombres de archivos, el contenido de los datos que visualizarán todos los archivos reflejarán los cambiosrealizados.

En este apartado se explica lo siguiente:

v “Tipos de enlaces”

v “Enlace de archivos (mandato ln)”

v “Eliminación de archivos enlazados” en la página 89

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 enlacesfijos garantizan la existencia de un archivo. Cuando se elimina el último enlace fijo, se suprimenel número de inodo y sus datos. Sólo pueden crearse enlaces fijos entre archivos que seencuentran 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. Elenlace 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 deacceso. Los enlaces simbólicos no protegen a un archivo para evitar su supresión del sistema dearchivos.

Nota: El usuario que crea un archivo sigue siendo el propietario de ese archivo, con independenciadel número de enlaces creados. Sólo el propietario del archivo o el usuario root pueden establecer lamodalidad de acceso para dicho archivo. Sin embargo, pueden realizarse cambios en el archivodesde 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 ysubdirectorio. El sistema operativo trata todos los enlaces fijos de igual modo independientemente delenlace que se haya creado primero.

Enlace de archivos (mandato ln)

El enlace de archivos mediante la utilización del mandato ln es la forma correcta de trabajar con losmismos datos en más de una ubicación. Los enlaces se crean al proporcionar nombres alternativos alarchivo original. La utilización de enlaces permite compartir un archivo grande, por ejemplo una base dedatos o una lista de buzoneo, entre muchos usuarios sin tener que hacer copias de dicho archivo. Losenlaces no sólo ahorran espacio de disco, sino que los cambios efectuados se reflejan automáticamenteen todos los archivos enlazados.

Capítulo 6. Archivos 87

Page 104: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El mandato ln enlaza el archivo que se indica en el parámetro ArchivoOrigen con el archivo que indica elparámetro ArchivoDestino o con el mismo nombre de archivo de otro directorio que especifique elparámetro DirectorioDestino. Por omisión, el mandato ln crea enlaces fijos. Para utilizar el mandato lnpara 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 conun directorio, puede listar más de un archivo.

El parámetro ArchivoDestino es opcional. Si no especifica un archivo de destino, el mandato ln creará unnuevo archivo en el directorio actual. El archivo nuevo hereda el nombre del archivo designado en elparámetro ArchivoOrigen.

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 dearchivo intro, si todavía no existe. Si intro existe, el archivo se sustituye por un enlace con chap1. Por lotanto, los nombres de archivos chap1 e intro harán referencia al mismo archivo. Los cambios efectuadosa un archivo también aparecen en el otro archivo.

Por ejemplo, para enlazar un archivo denominado index con el mismo nombre en otro directoriodenominado manual, escriba:ln index manual

Pulse Intro.

Esto enlaza index con el nuevo nombre, manual/index.

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 losmismos nombres que tienen en el directorio manual.

Nota: Deberá escribir un espacio entre el asterisco y el punto.

Por ejemplo, para crear un enlace simbólico, escriba:ln -s /tmp/toc toc

Pulse Intro.

88 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 105: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Esto crea el enlace simbólico, toc, en el directorio actual. El archivo toc apunta al archivo /tmp/toc. Si elarchivo /tmp/toc existe, el mandato cat toc lista su contenido.

Para obtener idénticos resultados sin especificar el parámetro ArchivoDestino, escriba:ln -s /tmp/toc

Pulse Intro.

Consulte el mandato ln en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Eliminación de archivos enlazados

El mandato rm elimina el enlace del nombre de archivo que se indica. Cuando se suprime un archivo deun grupo de nombres de archivos con enlace fijo, no se suprime completamente el archivo, ya quepermanece con el otro nombre. Cuando se ha eliminado el último enlace con un número de inodo, losdatos también se eliminan. El número de inodo está disponible a continuación para su reutilización en elsistema.

Consulte el mandato rm en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Capítulo 11. Shells” en la página 159

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Archivos de DOS”

“Capítulo 7. Impresoras, trabajos de impresión y colas” en la página 95

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Archivos de DOS

Este sistema operativo le permite trabajar con archivos de DOS en el sistema. Copie en un disquete losarchivos DOS con los que desee trabajar. Con los mandatos correctos, el sistema puede leer estosarchivos en un directorio del sistema operativo base en el formato correcto y nuevamente en el disqueteen formato DOS.

Capítulo 6. Archivos 89

Page 106: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Nota: Los caracteres de comodín * y ? (asterisco y signo de interrogación) no funcionan con estosmandatos (aunque sí funcionan con el shell del sistema operativo base). Si no especifica unaextensión de archivo, el nombre de archivo se interpreta como si hubiera especificado una extensiónen blanco.

Este apartado describe:

v “Copia de archivos de DOS en archivos del sistema operativo base”

v “Copia de archivos del sistema operativo base en archivos de DOS”

v “Supresión de archivos de DOS” en la página 91

v “Listado del contenido de un directorio de DOS” en la página 91

Copia de archivos de DOS en archivos del sistema operativo base

El mandato dosread copia el archivo de DOS especificado en el archivo del sistema operativo baseindicado.

Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puestoque el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistemaoperativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar losnombres 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 elsistema 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 delsistema operativo base chap1 del directorio actual.

Por ejemplo, para copiar un archivo binario desde un disquete de DOS en el sistema de archivos delsistema 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 delsistema operativo base /home/fran/testdata.

Consulte el mandato dosread en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Copia de archivos del sistema operativo base en archivos de DOS

El mandato doswrite copia el archivo del sistema operativo base especificado en el archivo de DOSindicado.

Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puestoque el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistemaoperativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar losnombres 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 sistemaoperativo base en un disquete de DOS, escriba:

90 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 107: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

doswrite -a chap1 chap1.doc

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 archivosdel 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 conocerla sintaxis exacta.

Supresión de archivos de DOS

El mandato dosdel suprime el archivo de DOS especificado.

Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puestoque el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistemaoperativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar losnombres 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 encaracteres en mayúsculas antes de comprobar el disco. Puesto que se presupone que todos los nombresde archivos son nombres completos (no relativos) de vías de acceso, no es necesario añadir la barrainclinada (/) inicial.

Por ejemplo, para suprimir un archivo de DOS denominado file.ext que está en el dispositivo poromisió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 lasintaxis exacta.

Listado del contenido de un directorio de DOS

El mandato dosdir visualiza información relacionada con los archivos o directorios de DOS especificados.

Nota: Se utilizan los convenios de denominación de archivos del DOS, con una excepción. Puestoque el carácter de la barra inclinada invertida (\) puede tener un significado especial para el sistemaoperativo base, utilice el carácter de la barra inclinada (/) como delimitador para especificar losnombres 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 encaracteres en mayúsculas antes de comprobar el disco. Puesto que se presupone que todos los nombresde archivos son nombres de vías de acceso completos (no relativos), no necesita añadir la barra inclinada(/ ) inicial.

Capítulo 6. Archivos 91

Page 108: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para leer un directorio de los archivos de DOS que se encuentra en /dev/fd0 , escriba:dosdir

Pulse Intro.

El mandato devuelve los nombres de los archivos e información de espacio en disco.PG3-25.TXTPG4-25.TXTPG5-25.TXTPG6-25.TXTEspacio libre: 312320 bytes

Consulte el mandato dosdir en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Capítulo 11. Shells” en la página 159

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Enlace de archivos y directorios” en la página 86

“Capítulo 7. Impresoras, trabajos de impresión y colas” en la página 95

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Resumen de mandatos para archivos

* Comodín, sustituye a cualquier carácter o caracteres.? Comodín, sustituye a caracteres individuales.[ ] Metacaracteres, sustituye a caracteres delimitados.

Procedimientos para el manejo de archivos

cat Concatena o visualiza archivos.cmp Compara dos archivos.colrm Extrae columnas de un archivo.cp Copia archivos.cut Graba bytes, caracteres o campos seleccionados de cada línea de un archivo.diff Compara archivos de texto.file Determina el tipo de archivo.find Localiza archivos con una expresión de búsqueda.

92 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 109: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

grep Busca un patrón en un archivo.head Visualiza las primera líneas o bytes de un archivo o archivos.more Muestra texto continuo de pantalla en pantalla en la pantalla de un terminal.mv Mueve archivos.nl Numera las líneas de un archivo.pg Formatea archivos en la pantalla.rm Elimina (desenlaza) archivos o directorios.paste Fusiona las líneas de varios archivos o líneas subsiguientes en un archivo.page Muestra texto continuo de pantalla en pantalla en la pantalla de un terminal.sort Ordena archivos, fusiona archivos que ya están ordenados y comprueba los archivos para

determinar si se han ordenado.tail Graba un archivo en salida estándar, comenzando en un punto especificado.wc Cuenta el número de líneas, palabras y bytes de un archivo.

Enlace de archivos y directorios

ln Enlaza archivos y directorios.

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

Page 110: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

94 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 111: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

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. Noes necesario que las impresoras se encuentren en la misma zona que la unidad del sistema y la consoladel sistema. Una impresora puede conectarse directamente a un sistema local o bien un trabajo deimpresió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 esperandoa 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 lacola. 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 delas impresoras, los trabajos de impresión y las colas.

En este apartado se explica lo siguiente:

v “Terminología para impresoras”

v “Inicio de un trabajo de impresión (mandato qprt)” en la página 97

v “Cancelación de un trabajo de impresión (mandato qcan)” en la página 101

v “Comprobación del estado del trabajo de impresión (mandato qchk)” en la página 101

v “Condiciones de estado de la impresora” en la página 103

v “Especificación de la prioridad de un trabajo de impresión (mandato qpri)” en la página 103

v “Retención y liberación de un trabajo de impresión (mandato qhld)” en la página 104

v “Movimiento de un trabajo de impresión a otra cola de impresión (mandato qmov)” en la página 105

v “Formateo de archivos para impresión (mandato pr)” en la página 106

v “Impresión de archivos ASCII en una impresora PostScript” en la página 107

v “Automatización de la conversión de ASCII a PostScript” en la página 109

v “Alteración temporal de la determinación automática de los tipos de archivos de impresión” en lapágina 109

v “Resumen de mandatos para impresoras, trabajos de impresión y colas” en la página 110

Terminología para impresorasA continuación se describen los términos que suelen utilizarse en la impresión.

Trabajo de impresión

Un trabajo de impresión es una unidad de trabajo que ha de ejecutarse en una impresora. Un trabajo deimpresión consiste en imprimir uno o más archivos, según cómo se solicite dicho trabajo. El sistemaasigna 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 organizadaso stanza del archivo /etc/qconfig cuyo nombre es el nombre de la cola y que apunta al dispositivo decola asociado. A continuación se muestra un listado de ejemplo:Msa1:

device = lp0

En el ejemplo anterior, Msa1 es el nombre de la cola y lp0 es el nombre del dispositivo.

© Copyright IBM Corp. 1997, 2001 95

Page 112: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Dispositivo de cola

El dispositivo de cola es la parte en formato de líneas organizadas o stanza del archivo /etc/qconfig que,por lo general, aparece a continuación de la stanza de la cola local. Especifica el archivo /dev (dispositivode impresora) en el que debe imprimirse y el componente de fondo que debe utilizarse. A continuación semuestra un listado de ejemplo:lp0:

file = /dev/lp0header = nevertrailer = neveraccess = bothbackend = /usr/lpd/piobe

En el ejemplo anterior, lp0 es el nombre del dispositivo y el resto de las líneas definen la forma en que seutilizará 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. Porlo 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 unafunción de spooling genérica que puede utilizarse para poner en cola diversos tipos de trabajos, incluidoslos 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 sistemadefine una cola de spooler, el programa de spooler de componente de fondo que se ha especificado parala cola define el objetivo de la cola. Por ejemplo, si el programa de componente de fondo del spooler es elmandato piobe (el componente de E/S de la impresora), la cola es una cola de impresión. Del mismomodo, si el programa de componente de fondo de spooler es un compilador, la cola está destinada atrabajos de compilación. Cuando el mandato qdaemon del spooler selecciona un trabajo de una cola despooler, ejecuta el trabajo invocando el programa de componente de fondo que ha especificado eladministrador al definir la cola.

El mandato principal del spooler es el mandato enq . Aunque puede invocar este mandato directamentepara poner en cola un trabajo de impresión, existen tres mandatos de componente frontal definidos parasometer un trabajo de impresión: los mandatos lp , lpr y qprt . Una solicitud de impresión que se haemitido con uno de estos mandatos primero pasa al programa enq que, a continuación, coloca lainformació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 unadirección de dispositivo de hardware exclusiva. El controlador de dispositivo de la impresora del kernel secomunica con el hardware de la impresora y proporciona una interfaz entre el hardware de la impresora yuna 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 unaimpresora real. Esta vista de la impresora virtual hace referencia únicamente a la corriente de datos de

96 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 113: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

alto nivel (por ejemplo, ASCII o PostScript) que la impresora reconoce. No incluye información acerca decómo está conectado el hardware de la impresora al sistema principal o acerca del protocolo utilizadopara transferir bytes de datos hacia o desde la impresora. La definición de las impresoras virtuales larealiza el gestor del sistema.

Impresoras locales y remotas

Cuando conecta una impresora a un nodo o a un sistema principal, la impresora se denomina impresoralocal. Un sistema de impresión remota permite que los nodos que se han enlazado directamente con unaimpresora tengan acceso a la impresora.

Para utilizar los recursos de impresión remota, los nodos individuales deben conectarse a una redutilizando el protocolo TCP/IP (Protocolo de control de la transmisión/Protocolo Internet) y deben darsoporte a las aplicaciones TCP/IP que se necesitan.

Componente de fondo de impresora

El componente de fondo de impresora es un conjunto de programas que el mandato qdaemon delspooler llama para gestionar un trabajo de impresión que se ha colocado en la cola para su impresión. Elcomponente de fondo de impresora realiza las funciones siguientes:

v Recibe del mandato qdaemon una lista de uno o más archivos que deben imprimirse.

v Utiliza los valores de los atributos de formato y de la impresora de la base de datos, que puedenalterarse temporalmente entrando distintivos en la línea de mandatos.

v Inicializa la impresora antes de imprimir un archivo.

v Ejecuta los filtros necesarios para convertir la corriente de datos de impresión en un formato que recibael soporte de la impresora.

v Proporciona filtros para simplificar el formateo de los documentos ASCII.

v Proporciona soporte para la impresión de caracteres en el idioma nacional.

v Pasa la corriente de datos de impresión filtrada al controlador de dispositivo de la impresora.

v Genera páginas de cabecera y de cola.

v Genera varias copias.

v Informa acerca de las condiciones de falta de papel, de si es necesaria la intervención del operador yde las condiciones de error de la impresora.

v Informa de los problemas que han detectado los filtros.

v Borra un trabajo de impresión tras su cancelación.

v Proporciona un entorno de impresión que el administrador del sistema puede personalizar en funciónde necesidades de impresión específicas.

Inicio de un trabajo de impresión (mandato qprt)

Utilice la información que encontrará en los apartados “Mandato qprt” en la página 98 y “Mandato smit” enla página 100 para solicitar un trabajo de impresión y especificar lo siguiente:

v El nombre del archivo que se imprimirá

v El nombre de la cola de impresión

v El nombre de la bandeja de salida

v El número de copias a imprimir

v Si debe hacerse una copia del archivo en el sistema principal remotos

v Si debe borrarse el archivo después de imprimirlo

v Si debe enviarse notificación del estado del trabajo

Capítulo 7. Impresoras, trabajos de impresión y colas 97

Page 114: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Si el correo del sistema debe enviar notificación del estado del trabajo

v El estado de los separadores

v El nombre de usuario para la etiqueta ″Entregar a″

v El mensaje de acuse de recibo de consola para la impresión remota

v El mensaje de acuse de recibo para la impresión remota

v El nivel de prioridad

Requisitos previosv 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 elservidor 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 seimprimen 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 eliminarun archivo después de imprimirlo, debe tener acceso de grabación sobre el directorio que contiene elarchivo.

El formato básico del mandato qprt es:

-b Número Especifica el margen inferior. El margen inferior es el número de líneas en blanco quese dejan al final de cada página.

-B Valor Especifica si deben imprimirse páginas de separación (páginas continuas separadasen perforaciones). La variable Valor se compone de una serie de dos caracteres. Elprimer carácter se aplica a páginas de cabecera. El segundo carácter se aplica apá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 cadatrabajo 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 deimpresión (grupo de archivos).

Por ejemplo, el distintivo -B ga especifica que se imprime una página de cabecera alprincipio de cada trabajo de impresión y que se imprime una página final después decada archivo en cada trabajo de impresión.

Nota: En un entorno de impresión remota, el valor por omisión lo determina lacola remota del servidor.

-e Opción Especifica si se desea impresión enfatizada.

+ Indica que se desea impresión enfatizada.

! Indica que no se desea impresión enfatizada.-E Opción Especifica si se desea impresión de altura doble.

+ Indica que se desea impresión de altura doble.

! Indica que no se desea impresión de altura doble.-f TipoFiltro Un identificador de un carácter que especifica un filtro por el que se pasará el archivo

o archivos de impresión antes de enviarlo a la impresora. Los identificadores de filtrodisponibles son p, que llama al filtro pr , y n, que procesa la salida del mandato troff .

98 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 115: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

-i Número Causa que la línea sangre el número de espacios especificados. La variable Númerodebe incluirse en la anchura de página que especifica el distintivo -w.

-K Opción Especifica si se desea impresión condensada.

+ Indica que se desea impresión condensada.

! Indica que no se desea impresión condensada.-l Número Establece la longitud de la página en el número de líneas especificadas. Si la variable

Número es 0, la longitud de página se pasa por alto y se considera que la salida esuna página continua. La longitud de la página incluye los márgenes superior e inferiore indica la longitud imprimible del papel.

-L Opción Especifica si las líneas que son más amplias que la anchura de página debenreiniciarse en la siguiente línea o si deben truncarse en el margen derecho.

+ Indica que la líneas largas deben reiniciarse en la línea siguiente.

! Indica que las líneas largas no deben reiniciarse, sino que deben truncarseen el margen derecho.

-N Número Especifica el número de copias que deben imprimirse. Si no se especifica estedistintivo, se imprime una copia.

-p Número Establece el escape en el Número de caracteres por pulgada. Los valores máshabituales para Número son el 10 y el 12. El paso real de los caracteres impresostambién está afectado por los valores de los distintivos -K (condensado) y -W (dobleancho).

-P Cola[:DispositivoCola] Especifica el nombre de la cola de impresión y el nombre del dispositivo de colaopcional. Si no se especifica este distintivo, se toma la impresora por omisión.

-Q Valor Especifica el tamaño del papel para el trabajo de impresión. El Valor del tamaño delpapel depende de la impresora. Los valores usuales son: 1 para papel de tamaño decarta, 2 para legal, etc. Consulte el manual de la impresora para conocer más detallesacerca de los valores asignados a tamaños de papel específicos.

-t Número Especifica el margen superior. El margen superior es el número de líneas en blancoque se dejará al principio de cada página.

-w Número Establece la anchura de página en el número de caracteres que especifica la variableNúmero. La anchura de página debe incluir el número de espacios de sangradoespecificado con el distintivo -i.

-W Opción Especifica si se desea impresión de anchura doble.

+ Indica que se desea impresión de anchura doble.

! Indica que no se desea impresión de anchura doble.-z Valor Rota la salida de la impresora de páginas el número de cuartos de vuelta, en el

sentido de las agujas del reloj, que especifica la variable Valor. Los valores delongitud (-l) y anchura (-w) se ajustan automáticamente en consonancia.

0 Vertical

1 Apaisado hacia la derecha

2 Vertical invertido

3 Apaisado hacia la izquierda-= BandejaSalida Especifica el destino de bandeja de salida para un trabajo de impresión. Los valores

posibles se listan a continuación. No obstante, las bandejas de salida válidasdependen de la impresora.

0 Bandeja de impresora superior

1 a 49 Bandejas de alta capacidad de salida (HCO) 1 - 49

49 Bandejas de salida específicas de impresora

Capítulo 7. Impresoras, trabajos de impresión y colas 99

Page 116: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

-# Valor Especifica una función especial.

j Muestra el número de trabajo correspondiente al trabajo de impresiónespecificado.

h Pone en cola el trabajo de impresión, pero lo sitúa en estado HELD(retenido) hasta que se vuelve a liberar.

v Valida los valores de componente de fondo de impresora especificada. Estavalidación es útil para comprobar si existen valores ilícitos en el momento desometer un trabajo de impresión. Si no se especifica la validación, un valorde distintivo incorrecto detendrá el trabajo de impresión posteriormentecuando se procese realmente el trabajo.

Por ejemplo, para solicitar que el archivo myfile se imprima en la primera impresora disponibleconfigurada 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 dedistintivos específicos y para validar los valores de los distintivos en el momento en que se somete eltrabajo 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 utilizandola modalidad enfatizada (el distintivo -e +) en la primera impresora disponible configurada para la coladenominada fastest (el distintivo -Pfastest ).

Por ejemplo, para imprimir myfile en papel de tamaño legal, escriba:qprt -Q2 myfile

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 ymore.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 ) yal mandato de impresión de UNIX de System V (lp ). Consulte los mandatos lpr y lp en lapublicació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 lasintaxis exacta.

Mandato smit

También puede emitir el mandato qprt con smit . En el indicador de mandatos, escriba:smit qprt

y, a continuación, pulse Intro.

100 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 117: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cancelación de un trabajo de impresión (mandato qcan)

Puede cancelar cualquier trabajo con los mandatos que se explican en los apartados “Mandato qcan” o“Mandato smit” . Cuando cancele un trabajo de impresión, se le pedirá que especifique el nombre de lacola de impresión en la que reside el trabajo y el número de trabajo que desea cancelar.

Este procedimiento se aplica tanto a trabajos de impresión local como remota.

Requisitos previosv 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 servidorremoto de impresión.

Mandato qcanEl mandato qcan cancela un número de trabajo en particular de una cola de impresión local o remota obien todos los trabajos de una cola de impresión local. Para determinar el número de trabajo, escriba elmandato qchk .

El formato básico del mandato qcan es el siguiente:qcan -PNombreCola -x NúmeroTrabajo

Consulte el mandato qcan en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Por ejemplo, para cancelar el trabajo número 123 en cualquier impresora en la que se encuentre eltrabajo, 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

Nota: Este sistema operativo también da soporte al mandato de cancelación de la impresión deUNIX de BSD (lprm ) y al mandato de cancelación de la impresión de UNIX de System V (cancel ).Consulte los mandatos lprm y cancel en la publicación AIX 5L Version 5.1 Commands Referencepara obtener más información y conocer la sintaxis exacta.

Mandato smitPara cancelar un trabajo de impresión utilizando SMIT, escriba:smit qcan

Comprobación del estado del trabajo de impresión (mandato qchk)

Puede visualizar la información de estado actual de los números de trabajos, colas, impresoras o usuariosespecificados como se indica en los apartados “Vía de acceso rápida de Gestor del sistema basadoen la Web” en la página 102 , “Mandato qchk” en la página 102 o “Mandato smit” en la página 102 .

Requisitos previosv 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 servidorremoto de impresión.

Capítulo 7. Impresoras, trabajos de impresión y colas 101

Page 118: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Vía de acceso rápida de Gestor del sistema basado en la WebPara comprobar el estado de un trabajo de impresión utilizando la vía rápida del Gestor del sistemabasado en la Web, escriba:wsm printers

En el contenedor Colas de impresora, seleccione el trabajo de impresión y a continuación utilice losmenús para comprobar su estado.

Mandato qchkEl mandato qchk visualiza la información de estado actual relacionada con los trabajos de impresión,colas de impresión o usuarios especificados.

El formato básico del mandato qchk es:qchk -P NombreCola -# NúmeroTrabajo -u NombrePropietario

Consulte el mandato qchk en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Por ejemplo, para visualizar la cola de impresión por omisión, escriba:qchk -q

Por ejemplo, para visualizar el estado de varias horas de todas las colas hasta el estado vacío, a la vezque se actualiza la pantalla cada 5 segundos, escriba:qchk -A -L -w 5

Por ejemplo, para visualizar el estado de la cola de impresión lp0, escriba:qchk -P lp0

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

Nota: Este sistema operativo también da soporte al mandato de comprobación de la cola deimpresión de UNIX de BSD (lpq ) y al mandato de comprobación de la cola de impresión de UNIX deSystem V (lpstat ). Consulte los mandatos lpq y lpstat en la publicación AIX 5L Version 5.1Commands Reference para conocer la sintaxis exacta.

Mandato smitPara comprobar el estado del trabajo de impresión utilizando SMIT, escriba:smit qchk

102 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 119: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Condiciones de estado de la impresora

Algunas de las condiciones de estado que puede tener una cola de impresión son:

DEV_BUSY Indica que:

v Se ha definido más de una cola para un dispositivo de impresora (lp0) y actualmente existeotra cola que está utilizando el dispositivo de impresora.

v qdaemon ha intentado utilizar el dispositivo de puerto de impresora (lp0), pero otra aplicaciónestá utilizando actualmente dicho dispositivo de impresora.

Para realizar la recuperación de un estado DEV_BUSY, espere hasta que la cola o la aplicaciónhaya liberado el dispositivo de impresora o cancele el trabajo o el proceso que está utilizando laboca de impresión.

DEV_WAIT Indica que la cola está esperando a la impresora, porque ésta está fuera de línea, no tienepapel, 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 ala espera. Algunas veces, tienen que eliminarse los trabajos de la cola para que el problemapueda solucionarse.

Una cola que experimente un estado DEV_WAIT durante un tiempo superior al del número desegundos definido, entrará en estado DOWN.

DOWN Por lo general, una cola entrará en estado DOWN tras haber experimentado el estadoDEV_WAIT. Esta situación se produce cuando el controlador de dispositivo de impresora nopuede indicar si la impresora está en dicho estado debido a la ausencia de señalizacióncorrecta. Sin embargo, puede que algunas impresoras no sean capaces de enviar una señal alsistema de colas para indicarle que está fuera de línea y, en lugar de ello, envían una señalindicando que están apagadas. Si el dispositivo de impresora envía una señal indicando queestá 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 quela impresora entrara en estado de inactividad y solicite al administrador que vuelva a establecerla cola en estado de actividad. Debe activarse manualmente la cola para poder volver autilizarla.

HELD Especifica que se retiene un trabajo de impresión. El spooler no procesará el trabajo deimpresión hasta que se libere.

QUEUED Especifica que se pone en cola un archivo de impresión y que está esperando en línea aimprimirse.

READY Especifica que todos los elementos implicados con la cola están preparados para ponerse encola e imprimir un trabajo.

RUNNING Especifica que está imprimiéndose un archivo de impresión.

Especificación de la prioridad de un trabajo de impresión (mandatoqpri)

Puede cambiar la prioridad de un trabajo utilizando la información que encontrará en los apartados“Mandato qpri” en la página 104 , “Mandato qpri” en la página 104 o “Mandato smit” en lapágina 104 . Sólo puede asignar prioridad de trabajo en colas locales. Los valores más altos indican unaprioridad más alta para el trabajo de impresión. La prioridad por omisión es 15. La prioridad máxima es 20para la mayoría de usuarios y 30 para usuarios con privilegio de usuario root y miembros del grupo printq(grupo 0).

Nota: No puede asignar una prioridad a un trabajo de impresión remota.

Requisitos previosv Para los trabajos de impresión local, la impresora debe estar físicamente conectada al sistema.

Capítulo 7. Impresoras, trabajos de impresión y colas 103

Page 120: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Para los trabajos de impresión remota, el sistema deberá haberse configurado para comunicarse con elservidor de impresión remoto.

Mandato qpriEl mandato qpri vuelve a asignar la prioridad de un trabajo de impresión que ha sometido. Si tieneautorización de usuario root o pertenece al grupo printq, puede asignar prioridad a cualquier trabajomientras está en la cola de impresión.

El formato básico del mandato qpri es:qpri -# NúmeroTrabajo -a NivelPrioridad

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 lasintaxis exacta.

Mandato smitPara cambiar la prioridad de un trabajo de impresión utilizando SMIT, escriba:smit qpri

Retención y liberación de un trabajo de impresión (mandato qhld)

Tras haber enviado un trabajo de impresión a una cola de impresión, puede retener el trabajo deimpresión mediante los métodos que se explican en “Vía de acceso rápida de Gestor del sistemabasado en la Web” , en “Mandato qhld” o en “Mandato smit” en la página 105 . Posteriormente puedeliberar el trabajo de impresión para imprimirlo con dichos mandatos.

Requisitos previosv 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 servidorremoto de impresión.

Vía de acceso rápida de Gestor del sistema basado en la WebPara retener o liberar un trabajo de impresión mediante la vía de acceso rápida de Gestor del sistemabasado en la Web, escriba:wsm printers

En el contenedor Colas de impresora, seleccione el trabajo de impresión y a continuación utilice losmenús para situarlo en estado retenido o para liberarlo para la impresión.

Mandato qhldEl mandato qhld retiene un trabajo de impresión después de haberse enviado. Puede situar un trabajo deimpresión determinado en estado retenido o bien puede retener todos los trabajos de impresión en unacola de impresión especificada. Para determinar el número del trabajo de impresión, escriba el mandatoqchk (consulte el apartado “Comprobación del estado del trabajo de impresión (mandato qchk)” en lapágina 101).

El formato básico del mandato qhld es:

104 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 121: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

qhld [ -r ] {[ -#NúmeroTrabajo ] [ -PCola ] [ -uUsuario ]}

Consulte el mandato qhld en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Por ejemplo, para retener el trabajo número 452, sea cual sea la cola de impresión en la que se encuentrael 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 smitPara retener o liberar un trabajo de impresión utilizando SMIT, escriba:smit qhld

Movimiento de un trabajo de impresión a otra cola de impresión(mandato qmov)

Tras haber enviado un trabajo de impresión a una cola de impresión, puede que desee mover el trabajode impresión a otra cola de impresión. Puede moverlo con el “Mandato qmov” o el “Mandato smit” enla página 106 .

Requisitos previosv 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 servidorremoto de impresión.

Mandato qmovEl mandato qmov mueve un trabajo de impresión a otra cola de impresión. Puede mover un trabajo deimpresión determinado o mover todos los trabajos de impresión de una cola de impresión especificada obien todos los trabajos de impresión enviados por un usuario especificado. Para determinar el número deltrabajo de impresión, escriba el mandato qchk .

El formato básico del mandato qmov es:qmov-mNuevaCola {[ -#NúmeroTrabajo ] [ -PCola ] [ -uUsuario ]}

Consulte el mandato qmov en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Por ejemplo, para mover el trabajo número 280 a la cola de impresión hp2, escriba:qmov -mhp2 -#280

Capítulo 7. Impresoras, trabajos de impresión y colas 105

Page 122: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para mover todos los trabajos de impresión de la cola de impresión hp4D a la cola deimpresión hp2, escriba:qmov -mhp2 -Php4D

Mandato smitPara mover un trabajo de impresión utilizando SMIT, escriba:smit qmov

Formateo de archivos para impresión (mandato pr)

El mandato pr realiza un formateo simple de los archivos que ha enviado a imprimir. Para formatear eltexto, interconecte la salida del mandato pr con el mandato qprt .

A continuación se indican algunos de los distintivos más útiles del mandato pr :

-d Produce la salida con espacios dobles.-h ″Serie″ Visualiza la serie especificada, entre comillas (″ ″), en lugar del nombre del archivo en la

cabecera de la página. El distintivo y la serie deben estar separados por un espacio.-l Líneas Altera temporalmente el valor por omisión de 66 líneas y vuelve a establecer la longitud de

página en el número de líneas que especifica la variable Líneas. Si el valor de Líneas esmenor que la suma de las profundidades de la cabecera y de la cola (en líneas), sesuprimen la cabecera y el pie de página (como si el distintivo -t estuviera vigente).

-m Fusiona archivos. La salida estándar se formatea de modo que el mandato pr pueda grabaruna línea de cada archivo que especifica una variable Archivo, una junto a otra en columnasde texto de anchuras fijas iguales, basándose en el número de posiciones de columna. Estedistintivo no debe utilizarse con el distintivo -Columna.

-n [Anchura][Carácter] Proporciona numeración de líneas basándose en el número de dígitos que especifica lavariable Anchura. El valor por omisión es 5 dígitos. Si se especifica la variable Carácter(cualquier carácter que no sea un dígito), éste se añade al número de línea para separarlode los elementos que le siguen en la línea. El separador de caracteres por omisión es elcarácter de tabulación ASCII.

-o Desplazamiento Sangra cada línea el número de posiciones de caracteres que especifica la variableDesplazamiento. El número total de posiciones de caracteres por línea es la suma de laanchura y el desplazamiento. El valor por omisión de Desplazamiento es 0.

-sCarácter Separa las columnas utilizando el carácter que especifica la variable Carácter en lugar deutilizar el número adecuado de espacios. El valor por omisión de Carácter es el carácter detabulación ASCII.

-t No muestra la cabecera identificadora de cinco líneas ni el pie de página de cinco líneas. Sedetiene después de la última línea de cada archivo sin espaciar hasta el final de la página.

-w Anchura Establece el número de posiciones de columna por línea en el valor que especifica lavariable Anchura. El valor por omisión es 72 para salida de múltiples columnas de anchuraidéntica. De lo contrario, no hay límite. Si no se especifica el distintivo -w y sí se especificael distintivo -s, la anchura por omisión es de 512 posiciones de columna.

-Columna Establece el número de columnas en el valor que especifica la variable Columna. El valorpor omisión es 1. Esta opción no debe utilizarse con el distintivo -m. Se suponen losdistintivos -e y -i para la salida de múltiples columnas. Una columna de texto nunca debeexceder de la longitud de la página (consulte la información del distintivo -l). Cuando utiliceeste distintivo con el distintivo -t, use el número mínimo de líneas para grabar la salida.

+Página Inicia la visualización con el número de página que especifica la variable Página. El valor poromisión es 1.

Por ejemplo, para imprimir un archivo denominado prog.c con cabeceras y números de páginas en laimpresora, escriba:pr prog.c | qprt

Pulse Intro.

106 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 123: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Esto añade cabeceras de página a prog.c y lo envía al mandato qprt . La cabecera consta de la fecha enque se modificó el archivo por última vez, el nombre del archivo y el número de página.

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. Siguenimprimié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.

Ello imprimirá el archivo word.lst en tres columnas verticales.

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 enprog.notab.c. Las posiciones de tabulación están en las columnas 9, 17, 25, 33, etc. El distintivo -e indicaal 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 7puntos, 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 lasintaxis exacta.

Impresión de archivos ASCII en una impresora PostScript

El Sistema de formato de texto incluye el filtro enscript para convertir archivos de impresión ASCII enPostScript para imprimirlos en una impresora PostScript. El mandato qprt -da llama a este filtro cuandose somete un trabajo de impresión a una cola de impresión PostScript.

Requisitos previosv 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.

Capítulo 7. Impresoras, trabajos de impresión y colas 107

Page 124: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Existen varios distintivos que pueden especificarse con el mandato qprt para personalizar la salidacuando se someten archivos ASCII a una cola de impresión PostScript.

-1+ Añade cabeceras de página.-2+ Formatea la salida en dos columnas.-3+ Imprime las cabeceras de página, fechas y números de página en estilo de fantasía. A veces,

esto se denomina modalidad ″enfatizada″.-4+ Imprime el archivo, incluso si contiene caracteres no imprimibles.-5+ Lista los caracteres que no están incluidos en un font.-h serie Especifica una serie que se utilizarán para las cabeceras de página. Si no se especifica este

distintivo, la cabecera se compone del nombre del archivo, de la fecha de modificación y delnúmero de la página.

-l valor Especifica el número máximo de líneas que se imprimirán por página. En función del cuerpo,puede que, en realidad, aparezcan menos líneas por página.

-L! Trunca las líneas más largas que la anchura de página.-p Especifica el cuerpo. Si no se especifica este distintivo, se da por supuesto el cuerpo 10, a

menos que se especifique la modalidad rotada de dos columnas (-2+ -z1), en cuyo caso seutilizaría un valor 7.

-s Especifica el estilo de font. Si no se especifica este distintivo, se utiliza el font Courier. Losvalores que se aceptan son:Courier-ObliqueHelveticaHelvetica-ObliqueHelvetica-NarrowHelvetica-Narrow-ObliqueNewCenturySchlbk-ItalicOptimaOptima-ObliquePalatino-RomanPalatino-ItalicTimes-RomanTimes-Italic

Nota: La impresora PostScript debe disponer de acceso al font especificado.-z1 Rota la salida 90 grados (modalidad apaisada)

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 eimprimirlo 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 eimprimirlo en cuerpo 9, escriba:qprt -da -PMsps1 -p9 myfile.ascii

Pulse Intro.

108 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 125: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Automatización de la conversión de ASCII a PostScript

Muchas aplicaciones que generan archivos de impresión PostScript siguen el convenio de crear los dosprimeros caracteres del archivo PostScript %!, que identifican el archivo como un archivo de impresiónPostScript. Para configurar el sistema para que detecte los archivos de impresión ASCII sometidos a unacola de impresión PostScript y los convierta automáticamente en archivos PostScript antes de enviarlos ala impresora PostScript, realice los pasos siguientes:

1. En el indicador de mandatos, escriba:smit chpq

Pulse Intro.

2. Escriba el nombre de la cola PostScript o bien utilice la función Lista para seleccionar una de la listade 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 deimpresión? de modo que se especifica yes .

Cualquiera de los siguientes mandatos puede ahora convertir un archivo ASCII en un archivo PostScript eimprimirlo en una impresora PostScript. Para convertir myfile.ascii, debe escribir cualquiera de lossiguientes 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

donde ps es una cola de impresión PostScript.

Alteración temporal de la determinación automática de los tipos dearchivos de impresión

Existen dos casos en los que podría ser necesario alterar temporalmente la determinación automática deltipo de archivo de impresión para la impresión PostScript.

Por ejemplo, para imprimir un archivo PostScript denominado myfile.ps que no empieza por %!, escribalo 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 empiezapor %!, 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

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

Capítulo 7. Impresoras, trabajos de impresión y colas 109

Page 126: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

Resumen de mandatos para impresoras, trabajos de impresión y colas

cancel Cancela la petición efectuada a una impresora de líneas.lp Envía peticiones a una impresora de líneas.lpq Examina la cola de spool.lpr Pone en cola trabajos de impresión.lprm Elimina trabajos de la cola de spooling de la impresora de líneas.lpstat Muestra información de estado de la impresora de líneas.pr Graba un archivo en salida estándar.qcan Cancela un trabajo de impresión.qchk Muestra el estado de una cola de impresión.qhld Retiene o libera un trabajo de impresión.qmov Mueve un trabajo de impresión a otra cola de impresión.qpri Otorga prioridad a un trabajo en la cola de impresión.qprt Inicia un trabajo de impresión.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

110 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 127: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 8. Archivos de seguridad y medios dealmacenamiento

Una vez que el sistema esté en marcha, la siguiente consideración que debe tener en cuenta debe serhacer copia de seguridad de los sistemas de archivos, directorios y archivos. Los archivos y los directoriosson una inversión importante en tiempo y esfuerzo. Al mismo tiempo, todos los archivos del sistema sonpotencialmente fáciles de modificar o borrar, ya sea intencionadamente o por accidente. Si elige unmétodo cuidadoso y metódico de hacer copias de seguridad de los sistemas de archivos, siempre podrárestaurar versiones recientes de los archivos o sistemas de archivos con poca dificultad.

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

Existen varios métodos de hacer las copias de seguridad. El método más frecuente es hacer copias deseguridad periódicas, es decir, una copia del sistema de archivos, de los directorios o de los archivos quese guardan para una transferencia de archivos o en el caso de que se modifiquen o se borrenaccidentalmente los datos originales. Otro método de hacer copias de seguridad es la copia de seguridadde archivador; este método se utiliza para copiar uno o más archivos o una base de datos entera que seguarda para consultas posteriores, objetivos de recopilación histórica o de recuperación si se dañan o sepierden los datos originales. Normalmente, un archivador se utiliza cuando se eliminan dichos datosespecíficos del sistema.

En este apartado se explica lo siguiente:

v “Política de copias de seguridad”

v “Formateo de disquetes (mandato format o fdformat)” en la página 114

v “Comprobación de la integridad del sistema de archivos (mandato fsck)” en la página 115

v “Copia en o desde disquetes (mandato flcopy)” en la página 116

v “Copia de archivos en cinta o disco (mandato cpio -o)” en la página 116

v “Copia de archivos de una cinta o disco (mandato cpio -i)” en la página 117

v “Copia en o desde cintas (mandato tcopy)” en la página 117

v “Comprobación de la integridad de una cinta (mandato tapechk)” en la página 118

v “Compresión de archivos (mandatos compress y pack)” en la página 118

v “Expansión de archivos comprimidos (mandatos uncompress y unpack)” en la página 120

v “Realización de la copia de seguridad de los archivos (mandato backup)” en la página 121

v “Restauración de archivos de copia de seguridad (mandato restore)” en la página 123

v “Archivador de archivos (mandato tar)” en la página 124

v “Resumen de mandatos para los archivos de copia de seguridad y el soporte de almacenamiento” en lapágina 125

Política de copias de seguridad

Ninguna política de copias de seguridad cumple con los requisitos de todos los usuarios. Una política quefunciona eficazmente para un sistema con un usuario, por ejemplo, puede ser inadecuada para unsistema que atiende a 5 ó 10 usuarios distintos. De igual modo, una política desarrollada para un sistemaen que pueden modificarse muchos archivos diariamente sería ineficaz para un sistema en el que losdatos cambian con poca frecuencia. Sólo el propio usuario podrá determinar cuál es la mejor política decopias de seguridad para el sistema, pero las directrices generales que se facilitan a continuación puedenayudarle:

© Copyright IBM Corp. 1997, 2001 111

Page 128: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Asegúrese de que puede realizar la recuperación ante pérdidas importantes.

¿Puede seguir funcionando el sistema si falla alguno de los discos duros? ¿Puede restaurar el sistema sifallan todos los discos duros? ¿Podría restablecer el sistema si perdiera los disquetes o cintas deseguridad 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 permitarealizar la recuperación del sistema tras producirse cualquiera de ellas.

Compruebe las copias de seguridad periódicamente.

El medio de las copias de seguridad y su hardware puede no ser fiable. Una enorme biblioteca de cintaso 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 visualizarla tabla de contenido de la cinta de la copia de seguridad periódicamente (utilizando restore -T o tar -tpara las cintas de archivador). Si utiliza disquetes para las copias de seguridad y tiene más de unadisquetera, pruebe a leer los disquetes en otra disquetera distinta. Puede que también desee asegurarsey repetir cada copia de seguridad del nivel 0 empleando un segundo juego de disquetes. Si para lascopias de seguridad utiliza un dispositivo de cintas en modalidad continua, puede utilizar el mandatotapechk para realizar comprobaciones de coherencia básicas en la cinta.

Conserve las copias de seguridad antiguas.

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 variosmeses hasta que el propio usuario o bien otro usuario del sistema advierte que falta o que está dañadoun archivo importante. Ante esta posibilidad, se recomienda guardar las copias de seguridad antiguas. Porejemplo, 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. Conello, 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.

Compruebe los sistemas de archivos antes de realizar la copia de seguridad de éstos.

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 archivosejecutando el mandato fsck .

Asegúrese de que los archivos no estén utilizándose durante la realización de una copia deseguridad.

Asegúrese de que el sistema no esté utilizándose cuando se realizan las copias de seguridad. Si elsistema 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 otrabajo de reparación o bien antes de instalar nuevos dispositivos, programas u otras características delsistema.

Otros factores

112 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 129: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Otros de los factores que cabe considerar durante la planificación e implementación de una estrategia decopias de seguridad son:

v ¿Con qué frecuencia cambian los datos? Como se comentó anteriormente, el sistema operativo nocambia tan a menudo, de forma que no es necesario que haga una copia de seguridad del sistemafrecuentemente. Por otro lado, los datos del usuario normalmente cambian con frecuencia y debe hacercopia de seguridad con frecuencia.

v ¿Cuántos usuarios hay en el sistema? El número de usuarios afectaría a la cantidad de medios dealmacenamiento y la frecuencia necesaria de las copias de seguridad.

v ¿Qué dificultad requiere reproducir los datos? Es importante tener en cuenta que algunos datos nopueden reproducirse si no existe una copia de seguridad.

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 dedatos es muy difícil si no se ha implementado una buena estrategia de copias de seguridad.

Soporte para copias de seguridadExisten algunos tipos distintos de medios de seguridad. Los distintos tipos de medios de seguridad para laconfiguración específica del sistema depende del software y del hardware. Los tipos que se utilizan conmás frecuencia son los disquetes de 5,25 pulgadas, las cintas de 8 mm, las cintas de 9 pistas y losdisquetes de 3,5 pulgadas.

Atención: La ejecución del mandato backup da lugar a la pérdida de todo el material anteriormentealmacenado en el soporte de salida seleccionado.

DisquetesLos disquetes son el medio de copias de seguridad estándar. A menos que especifique un dispositivodistinto mediante el mandato backup -f , el mandato backup graba automáticamente la salida en eldispositivo /dev/rfd0 , que es la unidad de disquetes. Para realizar la copia de seguridad en el dispositivode 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 deldisquete, 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, porejemplo, 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 los10 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 queel almacenamiento de los datos sea satisfactorio. Si utiliza un disquete incorrecto en la unidad dedisquetes 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. Suelenelegirse para almacenar grandes archivos o muchos archivos, por ejemplo copias de archivador o

Capítulo 8. Archivos de seguridad y medios de almacenamiento 113

Page 130: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

sistemas de archivos. También se utilizan para la transferencia de muchos archivos de un sistema a otro.La cinta no suele utilizarse para almacenar los archivos a los que se accede con más frecuencia, ya queexisten otros soportes que proporcionan tiempos de acceso mucho más rápidos.

Los archivos de cinta se crean utilizando mandatos como backup , cpio y tar , que abren una unidad decintas, graban en ella y la cierran.

Formateo de disquetes (mandato format o fdformat)

Atención: El formateo de un disquete destruye los datos que contiene ese disquete.

Puede formatear disquetes en la unidad de disquetes que especifica el parámetro Dispositivo (eldispositivo por omisión es /dev/rfd0 ) con los mandatos format y fdformat . El mandato format determinael 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 lascuales tiene 9 sectores

v Disquete de 5,25 pulgadas de gran capacidad (1,2 MB), que contiene 80x2 pistas, cada una de lascuales tiene 15 sectores

v Disquete de 3,5 pulgadas de baja densidad (720 KB) que contiene 80x2 pistas, con 9 sectores cadapista

v Disquete de 3,5 pulgadas de gran capacidad (2,88 MB), que contiene 80x2 pistas, cada una de lascuales tiene 36 sectores.

El tamaño de un sector es de 512 bytes para todos los tipos de disquetes.

El mandato format formatea un disquete para alta densidad, a menos que el parámetro Dispositivoespecifique 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. Estole permite finalizar la operación limpiamente si es necesario.

Por ejemplo, para formatear un disquete en el dispositivo /dev/rfd0 , escriba:format -d /dev/rfd0

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,2MB 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 mandatofdformat , escriba:fdformat -h

114 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 131: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

Consulte el mandato format en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Comprobación de la integridad del sistema de archivos (mandato fsck)

Puede comprobar e interactivamente reparar las incoherencias de los sistemas de archivos con elmandato fsck . Debe ejecutarse en cada sistema de archivos como parte de la inicialización del sistema.Debe poder leer el archivo de dispositivo en el que reside el sistema de archivos (por ejemplo, eldispositivo /dev/hd0 ). Por lo general, el sistema de archivos es coherente y el mandato fsck sólo informaacerca del número de archivos, de bloques no utilizados y de bloques libres del sistema de archivos. Si elsistema de archivos no es coherente, el mandato fsck visualiza información acerca de las incoherenciasque ha encontrado y le solicita permiso para repararlas. Puede decirse que el mandato fsck esconservador en las operaciones de reparación que realiza e intenta evitar las acciones que pueden darcomo resultado la pérdida de datos válidos. Sin embargo, en algunos casos, el mandato fsck recomiendala destrucción de un archivo dañado.

Atención: Ejecute siempre el mandato fsck después de haberse producido una disfunción en elsistema. Las acciones de corrección puede dar como resultado la pérdida de algunos datos. Laacción por omisión para cada corrección de la coherencia es esperar a que el operador especifiqueyes 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 podidoespecificar 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 enlos sistemas de archivos por omisión, escriba:fsck -p

Pulse Intro.

Por ejemplo, para comprobar el sistemas de archivos /dev/hd1, escriba:fsck /dev/hd1

Pulse Intro.

Ello comprueba el sistema de archivos sin montar que se encuentra en el dispositivo /dev/hd1.

Nota: El mandato fsck no realizará correcciones en un sistema de archivos montado.

Consulte el mandato fsck en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Capítulo 8. Archivos de seguridad y medios de almacenamiento 115

Page 132: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Copia en o desde disquetes (mandato flcopy)

Puede copiar un disquete (abierto como /dev/rfd0 ) en un archivo que se denomina floppy creado en eldirectorio actual con el mandato flcopy . Si es necesario, aparecerá el mensaje: Cambie eldisquete, pulse retorno cuando lo haya hecho. A continuación, el mandato flcopy copia el archivo

floppy en el disquete.

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 lasintaxis exacta.

Copia de archivos en cinta o disco (mandato cpio -o)

Puede leer los nombres de las vías de acceso de los archivos en la entrada estándar y copiar dichosarchivos en la salida estándar, junto con los nombres de las vías de acceso y la información de estado,utilizando el mandato cpio -o . Los nombres de vías de acceso no pueden superar los 128 caracteres.Con el mandato cpio , evite la utilización de nombres de vías de acceso compuestos de muchos archivoscon enlaces exclusivos, pues puede que no disponga de memoria suficiente para realizar el seguimientode éstos, con lo que perdería información de enlace.

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.

El distintivo -v visualiza los nombres de cada uno de los archivos.

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 lossubdirectorios 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 lasintaxis exacta.

116 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 133: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Copia de archivos de una cinta o disco (mandato cpio -i)

El mandato cpio -i lee en la entrada estándar un archivo archivador creado mediante el mandato cpio -oy copia desde allí los archivos cuyos nombres coinciden con el parámetro Patrón. Estos archivos secopian en el árbol de directorios actual. Puede listar más de un parámetro Patrón, utilizando la notaciónde nombre de archivo que se describe en el mandato ksh . El valor por omisión del parámetro Patrón esun asterisco (*), que selecciona todos los archivos del directorio actual. En una expresión como, porejemplo, [a-z], el guión (-) significa hasta, de acuerdo con el orden de clasificación actual.

Nota: Los patrones ″*.c″ y ″*.o″ deben especificarse entre comillas para evitar que el shellinterprete que el asterisco (*) es un carácter de coincidencia de patrón. Se trata de un caso especialen 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/rfd0en el formato del mandato cpio . El listado es parecido al largo listado de directorios que genera elmandato 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 elmandato cpio nuevamente en el sistema de archivos (especifique el distintivo -i). El distintivo -d permiteal mandato cpio crear los directorios apropiados si se guarda un árbol de directorios.El distintivo -mconserva 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 secopia.

Por ejemplo, para copiar archivos seleccionados de un disquete, escriba:cpio -i "*.c" "*.o" </dev/rfd0

Pulse Intro.

Con ello se copiarán los archivos que acaban en .c o en .o del disquete.

Consulte el mandato cpio en la publicación AIX 5L Version 5.1 Commands Reference para obtener másinformación y conocer la sintaxis exacta.

Copia en o desde cintas (mandato tcopy)

Puede copiar cintas magnéticas utilizando el mandato tcopy .

Por ejemplo, para copiar desde una cinta de modalidad continua en una cinta de 9 pistas, escriba:tcopy /dev/rmt0 /dev/rmt8

Pulse Intro.

Capítulo 8. Archivos de seguridad y medios de almacenamiento 117

Page 134: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato tcopy en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Comprobación de la integridad de una cinta (mandato tapechk)

Puede realizar una comprobación básica de la coherencia de un dispositivo de cintas de modalidadcontinua conectado utilizando el mandato tapechk . Simplemente leyendo una cinta puede detectaralgunas anomalías de hardware de una unidad de cinta de modalidad continua. El mandato tapechkproporciona un modo de realizar lecturas en los archivos de una cinta.

Por ejemplo, para comprobar los tres primeros archivos de un dispositivo de cintas de modalidadcontinua, escriba:tapechk 3

Pulse Intro.

Consulte el mandato tapechk en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Compresión de archivos (mandatos compress y pack)

Puede comprimir archivos para almacenarlos con el “Mandato compress” en la página 119 y el“Mandato pack” en la página 119 y utilizar el “Mandato uncompress” en la página 120 y el “Mandatounpack” en la página 120 para expandir los archivos restaurados. El proceso de comprimir y expandirarchivos lleva tiempo, pero, una vez empaquetados, los datos utilizan menos espacio en el medio deseguridad.

Existen varios métodos para comprimir un sistema de archivos:

v Utilice la opción -p con el mandato backup .

v Utilice los mandatos compress o pack .

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 delas cintas.

– Comprima los archivos de anotaciones creados por scripts de shell que se ejecutan de noche; esfácil comprimir el archivo mediante los scripts antes de salir.

– Comprima los archivos a los que no esté accediéndose actualmente. Por ejemplo, puedencomprimirse los archivos que pertenecen a un usuario que se ha ausentado por un período detiempo prolongado y colocarlos en un archivador tar en disco o en cinta y restaurarlosposteriormente.

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 elsistema de archivos. El mandato compress crea los archivos comprimidos antes de suprimirlos archivos descomprimidos, por lo tanto, necesita aproximadamente un 50% más de espacioque el tamaño total de los archivos.

2. Puede que un archivo no pueda comprimirse porque ya está comprimido. Si el mandatocompress no puede reducir los tamaños de los archivos, no se ejecutará satisfactoriamente.

118 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 135: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandato compressEl mandato compress reduce el tamaño de los archivos utilizando la codificación Lempel-Zev concapacidad de adaptación. Cada archivo original que especifique el parámetro Archivo se sustituirá por unarchivo comprimido, a cuyo nombre se añadirá la extensión .Z. El archivo compactado conserva la mismapropiedad, modalidades y horas y acceso de modificación que el archivo original. Si no se especificanarchivos, la entrada estándar se comprime en la salida estándar. Si la compresión no reduce el tamaño deun archivo, se graba un mensaje en el error estándar y el archivo original no se sustituye.

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 queespecifique la variable Bits y de la distribución de las subseries comunes. Normalmente, el código fuentede texto inglés se reduce entre un 50 y un 60 por ciento. La compresión del mandato compress esgeneralmente más compacta y tarda menos tiempo en calcularse que la compresión conseguida por elmandato 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 conocerla sintaxis exacta.

Mandato packEl mandato pack almacena el archivo o archivos que especifica el parámetro Archivo en un formatocomprimido utilizando la codificación Huffman. El archivo de entrada se sustituye por un archivoempaquetado cuyo nombre se toma del nombre del archivo original (Archivo.z), con las mismasmodalidades de acceso, fechas de acceso y modificación y propietario que el archivo original. El nombredel 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 archivosempaquetados 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 suimposibilidad de ahorrar espacio. (Generalmente, se produce una imposibilidad de ahorrar espacio conpequeños archivos o archivos con distribución de caracteres uniforme). La cantidad de espacio ahorradodependerá del tamaño del archivo de entrada y de la distribución de frecuencia de caracteres. Puesto queel árbol de descodificación forma la primera parte de cada archivo .z, no ahorrará espacio con losarchivos que tengan menos de tres bloques. Normalmente, los archivos de texto se reduce entre un 25 yun 40 por ciento.

El valor de salida del mandato pack es el número de archivos que no ha podido empaquetar. Elempaquetado 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.

Capítulo 8. Archivos de seguridad y medios de almacenamiento 119

Page 136: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para comprimir los archivos chap1 y chap2, escriba:pack chap1 chap2

Pulse Intro.

Ello comprimirá chap1 y chap2, sustituyéndolos por los archivos denominados chap1.z y chap2.z . Elmandato 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 obtenerinformación y conocer la sintaxis exacta.

Expansión de archivos comprimidos (mandatos uncompress yunpack)

Puede expandir archivos comprimidos con los mandatos uncompress y unpack .

Mandato uncompressEl mandato uncompress restablece archivos originales que se han comprimido con el mandatocompress . Cada archivo comprimido que especifica la variable Archivo se elimina y se sustituye por unacopia ampliada. El archivo expandido tiene el mismo nombre que la versión comprimida, pero sin laextensión .Z. El archivo expandido conserva el mismo propietario, modalidades y horas de acceso ymodificación que el archivos original. Si no se especifica ningún archivo, la entrada estándar se expandeen la salida estándar.

Aunque es parecido al mandato uncompress , el mandato zcat siempre graba la salida expandida en lasalida estándar.

Por ejemplo, para descomprimir el archivo foo, escriba:uncompress foo

Pulse Intro.

Consulte el mandato uncompress en la publicación AIX 5L Version 5.1 Commands Reference paraconocer la sintaxis exacta.

Mandato unpackEl mandato unpack expande los archivos que se han creado con el mandato pack . Para cada archivoespecificado, el mandato unpack busca un archivo denominado Archivo.z. Si este archivo es un archivoempaquetado, el mandato unpack lo sustituye por su versión expandida. El mandato unpack cambia elnombre del nuevo archivo eliminando el sufijo .z de Archivo. El nuevo archivo tiene las mismasmodalidades de acceso, fechas de acceso y modificación y propietario que el archivo empaquetadooriginal.

El mandato unpack sólo funciona con archivos que acaban en .z. Como resultado de ello, cuandoespecifica un nombre de archivo que no acaba en .z, el mandato unpack añade el sufijo y busca en eldirectorio un nombre de archivo que tenga ese sufijo.

El valor de la salida es el número de archivos que el mandato unpack no ha podido desempaquetar. Unarchivo no podrá desempaquetarse si se da alguna de las condiciones siguientes:

v El nombre del archivo (sin contar la .z) tiene más de 253 bytes.

v El archivo no puede abrirse.

v El archivo no es un archivo empaquetado.

v Ya existe un archivo con el nombre del archivo desempaquetado.

120 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 137: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v No puede crearse el archivo desempaquetado.

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 inododistinto del archivo empaquetado a partir del que se ha creado. Sin embargo, cualquiera de losotros archivos enlazados con el número de inodo original del archivo empaquetado siguenexistiendo 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 denominadoschap1 y chap2. Tenga en cuenta que con el mandato unpack puede especificar nombres de archivos quetengan o que no tengan el sufijo .z.

Consulte el mandato unpack en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Realización de la copia de seguridad de los archivos (mandatobackup)

Atención: Si intenta realizar la copia de seguridad de un sistema de archivos montado, sevisualizará un mensaje. El mandato backup seguirá su ejecución, pero pueden producirseincoherencias en el sistema de archivos. Esta situación no se aplica al sistema de archivos raíz (/).

Puede crear copias de los archivos en un soporte de copia de seguridad como, por ejemplo, una cintamagnética o un disquete, con el “Mandato backup” o bien el “Mandato smit” en la página 122 . Lascopia 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 losparámetros -Nivel y SistemaArchivos.

Notas:

1. Siempre existe la posibilidad de que los datos se dañen cuando se modifica un archivodurante la copia de seguridad del sistema. Por lo tanto, la actividad del sistema debe estar almí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 dedispositivo establecido en 0 (cero), no será posible restaurar directamente desde la cinta. Siha realizado copias de seguridad con el valor establecido en 0, podrá efectuar la restauracióna partir de éstas utilizando los procedimientos especiales que se describen en el mandatorestore .

Atención: Asegúrese de que los distintivos que especifique coincidan con el soporte de copia deseguridad utilizado. Además, si intenta realizar la copia de seguridad de un sistema de archivosmontado, podrían producirse incoherencias.

Mandato backupPor ejemplo, para realizar la copia de seguridad de los archivos seleccionados en el directorio $HOME pornombre, escriba:find $HOME -print | backup -i -v

Capítulo 8. Archivos de seguridad y medios de almacenamiento 121

Page 138: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

El distintivo -i solicita al sistema que lea en la salida estándar los nombres de los archivos cuya copia deseguridad va a realizarse. El mandato find genera una lista de archivos en el directorio $HOME delusuario. Esta lista se interconecta con el mandato backup como entrada estándar. El distintivo -vvisualiza un informe de progreso a medida que se copia cada archivo. Se hace copia de seguridad de losarchivos 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 dearchivos / (root). La copia de seguridad del sistema de archivos se realiza en el archivo /dev/rfd0 . Eldistintivo -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) quese 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 lasintaxis 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 dearchivos 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 undispositivo 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 uninforme de cada fase (REPORT each phase) del campo de copia de seguridad si desea que seimpriman 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) debloques que han de grabarse en el campo del soporte de copia de seguridad, ya que este campo nose 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.

122 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 139: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

7. Ejecute el mandato restore -t . Si este mandato genera un mensaje de error, deberá repetir la copia deseguridad completa.

Restauración de archivos de copia de seguridad (mandato restore)

Puede leer los archivos que se han grabado con el mandato backup de un soporte de copia de seguridady restaurarlos en el sistema local como se indica en los apartados “Mandato restore” o “Mandato smit”en la página 124 .

Notas:

1. Los archivos deben restaurarse utilizando el mismo método que el que se utilizó para realizar lacopia de seguridad. Por ejemplo, si se ha hecho copia de seguridad de un sistema de archivospor nombre, debe restaurarse por nombre.

2. Cuando se necesita más de un disquete, el mandato restore lee el que está montado, solicitauno nuevo y espera la respuesta del usuario. Después de insertar el nuevo disquete, pulse latecla Intro para seguir restaurando archivos.

Mandato restorePor ejemplo, para que se listen los nombres de los archivos de los que anteriormente se ha realizado unacopia 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 copiade seguridad de archivos individuales, únicamente se mostrarán los nombres de los archivos. Si se hahecho copia de seguridad de un sistema de archivos entero, también se muestra el número de inodo.

Por ejemplo, para restaurar los archivos en el sistema principal, escriba:restore -x -v

Pulse Intro.

El distintivo -x extrae todos los archivos del soporte de copia de seguridad y los restaura en el lugarcorrecto del sistema de archivos. El distintivo -v visualiza un informe de progreso a medida que varestaurándose cada archivo. Si está restaurándose la copia de seguridad de un sistema de archivos, losarchivos se indican con sus números de inodo. De lo contrario, sólo se visualizan los nombres.

Por ejemplo, para copiar el archivo /home/mike/manual/chap1, escriba:restore -xv /home/mike/manual/chap1

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 mandatorestore -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 eldirectorio un directorio llamado manual para alojar a los archivos que se restauren.

Capítulo 8. Archivos de seguridad y medios de almacenamiento 123

Page 140: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Consulte el mandato restore en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

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 directorioen 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 cintasmagnéticas sin filtrar:/dev/rmt0

Si el dispositivo no está disponible, aparece un mensaje similar al siguiente:No puede abrirse /dev/rmtX, no existe dichoarchivo o directorio.

Este mensaje indica que el sistema no puede acceder al controlador de dispositivo porque no existeningú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 solocampo de entrada.

5. Pulse Intro para restaurar el sistema de archivos o directorio especificados.

Archivador de archivos (mandato tar)

Puede grabar archivos o recuperar archivos de un almacenamiento de archivar con el mandato tar . Elmandato tar busca archivadores en el dispositivo por omisión (por lo general, el dispositivo de cintas), amenos que especifique otro dispositivo.

Cuando graba en un archivador, el mandato tar utiliza un archivo temporal (el archivo /tmp/tar* ) ymantiene en memoria una tabla de los archivos con varios enlaces. Recibirá un mensaje de error si elmandato tar no puede crear el archivo temporal o si no hay suficiente memoria disponible para dar cabidaa las tablas de enlaces.

Por ejemplo, para grabar los archivos file1 y file2 en un nuevo archivador en la unidad de cintas poromisión, escriba:tar -c file1 file2

Pulse Intro.

Por ejemplo, para extraer todos los archivos del directorio /tmp del archivo archivador del dispositivo decintas /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.tardel directorio actual, escriba:

124 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 141: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

tar -vtf out.tar

Pulse Intro.

Consulte el mandato tar en la publicación AIX 5L Version 5.1 Commands Reference para obtener másinformación y conocer la sintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

Resumen de mandatos para los archivos de copia de seguridad y elsoporte de almacenamiento

backup Hace una copia de seguridad de los archivos y de los sistemas de archivos.compress Comprime y expande los datos.cpio Copia archivos en y desde almacenamiento de archivar y directorios.fdformat Formatea disquetes.flcopy Copia a y desde disquetes.format Formatea disquetes.fsck Comprueba la consistencia de los sistemas de archivos y repara interactivamente los sistemas

de archivos.pack Comprime archivos.restore Copia los sistemas de archivos o los archivos de los que se ha hecho una copia de seguridad,

creados mediante el mandato backup , desde un dispositivo local.tapechk Efectúa comprobación de consistencia del dispositivo de cintas en modalidad continua.tar Manipula archivos.tcopy Copia una cinta magnética.uncompress Comprime y expande los datos.unpack Expande archivos.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Capítulo 4. Redirección de entrada y salida” en la página 43

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

Capítulo 8. Archivos de seguridad y medios de almacenamiento 125

Page 142: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

126 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 143: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 9. Seguridad de los archivos y del sistema

La seguridad del sistema es muy similar a otros tipos de seguridad. Su objetivo es la protección de lainformación almacenada en el sistema informático, un recurso valioso. La seguridad de la informacióntiene los siguientes propósitos:

Integridad El valor de toda la información depende de su exactitud. Si se efectúan cambios no autorizados enlos datos, éstos pierden algo o todo su valor.

Privacidad El valor de gran parte de la información depende de su condición de confidencialidad.Disponibilidad La información debe estar disponible en el acto.

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, planificarlasbien ahora puede ahorrar mucho tiempo más tarde.

En este apartado se explica lo siguiente:

v “Amenazas a la seguridad”

v “Propiedad de archivos y grupos de usuarios” en la página 129

– “Cambio del propietario del archivo o directorio (mandato chown)” en la página 129

– “Modalidades de acceso a archivos y directorios” en la página 130

– “Visualización de la información del grupo (mandato lsgroup)” en la página 132

– “Cambio de los permisos de los archivos o directorios (mandato chmod)” en la página 133

v “Listas de controles de acceso” en la página 134

– “Permisos base” en la página 135

– “Permisos ampliados” en la página 135

– “Ejemplo de Lista de control de accesos” en la página 136

– “Autorización de acceso” en la página 136

– “Visualización de la información de control de accesos (mandato aclget)” en la página 138

– “Establecimiento de la información de control de accesos (mandato aclput)” en la página 138

– “Edición de la información de control de accesos (mandato acledit)” en la página 139

v “Bloqueo del terminal (mandato lock o xlock)” en la página 139

v “Resumen de mandatos para la seguridad de los archivos y del sistema” en la página 139

Amenazas a la seguridad

Las amenazas a la seguridad de la información proceden de tres tipos distintos de comportamiento:

Descuido La seguridad de la información se viola a menudo debido al descuido de los usuariosautorizados del sistema. Si no tiene cuidado con su contraseña, por ejemplo, ningún otromecanismo de seguridad puede impedir el acceso no autorizado a su cuenta y a sus datos.

Exploración Muchos problemas de seguridad se deben a los usuarios que navegan, los usuarios delsistema que tienen autorización y que exploran el sistema en busca de datos que no se hanprotegido utilizando los mecanismos adecuados.

Intromisión La intromisión representa una agresión deliberada al sistema. Un individuo que intente entraren el sistema estudiará el grado de vulnerabilidad de la seguridad y, a partir de ahí,planificará deliberadamente cómo agredirlo.

La última forma de comportamiento suele representar la mayor amenaza para la seguridad de lainformación, pero los problemas que pueden deberse a la falta de cuidado o a la exploración no debeninfravalorarse.

© Copyright IBM Corp. 1997, 2001 127

Page 144: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Seguridad básicaCada sistema debe mantener el nivel de seguridad representado por estas políticas básicas de seguridad.

Copias de seguridadLas copias de seguridad físicamente seguras, fiables y actualizadas son la tarea de seguridad másimportante. Con una buena copia de seguridad del sistema, puede recuperar información detallada comoconsecuencia de cualquier problema del sistema con mínimas pérdidas. Proporcione información acercade la política de copia de seguridad que ha de utilizarse e incluya información en la que se especifique losiguiente:

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 dealmacenamiento” en la página 111″.

Identificación y autentificaciónLa identificación y la autentificación establecen su identidad. Se solicitará que inicie la sesión en elsistema. Debe especificar el nombre de usuario y una contraseña, si la cuenta tiene contraseña (en unsistema seguro, todas las cuentas deben tener contraseñas, de lo contrario no son válidas). Si lacontraseña es correcta, iniciará la sesión con dicha cuenta y en ese momento adquirirá los permisos deacceso y el privilegio de la cuenta.

Puesto que la contraseña es la única protección para su cuenta, es importante que seleccione lacontraseña con cuidado y que la proteja. Muchos intentos de irrumpir ilícitamente en un sistema empiezanpor intentos de adivinar contraseñas. El sistema operativo proporciona una protección significativa de lascontraseñas al almacenar las contraseñas de los usuarios por separado de otras informaciones delsistema. Las contraseñas cifradas y otros datos relacionados con la seguridad de los usuarios sealmacenan en el archivo /etc/security/passwd . Sólo el usuario root puede acceder a este archivo. Coneste acceso restringido de los usuarios a las contraseñas cifradas, cualquier persona no autorizada nopodrá descifrar las contraseñas con un programa que simplemente prueba todas las contraseñas posibleso probables.

Sigue siendo posible adivinar las contraseñas al intentar el inicio de sesión con una cuenta de formareiterada. Si la contraseña es muy sencilla o si no se cambia con frecuencia, dichos ataques puedenlograr su objetivo fácilmente.

ID de usuario de inicio de sesión

El sistema operativo también identifica a los usuarios mediante su ID de inicio de sesión. El ID de iniciode sesión de usuario permite al sistema seguir la pista de todas las acciones del usuario desde su origen.Una vez que un usuario inicia la sesión en el sistema, pero antes de ejecutar el programa inicial deusuario, el sistema define el ID de inicio de sesión del proceso en el ID de usuario encontrado en la basede datos de usuarios. Todos los procesos posteriores durante la sesión del inicio de sesión se identificanmediante este ID. Dichos identificadores proporcionan una pista de todas las actividades efectuadas por elID de inicio de sesión del usuario.

El usuario puede restablecer el ID de usuario en vigor, el ID de usuario real, el ID de grupo en vigor, el IDde grupo real y el ID de grupo complementario durante la sesión, pero no puede cambiar el ID de iniciode sesión del usuario.

128 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 145: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Terminales desatendidosTodos los sistemas son vulnerables si se dejan las sesiones iniciadas o desatendidos los terminales. Losproblemas más graves se producen cuando un gestor del sistema deja un terminal desatendido al que sele ha asignado autorización de usuario root. En general, los usuarios deben finalizar la sesión cada vezque abandonan sus terminales.

Puede hacer que un terminal finalice su sesión transcurrido un período de tiempo de inactividadestableciendo los parámetros TMOUT y TIMEOUT en el archivo /etc/profile . El parámetro TMOUTfunciona en el shell ksh (Korn) y el parámetro TIMEOUT funciona en el shell bsh (Bourne). Para obtenermás información acerca del parámetro TMOUT, consulte el apartado “Sustitución de parámetros en elshell Korn o shell POSIX” en la página 172. Para obtener más información acerca del parámetroTIMEOUT, 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 delterminal transcurrida una hora de inactividad:TO=3600echo "Estableciendo el fin de sesión automático en $TO"TIMEOUT=$TOTMOUT=$TOexport 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.

Propiedad de archivos y grupos de usuarios

En principio, el propietario de un archivo se identifica mediante el ID de usuario de la persona que creó elarchivo. El propietario de un archivo determina quién puede leer, grabar (modificar) o ejecutar el archivo.La propiedad puede cambiarse con el mandato chown .

A cada ID de usuario se le asigna un grupo con un ID de grupo exclusivo. El gestor del sistema crea losgrupos de usuarios cuando define el sistema. Cuando se crea un nuevo archivo, el sistema operativoasigna permisos al ID de usuario que lo creó, al ID de grupo que contiene el propietario del archivo y a ungrupo llamado otros, que consta de los demás usuarios. El mandato id muestra el ID de usuario (UID), elID 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 gruposde usuarios siempre se representan en el orden siguiente: usuario, grupo y otros. Si necesita averiguar elnombre del grupo, el mandato groups muestra todos los grupos correspondientes a un ID de usuario.

Cambio del propietario del archivo o directorio (mandato chown)

Puede cambiar el propietario de los archivos de que dispone utilizando el mandato chown .

Cuando se especifica la opción -R, el mandato chown va descendiendo de forma repetitiva por laestructura de directorios desde el directorio especificado. Si se han encontrado enlaces simbólicos, lapropiedad del archivo o directorio indicada por el enlace cambiará; la propiedad del enlace simbólico nocambia.

Nota: Sólo el usuario root puede cambiar el propietario de otro archivo. No se informa de ningúnerror cuando se especifica la opción -f.

Por ejemplo, para cambiar el propietario del archivo program.c, escriba:chown jim program.c

Capítulo 9. Seguridad de los archivos y del sistema 129

Page 146: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pulse Intro.

Ahora, los permisos de acceso del usuario de program.c se aplican a jim. Como propietario, jim puedeutilizar 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 elpropietario 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 lasintaxis exacta.

Modalidades de acceso a archivos y directorios

Cada archivo tiene un propietario. En el caso de archivos nuevos, el usuario que crea el archivo es elpropietario de dicho archivo. El propietario asigna una modalidad de acceso al archivo. Las modalidadesde acceso otorgan a otros usuarios del sistema permiso para leer, modificar o ejecutar el archivo. Sólo elpropietario del archivo o los usuarios con autorización root pueden cambiar la modalidad de acceso de unarchivo.

Existen tres clases de usuarios: usuario/propietario, grupo y todos los demás. Se otorga acceso a dichosgrupos en alguna combinación de las tres modalidades: lectura, grabación y ejecución. Cuando se creaun archivo nuevo, los permisos por omisión son de lectura, de grabación y de ejecución para el usuarioque ha creado el archivo. Los otros dos grupos tienen permiso de lectura y de grabación. En la tablasiguiente se indican las modalidades de acceso a archivos por omisión de tres conjuntos de grupos deusuarios:

Clases Lectura Grabación Ejecución

Propietario Sí Sí Sí

Grupo Sí No Sí

Otros Sí No Sí

Los archivos pueden leerse (r), grabarse (w) o ejecutarse (x). El sistema determina quién tiene permiso yel nivel de permiso que tienen para cada una de estas actividades. Las modalidades de acceso serepresentan de dos modos en el sistema operativo: simbólicamente y numéricamente.

Representación simbólica de las modalidades de acceso

Las modalidades de acceso se representan de forma simbólica, como se indica a continuación:

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 permisode lectura y de ejecución a los tres grupos, pero sólo otorga el permiso de grabación al propietario. Estaes la representación simbólica del valor por omisión.

130 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 147: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El mandato ls , cuando se utiliza con el distintivo -l (L minúscula), proporciona un listado detallado deldirectorio actual. Los primeros 10 caracteres del listado ls -l muestran el tipo de archivo y los permisos decada uno de los tres grupos. El mandato ls -l también le indica el propietario y el grupo que se asocian acada archivo y directorio.

El primer carácter indica el tipo de archivo. Los nueve caracteres restantes contienen información depermisos de archivos para cada una de las tres clases de usuarios. Se utilizan los siguientes símbolospara representar el tipo de archivo:

- Archivos normalesd Directoriob Archivos de bloques especialesc Archivos de caracteres especialesp Archivos de conducto especialesl Enlaces simbólicoss Sockets.

Por ejemplo, un listado ls -l podría tener el aspecto siguiente:-rwxrwxr-x 2 janet acct 512 Mar 01 13:33 january

Aquí, el primer guión (-) indica que se trata de un archivo normal. Los caracteres 2 a 4, rwx, representanla modalidad de acceso del usuario (lectura, grabación y ejecución ). Los caracteres 5 a 7, rwx, indicanlas modalidades de acceso del grupo (lectura, grabación y ejecución). Los caracteres 8 a 10, r-x, indicanel 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 archivoen bytes, Mar 01 13:33 es la fecha y hora de la última modificación y january es el nombre del archivo. El2 indica cuántos enlaces existen con el archivo.

Representación numérica de las modalidades de acceso

Numéricamente, el acceso de lectura se representa mediante un valor de 4, el permiso de grabaciónmediante un valor de 2 y el permiso de ejecución mediante un valor de 1. El valor total entre 1 y 7representa la modalidad de acceso para cada grupo (usuario, grupo y otros). En la tabla siguiente semuestra cómo determinar los valores numéricos de cada nivel de acceso:

Valor total Lectura Grabación Ejecución

0 - - -

1 - - 1

2 - 2 -

3 - 2 1

4 4 - -

5 4 - 1

6 4 2 -

7 4 2 1

Cuando se crea un archivo, la modalidad de acceso al archivo por omisión es 755. Esto significa que elusuario tiene permisos de lectura, grabación y ejecución (4+2+1=7), el grupo tiene permiso de lectura yde ejecución (4+1=5) y todos los demás tienen permisos de lectura y de ejecución (4+1=5). Lasmodalidades de los permisos de acceso de los archivos de los que es propietario pueden cambiarse conel mandato chmod (cambiar modalidad).

Capítulo 9. Seguridad de los archivos y del sistema 131

Page 148: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Visualización de la información del grupo (mandato lsgroup)

Puede visualizar los atributos de todos los grupos del sistema o de los grupos especificados utilizando elmandato lsgroup . Si uno o más de los atributos no pueden leerse, el mandato lsgroup lista toda lainformación posible. La información de los atributos se visualiza en forma de definiciones Atributo=Valor,separadas por un espacio en blanco.

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 lasiguiente:system 0 arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,build,janice,denisestaff 1 john,ryan,flynn,daveb,jzitt,glover,maple,kengordon,mbradybin 2 root,binsys 3 root,su,bin,sys

Para que se visualicen atributos específicos de todos los grupos, puede utilizar uno de los dos estilos delistado 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 enblanco. Este es el estilo por omisión. Por ejemplo, para que se listen el ID y los usuarios de todos losgrupos del sistema, escriba:lsgroup -a id users ALL | pg

Pulse Intro.

Aparece una lista parecida a la siguiente:system id=0users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,buildstaff id=1 users=john,ryan,flynn,daveb,jzitt,glover,maple,ken

v También puede hacer que la información se liste en líneas organizadas, es decir, en formato stanza.Por ejemplo, para que se liste el ID y los usuarios de todos los grupos del sistema en líneasorganizadas (formato stanza), escriba:lsgroup -a -f id users ALL | pg

Pulse Intro.

Aparece una lista parecida a la siguiente:system:

id=0users=pubs,ctw,geo,root,chucka,noer,su,dea,backup,build

staff:id=1users=john,ryan,flynn,daveb,jzitt,glover,maple,ken

bin:id=2users=root,bin

sys:id=3users=root,su,bin,sys

132 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 149: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para que se visualicen todos los atributos de un grupo específico, puede utilizar uno de los dos estilos delistado de atributos específicos para todos los grupos:

v Puede hacer que cada atributo se liste en el formato Atributo=Valor, separados por un espacio enblanco. Este es el estilo por omisión. Por ejemplo, para que se listen todos los atributos del grupo″system″, escriba:lsgroup system

Pulse Intro.

Aparece una lista parecida a la siguiente:system id=0 users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,build,janice,denise

v También puede listar la información en formato stanza. Por ejemplo, para que se listen todos losatributos del grupo bin en líneas organizadas, esto es, en formato stanza, escriba:lsgroup -f system

Pulse Intro.

Aparece una lista parecida a la siguiente:system:

id=0users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,

backup,build,janice,denise

Para que se listen atributos específicos de un grupo específico, escriba:lsgroup -a Atributos Grupo

Pulse Intro.

Por ejemplo, para que se listen el ID y los usuarios del grupo bin, escriba:lsgroup -a id users bin

Pulse Intro.

Aparece una lista parecida a la siguiente:bin id=2 users=root,bin

Consulte el mandato lsgroup en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Cambio de los permisos de los archivos o directorios (mandatochmod)

Puede modificar los permisos de lectura, grabación y ejecución de los archivos especificados y modificarlos códigos del permiso de búsqueda de los directorios especificados utilizando el mandato chmod .

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:

Capítulo 9. Seguridad de los archivos y del sistema 133

Page 150: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

chmod go-w+x mydir

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) enun nombre de vía de acceso. Esto es equivalente a la secuencia de mandatos:chmod g-w mydirchmod o-w mydirchmod g+x mydirchmod o+x mydir

Por ejemplo, para que sólo el propietario tenga permiso para utilizar un procedimiento de shelldenominado 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 lospermisos 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ólolectura para el grupo y para los demás.

Consulte el mandato chmod en la publicación AIX 5L Version 5.1 Commands Reference para obtenermás información y para conocer la sintaxis exacta.

Listas de controles de acceso

El control del acceso se compone de recursos de información protegidos que especifican a quién seconcede acceso a dichos recursos. El sistema operativo proporciona una seguridad discrecional y deconocimiento necesario. El propietario de un recurso de información puede otorgar a otros usuariosderechos de lectura o de grabación para dicho recurso. Un usuario al que se le conceden derechos deacceso sobre un recurso puede transferir dichos derechos a otros usuarios. Esta seguridad permite unflujo de información controlada por el usuario en el sistema; el propietario de un recurso de informacióndefine los permisos de acceso sobre el objeto.

Los usuarios tienen acceso basado en usuario únicamente a los objetos que poseen. Normalmente, losusuarios reciben los permisos de grupo o los permisos por omisión sobre un recurso. La tarea principal dela administración del control de accesos es la definición de la calidad de miembro de un grupo deusuarios, ya que ello determinará los derechos de acceso de los usuarios a los archivos de los que noson 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 aindividuos y grupos. Con los “Permisos ampliados” en la página 135, puede permitir o denegar el acceso aindividuos o grupos específicos sin tener que cambiar los permisos base.

134 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 151: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Nota: La lista de controles de acceso de un archivo no puede exceder el tamaño de una página dememoria (4096 bytes aproximadamente).

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 ypermisos base, la subrutina chmod , a la que el mandato llama, inhabilita los permisos ampliados. Siutiliza la modalidad numérica del mandato chmod en un archivo que disponga de una ACL, los permisosampliados se inhabilitarán. La modalidad simbólica del mandato chmod no inhabilita los permisosampliados. Para obtener información acerca de las modalidades numérica y simbólica, consulte elmandato chmod .

Permisos base

Los permisos base son las modalidades de acceso de archivo tradicionales asignadas al propietario delarchivo, 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ámetroModalidad se expresa como rwx (con un guión (-) que sustituye a cada permiso no especificado):base permissions:

owner(name): Modalidadgroup(group): Modalidadothers: Modalidad

AtributosA una lista de controles de acceso pueden añadirse tres atributos: setuid (SUID), setgid (SGID) ysavetext (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 adicho 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:

permit Otorga al usuario o grupo el acceso especificado al archivo.deny Limita la capacidad del usuario o del grupo de utilizar el acceso especificado al archivo.specify Define con exactitud el acceso del archivo para el usuario o el grupo.

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 lospermisos ampliados entren en vigor. El valor por omisión es la palabra clave disabled .

En una ACL, los permisos ampliados están en el siguiente formato:extended permissions:enabled | disabledpermit Mode UserInfo...:deny Mode UserInfo...:specify Mode UserInfo...:

Capítulo 9. Seguridad de los archivos y del sistema 135

Page 152: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Utilice una línea por separado para cada entrada permit , deny o specify . El parámetro Mode se expresacomo rwx (con un guión (-) que sustituye a cada permiso no especificado). El parámetro UserInfo seexpresa como u:UserName o g:GroupName o como una combinación de u:UserName y g:GroupNameseparados por comas.

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.

Ejemplo de Lista de control de accesos

A continuación se muestra un ejemplo de una ACL:attributes: SUIDbase permissions:

owner(frank): rw-group(system): r-xothers: ---

extended permissions:enabledpermit rw- u:dhsdeny r-- u:chas, g:systemspecify r-- u:john, g:gateway, g:mailpermit rw- g:account, g:finance

A continuación se muestran las partes de la ACL y sus significados:

v La primera línea indica que el bit setuid está activado.

v La siguiente línea, que introduce los permisos base, es opcional.

v Las tres líneas siguientes especifican los permisos base. El nombre del propietario y del grupoaparecen entre paréntesis a título informativo solamente. Cambiar dichos nombres no altera elpropietario del archivo ni el grupo de archivos. Sólo el mandato chown y el mandato chgrp puedencambiar estos atributos de archivo.

v La línea siguiente, que introduce los permisos ampliados, es opcional.

v La línea siguiente especifica que los permisos ampliados que siguen están habilitados.

v Las últimas cuatro líneas son las entradas ampliadas. La primera entrada ampliada otorga al usuariodhs permiso de lectura (r) y de grabación (w) para el archivo.

v La segunda entrada ampliada deniega el acceso de lectura (r) al usuario chas cuando éste es miembrodel grupo system.

v La tercera entrada ampliada especifica que mientras el usuario john sea miembro de los gruposgateway y mail, de ambos grupos, éste sólo podrá disponer de acceso de lectura (r). Si el usuario johnno es miembro de los dos grupos indicados, este permiso ampliado no tendrá aplicación.

v La última entrada ampliada otorga a cualquier usuario de los grupos account y finance, de ambosgrupos, permiso de lectura (r) y de grabación (r).

Nota: A un proceso puede aplicarse más de una entrada ampliada, donde las modalidadesrestrictivas tienen prioridad respecto a las modalidades permisivas.

Consulte el mandato acledit en la publicación AIX 5L Version 5.1 Commands Reference para conocerla sintaxis exacta.

Autorización de accesoLa gestión de los derechos de acceso es responsabilidad del propietario del recurso de información. Losrecursos están protegidos por bits de permiso, que se incluyen en la modalidad del objeto. Los bits depermiso definen los permisos de acceso otorgados al propietario del objeto, al grupo del objeto y a laclase por omisión de los demás usuarios. El sistema operativo da soporte a tres modalidades distintas deacceso (lectura, grabación y ejecución), que pueden otorgarse por separado.

136 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 153: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cuando un usuario inicia la sesión en una cuenta (utilizando los mandatos login o su ), los ID de usuarioy los ID de grupo asignados a esa cuenta se asocian a los procesos del usuario. Estos ID determinan losderechos de acceso del proceso.

Con relación a los archivos, directorios, conductos con nombre, colas de mensajes, segmentos dememoria compartida, semáforos y dispositivos (archivos especiales), el acceso se autoriza como se indicaa continuación:

v Para cada entrada de control de acceso (ACE) de la lista de controles de acceso (ACL), la lista deidentificador se compara con los identificadores del proceso. Si existe una coincidencia, el procesorecibe los permisos y restricciones definidos para dicha entrada. Se calculan las uniones lógicas tantopara permisos como para restricciones para cada entrada de la ACL coincidente. Si el procesosolicitante no coincide con ninguna de las entradas de la ACL, éste recibe los permisos y restriccionesde la entrada por omisión.

v Si la modalidad de acceso solicitada está permitida (está incluida en la unión de los permisos) y noestá restringida (está incluida en la unión de las restricciones), el acceso se otorga; de lo contrario, sedeniega.

Un proceso con un ID de usuario de 0 se conoce como un proceso de usuario root. Por lo general, aestos procesos se les otorgan todos los permisos de acceso. Pero si un proceso de usuario root solicitapermiso de ejecución para un programa, el acceso sólo se concede si se ha otorgado permiso deejecución a, como mínimo, un usuario.

La lista de identificadores de una ACL coincide con un proceso si todos los identificadores de la listacoinciden con el tipo correspondiente de identificador en vigor para el proceso solicitante. Un identificadorde tipo USER coincidente equivale al ID de usuario en vigor del proceso y un identificador de tipo GROUPes coincidente si es igual al ID de grupo en vigor del proceso o de uno de los ID de grupocomplementario. 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 gruposque 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 degrupos que fuera:philosophers, iconoclasts, redsox_fans, poor_sports

Tenga en cuenta que una ACE con una lista de identificadores compuesta de los elementos siguientescoincidiría para ambos procesos:USER:fred, GROUP:philosophers

En otras palabras, la lista de identificadores de las funciones de la ACE es un conjunto de condicionesque debe contener el acceso especificado que ha de otorgarse.

Todos los permisos de acceso comprueban si estos objetos se crean a nivel de llamada del sistema laprimera vez que se accede al objeto. Puesto que se accede a los objetos SVIPC sin parentesco, seefectú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 eldirectorio de trabajo del proceso) o absolutamente (en el directorio raíz del proceso). La resolución de losnombres 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 deinformación y proporciona una protección independiente de la confidencialidad y de la integridad de la

Capítulo 9. Seguridad de los archivos y del sistema 137

Page 154: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

información. Los mecanismos de control de acceso controlador por el propietario sólo son tan efectivoscomo el usuario los diseñe. Todos los usuarios deben entender cómo se otorgan y se deniegan lospermisos de acceso y cómo se establecen.

Visualización de la información de control de accesos (mandatoaclget)

La información de control de accesos de un archivo puede visualizarse con el mandato aclget . Lainformación que se visualiza incluye atributos, permisos base y permisos ampliados.

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 ypermisos 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 paraeditarla 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 lasintaxis exacta.

Establecimiento de la información de control de accesos (mandatoaclput)

La información de control de accesos de un archivo puede establecerse con el mandato aclput .

Nota: La lista de control de accesos de un archivo no puede exceder el tamaño de una página dememoria (4096 bytes aproximadamente).

Por ejemplo, para establecer la información de control de acceso para el archivo status con lainformació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 mismainformació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 lasintaxis exacta.

138 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 155: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Edición de la información de control de accesos (mandato acledit)

La información de control de accesos de un archivo puede cambiarse con el mandato acledit . El mandatomuestra la información de control de acceso actual y permite al propietario del archivo modificarlo. Antesde que los cambios sean permanentes, el mandato le pregunta si desea continuar.

Nota: La variable de entorno EDITOR debe especificarse con un nombre de vía de accesocompleto; 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 ypermisos 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 lasintaxis exacta.

Bloqueo del terminal (mandato lock o xlock)

Puede bloquear el terminal con el mandato lock . El mandato lock solicita una contraseña al usuario, lalee y vuelve a solicitar la contraseña por segunda vez para verificarla. En el intervalo, el mandato bloqueael terminal y no se desbloquea hasta que se recibe la contraseña por segunda vez. El valor por omisióndel tiempo de espera es de 15 minutos, pero puede cambiarse con el distintivo -Número.

Nota: Si la interfaz que utiliza es AIXwindows, utilice el mandato xlock de la misma forma.

Por ejemplo, para bloquear el terminal con control de contraseña, escriba:lock

Pulse Intro.

Se le pedirá la contraseña dos veces de forma que el sistema puede comprobarla. Si la contraseña novuelve 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 esperade 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 Referencepara conocer la sintaxis exacta.

Resumen de mandatos para la seguridad de los archivos y del sistema

acledit Edita la información de controles de acceso de un archivo.aclget Muestra la información de controles de acceso de un archivo.aclput Establece la información de controles de acceso de un archivo.chmod Cambia las modalidades de permisos.chown Cambia el usuario asociado con un archivo.

Capítulo 9. Seguridad de los archivos y del sistema 139

Page 156: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

lock Reserva un terminal.lsgroup Muestra los atributos de grupos.xlock Bloquea la pantalla X local hasta que se escribe una contraseña.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 8. Archivos de seguridad y medios de almacenamiento” en la página 111

140 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 157: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 10. Personalización del entorno del usuario

El sistema operativo proporciona varios mandatos y archivos de inicialización que le permiten personalizarel comportamiento y el aspecto del entorno del usuario según sus preferencias.

Algunos de los recursos por omisión de las aplicaciones que el usuario utiliza en el sistema tambiénpueden personalizarse. El programa inicia los valores por omisión en el arranque. Cuando modifique losvalores 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 Guideproporciona información detallada acerca de la personalización del comportamiento y del aspecto delcomponente Common Desktop Environment.

En este apartado se explica lo siguiente:

v “Visión general de los archivos de arranque del sistema” en la página 142

– “Archivo /etc/profile” en la página 142

– “Archivo /etc/environment” en la página 143

– “Archivo .profile” en la página 143

– “Archivo .env” en la página 144

v “Visión general de los archivos de arranque de AIXwindows” en la página 144

– “Archivo .xinitrc” en la página 145

– “Archivo .Xdefaults” en la página 146

– “Archivo .mwmrc” en la página 147

v “Procedimientos de personalización” en la página 149

– “Exportación de variables de shell (mandato de shell export)” en la página 149

– “Cambio del font de la pantalla (mandato chfont)” en la página 150

– “Cambio de las teclas de control (mandato stty)” en la página 151

– “Cambio del indicador del sistema” en la página 151

v “Personalización del programa de ventanas InfoExplorer” en la página 152

v “Resumen de la personalización del entorno de usuario” en la página 156

Información relacionada“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Visión general de los archivos de arranque del sistema” en la página 142

“Procedimientos de personalización” en la página 149

© Copyright IBM Corp. 1997, 2001 141

Page 158: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Personalización del programa ASCII InfoExplorer” en la página 278

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Visión general de los archivos de arranque del sistema

Al iniciar la sesión, el shell define el entorno de usuario leyendo los archivos de inicialización que elusuario ha definido. Las características del entorno del usuario se definen utilizando los valoresproporcionados a las variables de entorno. El usuario conserva este entorno hasta que finaliza la sesióndel sistema.

El shell utiliza dos tipos de archivos de perfil cuando se inicia la sesión en el sistema operativo. Evalúa losmandatos incluidos en los archivos y a continuación ejecuta los mandatos para definir el entorno delsistema. Los archivos tienen funciones similares, con la excepción de que el archivo /etc/profile controlalas variables de los perfiles para todos los usuarios del sistema, donde el archivo .profile le permitepersonalizar su propio entorno.

El shell primero evalúa los mandatos que contiene el archivo /etc/profile y, a continuación, ejecuta losmandatos para configurar el entorno del sistema en el archivo /etc/environment . Tras la ejecución detales archivos, el sistema comprueba si se dispone de un archivo .profile en el directorio inicial. Si elarchivo .profile existe, ejecuta dicho archivo. El archivo .profile especificará si también existe un archivode entorno. Si existe un archivo de entorno (normalmente llamado .env ), el sistema ejecutará este archivoy definirá las variables de entorno.

Los archivos /etc/profile , /etc/environment y .profile se ejecutan una vez durante el inicio de sesión. Elarchivo .env , por su parte, se ejecuta cada vez que abre un nuevo shell o ventana.

Este apartado trata acerca de los siguientes archivos de inicialización:

v “Archivo /etc/profile”

v “Archivo /etc/environment” en la página 143

v “Archivo .profile” en la página 143

v “Archivo .env” en la página 144

Archivo /etc/profile

El primer archivo que el sistema operativo utiliza durante el inicio de sesión es el archivo /etc/profile . Estearchivo 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 eladministrador del sistema puede modificar este archivo.

El siguiente ejemplo es un archivo /etc/profile típico:

142 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 159: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

#Establecer archivo de creación de máscarasunmask 022#Avisarme cuando llegue correo nuevoMAIL=/usr/mail/$LOGNAME#Añadir mi directorio /bin a la secuencia de búsqueda del shellPATH=/usr/bin:/usr/sbin:/etc::#Establecer tipo de terminalTERM=lft#Establecer algunas variables de entorno como globalesexport MAIL PATH TERM

Consulte el apartado .profile File Format en la publicación AIX 5L Version 5.1 Files Reference paraobtener 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 detodos los procesos. Cuando se inicia un nuevo proceso, la subrutina exec pone a disposición una matrizde series que tienen el formato Nombre=Valor. Esta matriz de series recibe el nombre de entorno. Cadanombre definido por una de las series recibe el nombre de variable de entorno o variable de shell. Lasubrutina 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 environmentantes 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. Elprograma 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 obtenerinformació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 . Elarchivo .profile se encuentra en el directorio inicial ($HOME) y le permite personalizar su entorno detrabajo individual. Puesto que el archivo .profile está oculto, utilice el mandato ls -a para podervisualizarlo en una lista.

Después de que el programa login haya añadido las variables LOGNAME (nombre de inicio de sesión) yHOME (directorio de inicio de sesión) al entorno, se ejecutan los mandatos del archivo $HOME/.profile , siexiste el archivo. El archivo .profile contiene el perfil individual que altera temporalmente las variables quese han establecido en el archivo /etc/profile . Con frecuencia, el archivo .profile se utiliza para establecervariables de entorno exportadas y modalidades de terminal. Puede personalizar el entorno como deseemodificando 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

Capítulo 10. Personalización del entorno del usuario 143

Page 160: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

En el ejemplo siguiente se muestra un archivo .profile típico:PATH=/usr/bin:/etc:/home/bin1:/usr/lpp/tps4.0/user::epath=/home/gsc/e3:export PATH epathcsh

Este ejemplo ha definido dos variables de vía de acceso (PATH y epath), las ha exportado y ha abierto unshell C (csh).

También puede utilizar el archivo .profile (o, si no existe, el archivo /etc/profile ) para determinar variablesde shell de inicio de sesión. También puede personalizar otros entornos de shell. Por ejemplo, utilice elarchivo .cshrc y el archivo .kshrc para personalizar un shell C y un shell Korn, respectivamente, cuandose 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 elarchivo .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 elarchivo .env está oculto, utilice el mandato ls -a para que se visualice en una lista. El archivo .envcontiene las variables de entorno de usuario individuales que alteran temporalmente las variables que sehan establecido en el archivo /etc/environment . Puede personalizar las variables de entorno como deseemodificando 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="#?"

fiexport PS1 PS2 PS3#definir mis alias de mandatosalias 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 creadasno entran en conflicto con las variables estándares como MAIL , PS1, PS2 y IFS.

Visión general de los archivos de arranque de AIXwindowsPuesto que los distintos sistemas tienen métodos distintos de arrancar el servidor X y AIXwindows, debeconsultar con el administrador del sistema para saber cómo comenzar. Normalmente, el servidor X yAIXwindows se inician desde un script de shell que sed ejecuta automáticamente al iniciar la sesión. Siembargo, puede que necesite iniciar el servidor X o AIXwindows, o ambos.

Si inicia la sesión y observa que la pantalla funciona como un terminal únicamente, sin que se visualiceninguna ventana, puede iniciar X escribiendo lo siguiente:xinit

Pulse Intro.

144 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 161: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Si este mandato no inicia X, consulte con el administrador del sistema para asegurarse de que eldirectorio X11 que incluye los programas ejecutables está en la vía de acceso de búsqueda. La vía deacceso adecuada podría variar de un sistema a otro.

Si inicia la sesión y observa que aparecen una o más ventanas sin marcos, puede iniciar AIXwindowsWindow Manager escribiendo lo siguiente:mwm &

Pulse Intro.

Nota: Antes de escribir este mandato, asegúrese de que el puntero se encuentre dentro de unaventana que tenga un indicador de mandatos del sistema.

Puesto que AIXwindows permite que los programadores que escriben aplicaciones de AIXwindows y losusuarios realicen personalizaciones, puede que los botones del ratón u otras funciones no funcionencomo espera que lo hagan tras haber leído esta documentación. Puede restablecer el entorno deAIXwindows en su comportamiento por omisión pulsando y manteniendo pulsadas las cuatro teclassiguientes:

Alt-Control-Despl-!

Puede volver al comportamiento personalizado pulsando de nuevo esta secuencia de teclas. Si el sistemano permite esta combinación de teclas, también puede restaurar el comportamiento por omisión desde elmenú raíz por omisión.

Este apartado trata acerca de los siguientes archivos de inicialización:

v “Archivo .xinitrc”

v “Archivo .Xdefaults” en la página 146

v “Archivo .mwmrc” en la página 147

Archivo .xinitrc

El mandato xinit utiliza un archivo de script de shell personalizable que contiene los programas cliente deX que han de iniciarse. El archivo .xinitrc que se encuentra en el directorio inicial controla las ventanas ylas aplicaciones que se inician cuando se inicia AIXwindows.

En primer lugar, el mandato xinit busca la variable de entorno $XINITRC para iniciar AIXwindows. Si nose encuentra la variable de entorno $XINITRC, busca el script de shell $HOME/.xinitrc . Si no seencuentra 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 WindowManager), aixterm y xclock .

El mandato xinit realiza las operaciones siguientes:

v Inicia un Servidor X en la pantalla actual

v Establece la variable de entorno $DISPLAY

v Ejecuta el archivo xinitrc para iniciar programas cliente de X

v Carga automáticamente la extensión Display PostScript (DPS)

Nota: Para impedir que se cargue automáticamente DPS, se debe modificar el archivo/usr/lpp/X11/xinit .

Capítulo 10. Personalización del entorno del usuario 145

Page 162: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El ejemplo siguiente muestra la parte del archivo xinitrc que puede personalizar:# /usr/lpp/X11/bin/xinit llama a este script.

.

.

.#***************************************************************# 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 DPSif [ -z "$XSTATION" ]then/usr/lpp/DPS/bin/copyright -x &

fiaixterm =80x25+0-0 -fg Wheat -bg MidnightBlue &if [ -z "$XSTATION" ]thensleep 3 # permitir que se muestre copyright DPS

fiif [ -x /usr/lpp/X11/bin/xdt3 ]then/usr/lpp/X11/bin/xdt3 &

fiexec 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 yfonts.

La mayor parte de los factores relacionados con el aspecto y el comportamiento de una aplicación basadaen ventanas se controlan por medio de variables denominadas recursos. El aspecto visual o decomportamiento de un recurso está determinado por su valor asignado. Existen distintos tipos de valorespara los recursos. Por ejemplo, a los recursos que controlan el color pueden asignarse valores comoDarkSlateBlue o Black.A los recursos que especifican dimensiones se asignan valores numéricos. Algunosrecursos toman valores booleanos (True o False).

Si no dispone de un archivo .Xdefaults en el directorio inicial, puede crear uno con cualquier editor detexto. Una vez que tenga este archivo en el directorio inicial, puede definir valores de recurso en el mismotal como desee. Existe un archivo por omisión de ejemplo denominado Xdefaults.tmpl en el directorio/usr/lpp/X11/defaults .

En el ejemplo siguiente se muestra una parte de un archivo .Xdefaults típico:*AutoRaise: on*DeIconifyWarp: on*warp:on*TitleFont:andysans12*scrollBar: true*font: Rom10.500Mwm*menu*foreground: blackMwm*menu*background: CornflowerBlueMwm*menu*RootMenu*foreground: blackMwm*menu*RootMenu*background: CornflowerBlueMwm*icon*foreground: grey25Mwm*icon*background: LightGrayMwm*foreground: blackMwm*background: LightSkyBlue

146 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 163: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mwm*bottomShadowColor: Blue1Mwm*topShadowColor: CornflowerBlueMwm*activeForeground: whiteMwm*activeBackground: Blue1Mwm*activeBottomShadowColor: blackMwm*activeTopShadowColor: LightSkyBlueMwm*border: blackMwm*highlight:white

aixterm.foreground: greenaixterm.background: blackaixterm.fullcursor: trueaixterm.ScrollKey: onaixterm.autoRaise: trueaixterm.autoRaiseDelay: 2aixterm.boldFont:Rom10.500aixterm.geometry: 80x25aixterm.iconFont: Rom8.500aixterm.iconStartup: falseaixterm.jumpScroll: trueaixterm.reverseWrap: trueaixterm.saveLines: 500aixterm.scrollInput: trueaixterm.scrollKey: falseaixterm.title: AIX

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 losmenús del gestor de ventanas se especifican en el archivo .mwmrc complementario, al que los recursoshacen 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 elsistema, las especificaciones de las que haga uso no interferirán con las especificaciones de los otrosusuarios.

En el ejemplo siguiente se muestra una parte del archivo system.mwmrc típico:# ARCHIVO DE DESCRIPCIÓN DE RECURSOS mwm(system.mwmrc)## descripciones de paneles de menú## Descripción del menú raíz

Menu RootMenu{ "Root Menu" f.titleno-label f.separator"New Window" f.exec "aixterm &""Shuffle Up" f.circle_up"Shuffle Down" f.circle_down"Refresh" f.refreshno-label f.separator"Restart" f.restart"Quit" f.quit_mwm

}

# Descripción de Menú de Ventanas Por Omisión

Menu DefaultWindowMenu MwmWindowMenu{ "Restore" _R Alt<Key>F5 f.normalize"Move" _M Alt<Key>F7 f.move

Capítulo 10. Personalización del entorno del usuario 147

Page 164: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

"Size" _S Alt<Key>F8 f.resize"Minimize" _n Alt<Key>F9 f.minimize"Maximize" _x Alt<Key>F10 f.maximize"Lower" _L Alt<Key>F3 f.lowerno-label f.separator"Close" _C Alt<Key>F4 f.kill

}

# sin menú de ventanas aceleradorasMenu NoAccWindowMenu{"Restore" _R f.normalize"Move" _M f.move"Size" _S f.resize"Minimize" _n f.minimize"Maximize" _x f.maximize"Lower" _L f.lowerno-label f.separator"Close" _C f.kill

}

Keys DefaultKeyBindings{Shift<Key>Escape icon|window f.post_wmenuMeta<Key>space icon|window f.post_wmenuMeta<Key>Tab root|icon|window f.next_keyMeta Shift<Key>Tab root|icon|window f.prev_keyMeta<Key>Escape root|icon|window f.next_keyMeta Shift<Key>Escape root|icon|window f.prev_keyMeta Ctrl Shift<Key>exclam root|icon|window f.set_behavior

}

## descripciones de enlaces de botones#

Buttons DefaultButtonBindings{<Btn1Down> frame|icon f.raise<Btn3Down> frame|icon f.post_wmenu<Btn1Down> root f.menu RootMenu<Btn3Down> root f.menu RootMenuMeta<Btn1Down> icon|window f.lowerMeta<Btn2Down> window|icon f.resizeMeta<Btn3Down> window f.move

}

Buttons PointerButtonBindings{<Btn1Down> frame|icon f.raise<Btn2Down> frame|icon f.post_wmenu<Btn3Down> frame|icon f.lower<Btn1Down> root f.menu RootMenuMeta<Btn2Down> window|icon f.resizeMeta<Btn3Down> window|icon f.move

}

## FIN DE ARCHIVO DE DESCRIPCIÓN DE RECURSOS mwm#

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

148 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 165: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Procedimientos de personalización”

“Personalización del programa ASCII InfoExplorer” en la página 278

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Procedimientos de personalización

Existen muchos modos de personalizar el entorno del sistema. Este apartado trata acerca de lossiguientes 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

Exportación de variables de shell (mandato de shell export)

Una variable de shell local es una variable que sólo puede reconocer el shell que la ha creado. Si iniciaun nuevo shell, dicho shell no conoce las variables del shell antiguo. Si desea que los nuevos shells queabra reconozcan las variables de un shell antiguo, será necesario convertirlas en variables globalesexportándolas.

Para convertirlas en variables globales, puede utilizar el mandato export . Para que las variables del shellsean globales automáticamente, expórtelas en el archivo .profile .

Nota: Las variables pueden exportarse a los shells hijo, pero no pueden exportarse a los shellspadre.

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.

El sistema visualizará información parecida a la siguiente:

Capítulo 10. Personalización del entorno del usuario 149

Page 166: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

DISPLAY=unix:0EDITOR=viENV=$HOME/.envHISTFILE=/u/carlos/.historyHISTSIZE=500HOME=/u/carlosLANG=En_USLOGNAME=carlosMAIL=/usr/mail/carlosMAILCHECK=0MAILMSG=**TIENE NUEVO CORREO. UTILICE EL MANDATO mail PARA VER LA MAILPATH=/usr/mail/carlos?carlos tiene correoMAILRECORD=/u/carlos/.OutmailPATH=/usr/ucb:/usr/lpp/X11/bin:/bin:/usr/bin:/etc:/u/carlos:/u/carlos/bin:/u/bin1PWD=/u/carlosSHELL=/bin/ksh

Cambio del font de la pantalla (mandato chfont)

Puede cambiar el font por omisión durante el arranque del sistema con el mandato chfont o smit . Unapaleta de fonts es un archivo que el sistema utiliza para definir e identificar los fonts de que dispone.

Nota: Para poder ejecutar el mandato chfont debe tener autorización de usuario root.

Mandato chfontPor ejemplo, para cambiar el font activo por el quinto font de la paleta de colores, escriba:chfont -a5

Pulse Intro.

El ID de font 5 pasa a ser el font primario.

Por ejemplo, para cambiar el font por un tipo de letra en cursiva, roman y en negrita utilizando el mismotamañ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ásinformación y conocer la sintaxis exacta. Consulte también el apartado “Listado de los fonts disponibles(mandato lsfont)” en la página 15

Mandato smitEl mandato chfont también puede ejecutarse utilizando smit.

Para seleccionar el font activo, escriba:smit chfont

Pulse Intro.

Para seleccionar la paleta de fonts, escriba:smit chfontpl

Pulse Intro.

150 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 167: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cambio de las teclas de control (mandato stty)

Puede cambiar las teclas que el terminal utiliza para las teclas de control con el mandato stty . Loscambios que realice en las teclas de control seguirán aplicándose hasta que finalice la sesión. Para quelos cambios sean permanentes, colóquelos en el archivo .profile .

Por ejemplo, para asignar Control-Z como tecla de interrupción, escriba:stty intr |Z

Pulse Intro.

Por ejemplo, para restablecer todas las teclas de control en sus valores por omisión, escriba:stty sane

Pulse Intro.

Por ejemplo, para que se visualicen los valores actuales, escriba:stty -a

Pulse Intro.

Consulte el mandato stty en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Cambio del indicador del sistema

El shell utiliza tres variables de indicador:

PS1 Indicador utilizado como indicador normal del sistema.PS2 Indicador utilizado cuando el shell espera más entrada.PS3 Indicador utilizado cuando el usuario tiene autorización root.

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

El sistema visualizará información parecida a la siguiente:prompt is $

Por ejemplo, para cambiar el indicador por Ready> , escriba:PS1="Ready> "

Pulse Intro.

Por ejemplo, para cambiar el indicador de continuación por Enter more-> , escriba:PS2="Enter more->"

Pulse Intro.

Capítulo 10. Personalización del entorno del usuario 151

Page 168: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para cambiar el indicador de root por Root-> , escriba:PS3="Root-> "

Pulse Intro.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Visión general de los archivos de arranque del sistema” en la página 142

“Personalización del programa ASCII InfoExplorer” en la página 278

“Personalización del programa de ventanas InfoExplorer”

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Personalización del programa de ventanas InfoExplorer

Puede personalizar el programa InfoExplorer definiendo valores por omisión y preferencias. Por ejemplo,puede especificar qué bases de información e impresora deben utilizarse por omisión. También puedeespecificar el número de sucesos históricos a seguir y el tipo de salida de impresión, entre otros aspectos.

La diferencia principal entre valores por omisión y preferencias es que el programa InfoExplorer inicia losvalores por omisión en el arranque. Cuando defina los valores por omisión, deberá salir y volver a iniciarel 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.

Los siguientes apartados describen cómo personalizar la interfaz de ventanas de InfoExplorer:

v “Cambio de los valores por omisión de la interfaz de ventanas de InfoExplorer” en la página 153

v “Cambio de las preferencias de la interfaz de ventanas de InfoExplorer” en la página 154

152 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 169: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cambio de los valores por omisión de la interfaz de ventanas deInfoExplorerEn InfoExplorer, puede definir muchos valores por omisión. El programa InfoExplorer utiliza los valores poromisión durante el arranque. Utilice la opción Valores por omisión del menú desplegable Opciones paraestablecer los valores por omisión para lo siguiente:

v “Cambio del tamaño de la ventana por omisión”

v “Designación de un artículo de navegación por omisión”

v “Designación de archivos por omisión”

v “Designación de un archivo de plantilla de notas por omisión”

v “Cambio de la base de información de búsqueda por omisión” en la página 154

v “Designación de impresoras por omisión” en la página 154

Cambio del tamaño de la ventana por omisiónCuando inicie el programa InfoExplorer, el tamaño de la ventana estará determinado por el valor poromisión del sistema. Puede personalizar el tamaño de ventana por omisión a su gusto. Específicamente,puede establecer el tamaño de la ventana por omisión de las ventanas de navegación y de lecturautilizando la opción Tamaño de ventana del menú desplegable Opciones. El nuevo valor por omisióndeterminará el tamaño de la ventana para sesiones de InfoExplorer actuales y futuras.

Para obtener información acerca de procedimientos, consulte el apartado Establecer el tamaño de laventana con el programa InfoExplorer (Ayuda de InfoExplorer). Para obtener información acerca de cómocambiar el tamaño de la ventana utilizando el archivo .Xdefaults, consulte el apartado Establecer eltamaño de la ventana con recursos X (Ayuda de InfoExplorer).

Designación de un artículo de navegación por omisión

Por omisión, el programa InfoExplorer muestra inicialmente el Índice de temas y tareas como artículo denavegación primario. Puede cambiar este valor por omisión al artículo de navegación que se adapte mejora sus objetivos. A continuación, en el arranque, el programa InfoExplorer muestra automáticamente elnuevo artículo de navegación por omisión.

Para obtener información acerca de procedimientos, consulte el apartado Establecer valores poromisión (ventana de InfoExplorer).

Designación de archivos por omisión

Puede que desee disponer de una guía para seguir una vía específica mientras utiliza el programaInfoExplorer o puede que desee volver a rastrear la vía de una sesión anterior. Para gestionar esteaspecto, puede designar un archivo histórico específico por omisión. De este modo, cuando utilice laopción Histórico , el archivo histórico por omisión o la guía le guiarán a la vía designada.

También puede designar un archivo de señales o un archivo de notas como archivo de señales o denotas 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).

Designación de un archivo de plantilla de notas por omisión

Cuando cree una nota en el editor de notas de InfoExplorer, la ventana del editor de notas estaráinicialmente en blanco. Puede escribir la nota en la ventana en blanco o pegar texto seleccionado de laventana de lectura. Para utilizar un formato concreto para escribir notas, puede especificar una plantilla denotas. Si ha creado y guardado muchas plantillas de notas, puede designar una de ellas como valor poromisión. A continuación, cuando utilice la opción Nota , el programa InfoExplorer mostrará la plantilla denotas por omisión.

Capítulo 10. Personalización del entorno del usuario 153

Page 170: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por omisión(Ayuda de InfoExplorer).

Cambio de la base de información de búsqueda por omisión

Por omisión, cuando efectúe búsquedas con el programa InfoExplorer, la búsqueda incluirá todas lasbases de información cargadas con el programa. No obstante, no siempre es necesario incluir todas lasbases de información en la búsqueda. Para que sus búsquedas sean más eficaces, puede especificar enqué bases de información debe buscarse durante sesiones actuales y futuras. También puede restablecerla selección a su formato original (valor por omisión del sistema) de forma que se incluyan las bases deinformación cargadas con el programa en la búsqueda.

Para obtener información acerca de procedimientos, consulte el apartado Establecer valores por omisión(Ayuda de InfoExplorer).

Designación de impresoras por omisión

Puede que disponga de impresoras capaces de ofrecer una impresión de imágenes o de trabajos de altacalidad. La opción Impresión de alta calidad utiliza el programa troff para convertir un documento ensalida para fotocomposición. Con el programa InfoExplorer, puede designar una impresora por omisiónpara cada uno de los distintos tipos de impresión: simple (impresión de texto), alta calidad (impresión máselaborada, conservando las características de font de texto y estilo) o imagen. Cuando emite un mandatode impresión para una pantalla que contiene uno de los tipos de impresión indicados o una imagen, laimpresora que ha designado recibe automáticamente ese mandato en particular.

Por ejemplo, cuando seleccione la opción Imprimir gráfico del menú desplegable de información, eltrabajo 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 parapoder 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).

Cambio de las preferencias de la interfaz de ventanas de InfoExplorer

En InfoExplorer, puede establecer muchas preferencias. Utilice la opción Preferencias en el menúdesplegable Personalizar para establecer valores por omisión para:

v “Cambio del tamaño del font”

v “Cambio de la visualización de imágenes” en la página 155

v “Artículos de automantenimiento” en la página 155

v “Designación del artículo de impresión” en la página 155

v “Cambio del tamaño de los sucesos del histórico” en la página 155

v “Cambio de la biblioteca preferida” en la página 155

Cambio del tamaño del font

Si el tamaño del font en las ventanas de lectura y de navegación es demasiado grande o demasiadopequeño, puede cambiar el tamaño de font por omisión. El tamaño de font por omisión del sistema esmediano. No obstante, puede cambiarlo a X-pequeño, pequeño, grande o X-grande. A continuación puedeaplicar los cambios a la sesión actual o a las sesiones actual y futura.

Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda deInfoExplorer).

154 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 171: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cambio de la visualización de imágenes

Algunos artículos de hipertexto tienen imágenes. Puede determinar si desea ver esta imagen en unaventana de imagen o en la ventana de lectura. Para ello, seleccione una de las opciones En línea ,Ventana separada o Indistinto del menú desplegable Personalizar. Si elige la opción Indistinto , laimagen aparece en una ventana de imágenes separada, a menos que se designe de forma específicaque ha de aparecer en la ventana de lectura.

Después de determinar cómo visualizar imágenes, puede aplicar los cambios únicamente en la sesiónactual o tanto en la sesión actual como en sesiones posteriores.

Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda deInfoExplorer).

Artículos de automantenimiento

La opción Automantenimiento del menú desplegable Personalizar determina si el programa InfoExplorerha de abrir una nueva ventana de lectura para cada artículo nuevo. Por omisión, el programa InfoExplorersustituirá el contenido de una ventana de lectura cuando enlace a otro artículo. Para mantener losartí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 losartículos desde los que se ha enlazado. Puede aplicar los cambios únicamente a la sesión actual otambién a las posteriores.

Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda deInfoExplorer).

Designación del artículo de impresiónPuede seleccionar entra impresión simple e impresión de alta calidad. La Impresión simple no dasoporte a los gráficos. La opción Impresión de alta calidad utiliza el programa troff para convertir undocumento en salida para fotocomposición.

Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda deInfoExplorer).

Cambio del tamaño de los sucesos del histórico

El tamaño de una lista del histórico puede oscilar entre 0 (cero) a 500 sucesos. Por ejemplo, si el tamañode la lista del histórico se define en 10 sucesos, la lista del histórico contiene los últimos diez enlaces.

El valor por omisión del sistema para el tamaño de sucesos del histórico es 100 sucesos. Puede cambiarel tamaño por omisión para que se adapte a su situación particular. A continuación puede aplicar loscambios 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 deInfoExplorer).

Cambio de la biblioteca preferida

Puede designar una de las bibliotecas definidas como una ″biblioteca preferida″ que se utilizará siInfoExplorer se inicia sin especificar una biblioteca en la línea de mandatos.

Para obtener información acerca de procedimientos, consulte el apartado Definir preferencias (Ayuda deInfoExplorer).

Capítulo 10. Personalización del entorno del usuario 155

Page 172: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Resumen de la personalización del entorno de usuario

Archivos de arranque del sistema

/etc/profile Archivo del sistema que contiene mandatos que el sistema ejecuta cuando seinicia la sesión.

/etc/environment Archivo del sistema que contiene variables que especifican el entorno básico paratodos los procesos.

$HOME/.profile (“Archivo .profile”en la página 143)

Archivo del directorio inicial que contiene mandatos que alteran temporalmente elarchivo /etc/profile del sistema cuando se inicia la sesión.

$HOME/.env (“Archivo .env” en lapágina 144)

Archivo del directorio inicial que altera temporalmente el archivo/etc/environment del sistema y que contiene variables que especifican el entornobásico para todos los procesos.

Archivos de arranque de AIXwindows

$HOME/.xinitrc (“Archivo .xinitrc”en la página 145)

Archivo del directorio inicial que controla las ventanas y aplicaciones que seinician cuando se inicia AIXwindows.

$HOME/.Xdefaults (“Archivo.Xdefaults” en la página 146)

Archivo del directorio inicial que controla el aspecto visual o de comportamientode los recursos de AIXwindows.

$HOME/.mwmrc (“Archivo.mwmrc” en la página 147)

Archivo del directorio inicial que define enlaces de teclas, enlaces de botones delratón y definiciones de menú para el gestor de ventanas.

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

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

“Visión general de los archivos de arranque del sistema” en la página 142

“Procedimientos de personalización” en la página 149

“Personalización del programa ASCII InfoExplorer” en la página 278

“Personalización del programa de ventanas InfoExplorer” en la página 152

156 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 173: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Capítulo 10. Personalización del entorno del usuario 157

Page 174: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

158 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 175: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 11. Shells

La interfaz con el sistema operativo se denomina shell. El shell es la capa más externa del sistemaoperativo. Los shells incorporan un lenguaje de programación para controlar procesos y archivos, ademásde iniciar y controlar otros programas. El shell gestiona la interacción entre el usuario y el sistemaoperativo solicitándole la entrada, interpretando dicha entrada para el sistema operativo y gestionandocualquier resultado de salida procedente del sistema operativo.

Los shells ofrecen un método para comunicarse con el sistema operativo. Esta comunicación tiene lugarde forma interactiva (la entrada del teclado se ejecuta inmediatamente) o como un script de shell. Unscript de shell es una secuencia de mandatos del shell y del sistema operativo que se almacena en unarchivo.

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 $ (signode dólar). Cuando escriba un mandato en el indicador y pulse la tecla Intro, el shell evaluará el mandato eintentará ejecutarlo. Según las instrucciones del mandato, el shell grabará la salida del mandato en lapantalla o lo dirigirá a la salida. A continuación, restaura el indicador de mandatos para que escriba otromandato.

Una línea de mandatos es la línea en la que escribe. Contiene el indicador del shell. El formato básicopara 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) comoel mandato y todas las palabras siguientes como argumentos.

En este apartado se explica lo siguiente:

v “Funciones del shell” en la página 160

v “Mandatos del shell Korn o shell POSIX” en la página 184

v “Delimitadores en el shell Korn o shell POSIX” en la página 168

v “Palabras reservadas en el shell Korn o shell POSIX” en la página 170

v “Alias de mandatos en el shell Korn o shell POSIX” en la página 170

v “Sustitución de parámetros en el shell Korn o shell POSIX” en la página 172

v “Sustitución de mandatos en el shell Korn o shell POSIX” en la página 176

v “Evaluación aritmética en el shell Korn o shell POSIX” en la página 177

v “Subdivisión de campos en el shell Korn o shell POSIX” en la página 179

v “Sustitución del nombre del archivo en el shell Korn o POSIX” en la página 179

v “Redirección de entrada y de salida en el shell Korn o shell POSIX” en la página 181

v “Estado de la salida en el shell Korn o shell POSIX” en la página 183

v “Mandatos del shell Korn o shell POSIX” en la página 165

v “Mandatos incorporados del shell Korn o shell POSIX” en la página 186

v “Expresiones condicionales para el shell Korn o el shell POSIX” en la página 198

v “Control de trabajos en el shell Korn o shell POSIX” en la página 199

v “Edición en línea en el shell Korn o shell POSIX” en la página 200

v “Lista de mandatos incorporados del shell Korn o shell POSIX” en la página 197

v “Lista de mandatos incorporados del shell Bourne” en la página 226

v “Lista de mandatos incorporados del shell C” en la página 250

v “Información relacionada con el shell Korn” en la página 209

© Copyright IBM Corp. 1997, 2001 159

Page 176: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v “Información relacionada con el shell Bourne” en la página 227

v “Información relacionada del shell C” en la página 251

v “Shell Bourne” en la página 210

v “Shell restringido” en la página 211

v “Mandatos del shell Bourne” en la página 212

v “Sustitución de variables y nombres de archivo en el shell Bourne” en la página 219

v “Redirección de entrada y de salida en el shell Bourne” en la página 226

v “Shell C” en la página 227

v “Mandatos del shell C” en la página 229

v “Sustitución del histórico en el shell C” en la página 238

v “Sustitución de alias en el shell C” en la página 241

v “Sustitución de variables y nombres de archivo en el shell C” en la página 242

v “Variables de entorno en el shell C” en la página 246

v “Redirección de entrada y salida en el shell C” en la página 248

v “Control de trabajos en el shell C” en la página 249

Funciones del shell

Las ventajas principales de intercambiar información con el sistema a través de un shell son:

v Sustitución de comodín en nombres de archivo (coincidencia con patrón)

Ejecuta mandatos de un grupo de archivos especificando un patrón de búsqueda en lugar de unnombre de archivo real.

Para obtener más información, consulte:

– “Sustitución del nombre del archivo en el shell Korn o POSIX” en la página 179

– “Sustitución de nombres de archivos en el shell Bourne” en la página 225

– “Sustitución de nombres de archivos en el shell C” en la página 244

v Proceso en segundo plano

Define tareas prolongadas que se ejecutarán en segundo plano, liberando el terminal para el procesointeractivo concurrente.

Para obtener más información, consulte el mandato bg en:

– “Control de trabajos en el shell Korn o shell POSIX” en la página 199

– “Mandatos incorporados del shell C” en la página 229

Nota: El shell Bourne no da soporte al control de trabajos.

v Creación de alias de mandatos

Proporciona un alias a un mandato o frase. Cuando el shell encuentra un seudónimo en la línea demandatos o en un script de shell, sustituye el texto al que se refiere el seudónimo.

Para obtener más información, consulte:

– “Alias de mandatos en el shell Korn o shell POSIX” en la página 170

– “Sustitución de alias en el shell C” en la página 241

Nota: El shell Bourne no da soporte a los alias de mandatos.

v Histórico de mandatos

Registra los mandatos que especifica en un archivo histórico. Puede utilizar este archivo para acceder,modificar y volver a emitir fácilmente cualquier mandato listado.

Para obtener más información, consulte el mandato history en:

– “Histórico de mandatos del shell Korn o shell POSIX” en la página 185

160 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 177: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

– “Mandatos incorporados del shell C” en la página 229

– “Sustitución del histórico en el shell C” en la página 238

Nota: El shell Bourne no da soporte al histórico de mandatos.

v Sustitución de nombres de archivo

Genera automáticamente una lista de nombres de archivo en una línea de mandatos utilizandocaracteres coincidentes con un patrón.

Para obtener más información, consulte:

– “Sustitución del nombre del archivo en el shell Korn o POSIX” en la página 179

– “Sustitución de nombres de archivos en el shell Bourne” en la página 225

– “Sustitución de nombres de archivos en el shell C” en la página 244

v Redirección de entrada y salida

Redirige la entrada del teclado y redirige la salida a un archivo o dispositivo distinto del terminal. Porejemplo, la entrada para un programa puede obtenerse de un archivo y redirigirse a la impresora o aotro archivo.

Para obtener más información, consulte:

– “Redirección de entrada y de salida en el shell Korn o shell POSIX” en la página 181

– “Redirección de entrada y de salida en el shell Bourne” en la página 226

– “Redirección de entrada y salida en el shell C” en la página 248

v Conductos

Enlaza cualquier número de mandatos para componer un programa complejo. La salida estándar de unprograma pasa a ser la entrada estándar del siguiente.

Para obtener más información, consulte la definición de conducto en el apartado ″Terminología de losshells″.

v Sustitución de variables de shell

Almacena datos de variables definidas por el usuario y variables de shell predefinidas.

Para obtener más información, consulte:

– “Sustitución de parámetros en el shell Korn o shell POSIX” en la página 172

– “Sustitución de variables en el shell Bourne” en la página 220

– “Sustitución de variables en el shell C” en la página 242

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. Elshell de inicio de sesión se establece en el archivo /etc/passwd . El shell Korn es el shell de inicio desesión del sistema operativo estándar y es compatible con las versiones anteriores del shell Bourne, comose explica en el apartado “Shell Bourne” en la página 210.

Capítulo 11. Shells 161

Page 178: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El shell por omisión o estándar hace referencia al shell que se inicia y cuyo enlace se establece con elmandato /usr/bin/sh . El shell Bourne se define como el shell por omisión y es un subconjunto del shellKorn.

El shell por omisión o estándar hace referencia al shell que se inicia y cuyo enlace se establece con elmandato /usr/bin/sh . El shell Korn, también conocido como shell POSIX, se define como shell poromisión. El shell POSIX se denomina /usr/bin/psh y se enlaza con el mandato /usr/bin/ksh .

Terminología de los shells

Las siguientes definiciones son útiles para comprender los shells:

blanco Un blanco es uno de los caracteres de la clase de caracteres blancos definida en lacategoría LC_CTYPE. En el shell POSIX, un blanco es una tabulación o un espacio.

mandato incorporado Un mandato que el shell ejecuta sin tener que buscarlo y que crea un proceso separado.mandato Una secuencia de caracteres en la sintaxis del lenguaje del shell. El shell lee cada uno

de los mandatos y lleva a cabo la acción deseada directamente o llamando a programasde utilidad independientes.

comentario Cualquier palabra que empiece por un signo de almohadilla (#). La palabra y todos loscaracteres que le siguen, hasta el carácter de línea nueva siguiente, se ignorarán.

identificador Una secuencia de letras, dígitos o subrayados del conjunto de caracteres portables, quecomienzan por una letra o subrayado. El primer carácter de un identificador no debe serun dígito. Los identificadores se utilizan como nombres para alias, funciones yparámetros especificados.

lista Secuencia de uno o más conductos separados por uno de estos cuatro símbolos: puntoy coma (;), ampersand (&), ampersand doble (&&) o barra doble (||). Opcionalmente, lalista puede acabar con uno de los cuatro símbolos siguientes: punto y coma (;),ampersand (&) o barra ampersand (|&).

; Procesa secuencialmente el conducto anterior. El shell ejecuta cada mandatopor orden y espera a que se complete el último mandato.

& Procesa asíncronamente el conducto anterior. El shell ejecuta cada mandatopor orden, procesando el conducto en segundo plano sin esperar a que secomplete.

|& Procesa asíncronamente el área de interconexión de memoria anterior yestablece un conducto bidireccional con el shell padre. El shell ejecuta cadamandato por orden, procesando el conducto en segundo plano sin esperar aque se complete. El shell padre puede leer y grabar en la entrada y salidaestándar del mandato subdividido utilizando los mandatos read -p y print-p.Sólo uno de dichos mandatos puede estar activo al mismo tiempo.

&& Procesa la lista que sigue a este símbolo sólo si el conducto anterior devuelveun valor de salida cero (0).

|| Procesa la lista que sigue a este símbolo solo si el conducto anterior devuelveun valor de salida distinto de cero.

El punto y coma (;), ampersand (&) y la barra ampersand (|&) tienen una prioridadmenor que el ampersand doble (&&) y la barra doble (||). Los símbolos ;, & y |& tienenigual prioridad entre sí. Los signos && y || tienen la misma prioridad. Pueden utilizarseuno o más caracteres de línea nueva en lugar de un punto y coma para delimitar dosmandatos en una lista.

Nota: El símbolo |& sólo es válido en el shell Korn.

162 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 179: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

metacaracteres Cada metacarácter tiene un significado especial para el shell y provoca la terminaciónde una palabra a no ser que esté limitada. Los metacaracteres son: conducto (|),ampersand (&), punto y coma (;), signo menor que (<), signo mayor que (>), paréntesisizquierdo ((), paréntesis derecho ()), símbolo del dólar ($), acento grave (′), barrainclinada invertida (\), apóstrofo (’), comillas dobles (″), carácter de nueva línea, carácterdel espacio y carácter de tabulación. Todos los caracteres delimitados entre comillassimples se consideran delimitados y el shell los interpreta literalmente. El significadoespecial de los metacaracteres se conserva si no se delimitan. (Los metacaracterestambién se denominan metacaracteres de analizador en el shell C.)

lista de asignación deparámetros

Incluye una o más palabra en el formato Identificador=Valor en el que los espacios queaparecen alrededor de signo (=) deben estar compensados. Es decir, deben utilizarseblancos iniciales y finales o sin blancos.

Nota: En el shell C, la lista de asignación de parámetros tiene el formato setIdentificador = Valor. Se necesitan espacios alrededor del signo igual (=).

conducto Secuencia de uno o más mandatos separados por un conducto (|). Cada mandato delconducto, excepto posiblemente el último mandato, se ejecuta como un procesoindependiente. No obstante, la salida estándar de cada mandato que está conectadomediante un conducto pasa a ser la entrada estándar del siguiente mandato de lasecuencia. Si se delimita una lista entre paréntesis, se ejecuta como un solo mandatoque funciona en un subshell independiente.

Si la palabra reservada ! no precede al conducto, el estado de la salida será el estadode salida del último mandato especificado en el conducto. De lo contrario, el estado desalida es el operador lógico NOT o el estado de salida del último mandato. En otraspalabras, si el último mandato devuelve cero, el estado de salida será 1. Si el últimomandato devuelve un valor superior a cero, el estado de salida será cero.

El formato de un conducto es:

[!] mandato1 [ | mandato2 ...]

Nota: En las versiones anteriores del shell Bourne se utilizaba un acentocircunflejo (|) para indicar un conducto.

variable de shell Un nombre o un parámetro al que se asigna un valor. Una variable se asignaescribiendo el nombre de la variable, un signo igual que (=) y, a continuación, el valor. Elnombre de la variable puede sustituirse por el valor asignado especificando un símbolode dólar ($) delante del nombre de la variable. Las variables son especialmente útilespara crear una notación abreviada para un nombre de vía de acceso largo, como$HOME para el directorio inicial. Una variable predefinida es aquella a que el shellasigna su valor. Una variable definida por el usuario es aquella a la que un usuarioasigna su valor.

mandato simple Una secuencia de listas y redirecciones de asignaciones de parámetros opcionales encualquier orden. Van, opcionalmente, seguidos de mandatos, palabras y redirecciones.Acaban con ;, |, &, ||, && , |& o con un carácter de nueva línea. El nombre del mandatose pasa como parámetro 0 (como define la subrutina exec ). El valor de un mandatosimple es su estado de salida de cero si termina normalmente o distinto de cero sitermina anormalmente. El apartado en el que se describen las subrutinas sigaction ,sigvec o signal , en la publicación AIX 5L Version 5.1 Technical Reference: BaseOperating System and Extensions Volume 2, incluye una lista de los valores de estadode salida de señal.

subshell Un shell que se ejecuta como un hijo del shell de inicio de sesión o shell actual.carácter comodín También conocido como carácter coincidente con patrón. El shell los asocia con valores

asignados. Los comodines básicos son ?, *, [set] y [!set].Los caracteres comodín sonparticularmente útiles cuando se sustituyen nombres de archivos.

palabra Una secuencia de caracteres que no contiene blancos. Las palabras están separadaspor uno o más metacaracteres.

Capítulo 11. Shells 163

Page 180: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Creación y ejecución de un script de shell

Los scripts de shell son un método fácil de ejecutar mandatos tediosos, secuencias de mandatos grandeso complicadas, y tareas rutinarias. Un script de shell es un archivo que contiene uno o más mandatos.Cuando escribe el nombre de un archivo script de shell, el sistema ejecuta la secuencia de mandatosincluida en el archivo.

Puede crear un script de shell utilizando un editor de texto. El script puede contener tanto mandatos delsistema 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 cualquiercombinació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 sealmacenan en el directorio $HOME/bin .

Nota: El sistema operativo no da soporte a las subrutinas setuid o setgid dentro de un script deshell.

1. Utilice el mandato chmod para que sólo el propietario tenga permiso para ejecutar el archivo. Porejemplo, 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 elscript de shell script1, escriba:script1

Pulse Intro.

Nota: Puede ejecutar un script de shell sin convertirlo en ejecutable si especifica un mandato deshell (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 shellKorn, escriba:

ksh script1

Especificación de un shell para un archivo de script

Cuando ejecute un script de shell ejecutable en el shell Korn (el shell POSIX) o el shell Bourne, losmandatos del script se llevarán a cabo bajo el control del shell actual (el shell desde el que inició el script)a menos que especifique un shell distinto. Cuando ejecuta un script de shell ejecutable en el shell C, losmandatos del script pasan a estar bajo el control del shell Bourne (/usr/bin/bsh ), a menos queespecifique un shell distinto.

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 primeralínea del script de shell y pulse Intro. Los caracteres #! identifican el tipo de archivo. La variable Vía deacceso 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 controldel shell Bourne.

Cuando precede un nombre de archivo de script de shell con un mandato de shell, el shell especificadoen la línea de mandatos prevalece sobre cualquier shell especificado en el propio archivo de script. Por lo

164 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 181: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

tanto, cuando escribe ksh myfile y pulsa Intro, el archivo denominado myfile se ejecuta bajo el controldel shell Korn, aunque la primera línea de myfile sea #!/usr/bin/csh.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell Bourne” en la página 210

“Shell C” en la página 227

Mandatos del shell Korn o shell POSIX

Un mandato de shell Korn es uno de los siguientes:

v Un mandato simple

v Un conducto

v Una lista

v Un mandato compuesto

v Una función

Cuando emita un mandato en el shell Korn o shell POSIX, el shell evalúa el mandato y actúa de estemodo:

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 nombrede 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 mandatodentro del proceso de shell actual.

Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 paraobtener 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óndefinida por el usuario, los parámetros de posición se guardan y, a continuación, vuelven aestablecerse en los argumentos de la llamada function . Cuando la función se completa o bien emiteun retorno, la lista de parámetros de posición se restaura y se ejecuta cualquier ruptura que se hayaestablecido en EXIT dentro de la función. El valor de una función es el valor del último mandatoejecutado. 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 esemandato incorporado normal.

Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 paraobtener información acerca de los mandatos incorporados normales.

Capítulo 11. Shells 165

Page 182: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Crea un proceso e intenta ejecutar el mandato utilizando el mandato exec (si el mandato no es unmandato incorporado ni una función definida por el usuario).

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 nombresde 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 seespecifica mediante dos o más signos de dos puntos o mediante un signo de dos puntos al principio o alfinal 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 porsupuesto que contiene mandatos de shell. El proceso de shell actual fragmenta un subshell para leer elarchivo. Todos los alias, funciones y parámetros designados no exportados se eliminan del archivo. Si elarchivo de mandatos del shell tiene permiso de lectura, o si en el archivo se han establecido los bitssetuid o setgid , el shell ejecuta un agente que establece los permisos y ejecuta el shell con el archivo demandatos del shell que se ha pasado como un archivo abierto. Un mandato entre paréntesis se ejecutaen un subshell sin eliminar las cantidades no exportadas.

En este apartado se explica lo siguiente:

v “Mandatos compuestos del shell Korn”

v “Funciones” en la página 167

v “Mandatos incorporados del shell Korn o shell POSIX” en la página 186

v “Expresiones condicionales para el shell Korn o el shell POSIX” en la página 198

v “Información relacionada con el shell Korn” en la página 209

Mandatos compuestos del shell Korn

Un mandato compuesto es una lista de mandatos simples, un conducto o puede comenzar con unapalabra reservada. La mayor parte del tiempo estará utilizando mandatos compuestos, como if , while yfor , al escribir los scripts de shell.

Lista de mandatos compuestos del shell Korn o shell POSIX

for Identificador [in Palabra ...];do Lista ;done

Cada vez que se ejecuta un mandato for , el parámetro Identificador se establece enla siguiente palabra que se toma de la lista in Palabra ... Si se omite el mandato inPalabra ..., el mandato for ejecuta el mandato do Lista una vez por cada parámetrode posición que se ha establecido. La ejecución finaliza cuando no hay máspalabras en la lista. Consulte el apartado “Sustitución de parámetros en el shell Korno shell POSIX” en la página 172 para obtener más información acerca de losparámetros de posición.

select Identificador [in Palabra...] ;do Lista ;done

Un mandato select imprime en el error estándar (descriptor de archivo 2) el conjuntoespecificado de palabras, cada una de las cuales va precedida de un número. Si seomite el mandato in Palabra ..., en su lugar se utilizan los parámetros de posición.Se imprime el indicador PS3 y se lee una línea de la entrada estándar. Si esta línease compone del número de una de las palabras de la lista, el valor del parámetroIdentificador se establece en la palabra que corresponde a ese número.Si la línea leída de la entrada estándar está vacía, vuelve a imprimirse la lista deselección. De lo contrario, el valor del parámetro Identificador se establece en nulo.El contenido de la línea leída de la entrada estándar se guarda en el parámetroREPLY. El parámetro Lista se ejecuta para cada selección, hasta que se detecta uncarácter de interrupción o de fin de archivo. Consulte el apartado “Sustitución deparámetros en el shell Korn o shell POSIX” en la página 172 para obtener másinformación acerca de los parámetros de posición.

case Palabra in [[ ( ] Patrón [ |Patrón] ... ) Lista ;; ] ... esac

Un mandato case ejecuta el parámetro Lista asociado con el primer parámetroPatrón que coincide con el parámetro Palabra. El formato de los patrones es elmismo que el que se utiliza para la sustitución de nombres de archivo.

166 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 183: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

if Lista ;then Lista [elif Lista;then Lista] ... [;else Lista] ;fi

El parámetro Lista especifica una lista de los mandatos que han de ejecutarse. Elshell ejecuta primero el mandato if Lista. Si se devuelve un estado de salida cero,ejecuta el mandato then Lista. De lo contrario, se ejecutan los mandatos queespecifica el parámetro Lista que sigue al mandatoelif .Si el valor que el último mandato devuelve en el mandato elif Lista es cero, seejecuta el mandato then Lista. Si el valor que el último mandato devuelve en elmandato then Lista es cero, se ejecuta el mandato else Lista. Si no se ejecutaningún mandato especificado por los parámetros Lista para el mandato else o then ,el mandato if devuelve un estado de salida de cero.

while Lista ;do Lista ;doneuntil Lista ;do Lista ;done El parámetro Lista especifica una lista de los mandatos que han de ejecutarse. El

mandato while ejecuta repetidamente los mandatos que especifica el parámetroLista. Si el estado de salida del último mandato del mandato while Lista es cero, seejecuta el mandato do Lista. Si el estado de salida del último mandato del mandatowhile Lista no es cero, el bucle finaliza. Si no se ejecuta ningún mandato do Lista,el mandato while devuelve un estado de salida de cero. El mandato until puedeutilizarse en lugar del mandato while para anular la prueba de terminación del bucle.

( Lista ) El parámetro Lista especifica una lista de los mandatos que han de ejecutarse. Elshell ejecuta el parámetro Lista en un entorno separado.

Nota: Si se necesitan dos paréntesis de apertura adyacentes para elanidamiento, deberá insertar un espacio entre ellos para diferenciar el mandatoy la evaluación aritmética.

{ Lista; } El parámetro Lista especifica una lista de los mandatos que han de ejecutarse. Elparámetro Lista simplemente se ejecuta.

Nota: A diferencia de los metacaracteres ( ), las { } indican palabrasreservadas (que se utilizan para fines especiales, no como identificadores queel usuario declara). Para que puedan reconocerse, estas palabras reservadasdeben aparecer al principio de una línea o después de un carácter ;.

[[Expresión]] Evalúa el parámetro Expresión. Si la expresión es cierta, el mandato devuelve unestado de salida de cero.

function Identificador { Lista ;}o function Identificador (){Lista ;}

Define una función a la que el parámetro Identificador hace referencia. El cuerpo dela función es la lista especificada de mandatos delimitados por { }. Los () secomponen de dos operadores, por lo tanto, está permitido mezclar caracteres enblanco con el Identificador, ( y ), pero no es necesario.

time Conducto Ejecuta el parámetro Conducto. El tiempo transcurrido, la hora del usuario y la horadel sistema se imprimen en error estándar.

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 losmandatos, pasando los argumentos como parámetros posicionales. Consulte el apartado “Sustitución deparámetros en el shell Korn o shell POSIX” en la página 172 para obtener más información acerca de losparámetros de posición.

El shell Korn o shell POSIX ejecuta funciones en el entorno desde el que se llama a las funciones. Lafunción y el script de invocación comparten todos los elementos siguientes; ello da lugar a que puedanproducirse efectos secundarios:

v Valores y atributos de variables (a menos que utilice typeset dentro de la función para declarar unavariable local)

v Directorio de trabajo

v Alias, definiciones de funciones y atributos

v El parámetro especial $

v Archivos abiertos

Capítulo 11. Shells 167

Page 184: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

La función y el script de llamada no comparten los siguientes elementos y no hay efectos laterales:

v Parámetros posicionales.

v El parámetro especial #.

v Variables de una lista de asignación de variables cuando se llama a la función.

v Variables que se han declarado utilizando typeset dentro de la función.

v Opciones.

v Rupturas. No obstante, la función también ignorará las señales ignoradas por el script de llamada.

Nota: En versiones anteriores del shell Korn, la función, además del script de llamada, compartíaotras 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 trascompletarse la función, en el entorno que ha llamado a la función. Si la ruptura se ejecuta fuera delcuerpo de una función, la acción se ejecuta después de salir del shell Korn. En versiones anteriores delshell Korn, no se ejecutaba ninguna ruptura de 0 o EXIT fuera del cuerpo de una función después de salirde la función.

Cuando se ejecuta una función, ésta tiene las mismas propiedades de error de sintaxis y de asignaciónde variable que las que se describen en el apartado “Mandatos incorporados del shell Korn o shellPOSIX” en la página 186.

El mandato compuesto se ejecuta siempre que se especifique el nombre de la función como nombre demandato simple. Los operandos del mandato pasarán a ser temporalmente los parámetros posicionalesdurante la ejecución del mandato compuesto. El parámetro especial # también cambiará para reflejar elnú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 funcionesdevuelven 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 -ftambién lista el texto de las funciones. La definición de las funciones se elimina con la opción -f delmandato especial unset .

Normalmente, se elimina la definición de las funciones cuando un shell ejecuta un script de shell. Laopción -xf del mandato especial typeset permite exportar una función a los scripts que se ejecutan sinuna invocación separada del shell. Las funciones que deben definirse en invocaciones separadas del shelldeben especificarse en el archivo ENV con la opción -xf del mandato especial typeset .

El estado de salida de la definición de una función es cero si la función se ha declaradosatisfactoriamente. De lo contrario, será mayor de cero. El estado de salida de una llamada de función esel estado de salida del último mandato ejecutado por la función.

Delimitadores en el shell Korn o shell POSIX

Cuando desee que el shell Korn o shell POSIX lea un carácter como un carácter normal, en lugar dehacerlo con cualquier significado asociado normal, debe limitarlo. Para anular el significado especial de unmetacarácter, utilice uno de los mecanismos de delimitación de la lista siguiente.

Cada metacarácter tiene un significado especial para el shell y, a menos que se limite, provoca laterminación de una palabra. El shell Korn o el shell POSIX considera a los caracteres siguientes comometacaracteres, los cuales deben especificarse entre delimitadores si van a representarse a sí mismos:

v conducto (|)

v ampersand (&)

168 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 185: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v punto y coma (;)

v signo menor que ($lt;) y signo mayor que (>)

v paréntesis izquierdo (() y paréntesis derecho ())

v símbolo del dólar ($)

v acento grave (′) y comillas simples (’)

v barra inclinada invertida (\)

v comillas dobles (″)

v carácter de nueva línea

v carácter de espacio

v carácter de tabulación.

Los mecanismos de delimitación son la barra inclinada invertida (\), las comillas simples (’) y las comillasdobles (″).

Barra inclinada invertida (\) ) Una barra inclinada invertida (\) que no está limitada mantiene el valorliteral 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 nuevalínea, el shell lo interpreta como continuación de línea.

Comillas simples La especificación de caracteres entre comillas simples (’ ’) conserva elvalor literal de cada carácter especificado entre comillas simples. Nopuede existir una única comilla simple dentro de las comillas simples.

Una barra inclinada invertida no puede utilizarse para el cambio decódigo de una única comilla simple en una serie que se ha establecidoentre comillas simples. Una comilla intercalada puede crearseescribiendo, por ejemplo: ’a’\’’ b’ , que produce a’b.

Comillas dobles La especificación de caracteres entre comillas dobles (″ ″) conserva elvalor literal de todos los caracteres que se especifican entre comillasdobles, a excepción de los caracteres correspondientes al símbolo deldólar, al acento grave y a la barra inclinada invertida, como se indica acontinuación:

$ El signo de dólar mantiene su significado especial introduciendoexpansión de parámetros, una forma de sustitución demandatos, y la expansión aritmética.

Los caracteres de entrada de la serie delimitada que también seespecifican entre $( y el ) coincidente, no quedan afectados porlas comillas dobles, pero definen al mandato cuya salidasustituye a $(...) al expandirse la palabra.

Dentro de la serie de caracteres de un ${ delimitado hasta la }coincidente, debe existir un número par de comillas dobles o decomillas simples sin carácter de cambio de código, si existealguno. Para el cambio de código de un literal { o }, debeespecificarse primero un carácter de barra inclinada invertida.

′ El apóstrofo invertido conserva su significado especialintroduciendo la otra forma de sustitución de caracteres. La partede la serie delimitada, desde el acento grave y caracteresiniciales hasta el siguiente acento grave que va precedido deuna barra inclinada invertida, define al mandato cuya salidasustituye a ′ ... ′ al expandirse la palabra.

\ La barra inclinada invertida conserva su significado especialcomo carácter de cambio de código sólo cuando va seguida deuno de los caracteres siguientes: $, ′, ″, \ o un carácter de nuevalínea.

Capítulo 11. Shells 169

Page 186: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Una comilla doble debe ir precedida de una barra inclinada invertida para que pueda incluirse entrecomillas dobles. Cuando utiliza comillas dobles, si una barra inclinada invertida va inmediatamenteseguida de un carácter que se interpretaría como un carácter con significado especial, la barra inclinadainvertida se suprime y el siguiente carácter se toma literalmente. Si una barra inclinada invertida noprecede a un carácter que tendría un significado especial, se deja en su lugar intacta y el carácter quesigue inmediatamente permanece también intacto. Por ejemplo:"\$" -> $"\a" -> \a

Las condiciones siguientes se aplican a los metacaracteres y caracteres de delimitación en el shell Korn oshell POSIX:

v Los significados del símbolo del dólar, asterisco ($*) y del símbolo del dólar, arroba ($@) son idénticoscuando 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 inclinadainvertida (\), comilla simple (’) y símbolo del dólar ($). Si los acentos graves se especifican entrecomillas 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 delimitadorescualquier carácter de la palabra reservada. No puede especificar delimitadores en los nombres de lasfunciones o en los nombres de los mandatos incorporados.

v “Información relacionada con el shell Korn” en la página 209

Palabras reservadas en el shell Korn o shell POSIX

Las palabras reservadas siguientes tienen un significado especial en el shell:! case dodone elif elseesac fi forfunction if inselect then timeuntil while {} [[ ]]

Las palabras reservadas sólo se reconocen cuando aparecen sin delimitadores y cuando la palabra seutiliza 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 ).

Alias de mandatos en el shell Korn o shell POSIX

El shell Korn o el shell POSIX le permiten crear alias para personalizar mandatos. El mandato alias defineuna palabra que tiene el formato Nombre=Serie como alias. Cuando utiliza un alias como la primerapalabra de una línea de mandatos, ksh comprueba si ya está procesando un alias con el mismo nombre.Si es así, ksh no sustituye el nombre de alias. Si no está procesándose un alias con el mismo nombre,ksh sustituye el nombre de alias por el valor del alias.

El primer carácter de un nombre de alias puede ser cualquier carácter imprimible, excepto losmetacaracteres. Los caracteres restantes deben ser los mismos que los de un identificador válido. Laserie de sustitución puede contener cualquier texto de shell válido, incluidos los metacaracteres.

170 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 187: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Si el último carácter del valor de alias es un blanco, el shell también comprobará la palabra que sigue alalias para la sustitución de alias. Puede utilizar alias para redefinir mandatos incorporados especiales,pero no para redefinir palabras reservadas. Las definiciones de alias no se heredan entre invocaciones deksh . Sin embargo, si especifica alias -x , el alias sigue en vigor para los scripts que se invocan pornombre, que no invocan un shell por separado. Para exportar una definición de alias y hacer que losprocesos hijo tengan acceso a éstos, debe especificar alias -x y la definición de alias en el archivo deentorno.

Para crear, listar y exportar alias, utilice el mandato alias . Los alias se eliminan con el mandato unalias .

El formato para crear un alias es:alias Nombre=Serie

donde el parámetro Nombre especifica el nombre del alias y el parámetro Serie especifica el valor delalias.

Los siguientes alias exportados están predefinidos por el shell Korn, pero pueden perder su definición oredefinirse. Se recomienda no cambiarlos, ya que ello podría confundir después a cualquier persona queesperara 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 scriptde 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 lapublicación AIX 5L Version 5.1 Commands Reference.

Alias de seguimiento de víaFrecuentemente, los alias se utilizan como atajos para nombres completos de vías de acceso. Un recursode definición de alias le permite establecer automáticamente el valor de un alias al nombre completo deuna vía de acceso de un mandato correspondiente. Este tipo especial de alias es un alias de seguimientode vía. Los alias de seguimiento de vía aceleran la ejecución, pues eliminan la necesidad de que el shelltenga que buscar en la variable PATH un nombre completo de vía de acceso.

El mandato set -h activa el seguimiento de mandatos para que cada vez que se haga referencia a unmandato, el shell defina el valor de un alias con seguimiento de vía. La definición de este valor se eliminacada vez que vuelve a establecerse la variable PATH.

El seguimiento de estos alias permanece, de forma que la siguiente referencia redefinirá el valor. Algunosalias 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 siempieza por una tilde (x). Si es así, el shell comprueba la palabra, hasta la primera barra inclinada (/),

Capítulo 11. Shells 171

Page 188: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

para verificar si coincide con un nombre de usuario del archivo /etc/passwd . Si el shell encuentra unacoincidencia, sustituye el carácter x y el nombre por el directorio de inicio de sesión del usuario pertinente.Este proceso se denomina sustitución de la tilde.

El shell no cambia el texto original si no encuentra una coincidencia. El shell Korn también realizasustituciones especiales si el carácter x es el único carácter de la palabra o si va seguido de un signomás (+) o de un guión (-):

x Se sustituye por el valor de la variable HOME.x+ Se sustituye por la variable $PWD (el nombre completo de la vía de acceso del directorio actual).x- Se sustituye por la variable $OLDPWD (el nombre completo de la vía de acceso del directorio anterior).

Asimismo, el shell intenta realizar la sustitución de la tilde cuando el valor de un parámetro de asignaciónde variable empieza por un carácter de tilde x.v “Información relacionada con el shell Korn” en la página 209

Sustitución de parámetros en el shell Korn o shell POSIXEl shell Korn, o shell POSIX, le permite efectuar sustituciones de parámetros.

En este apartado se explica lo siguiente:

v “Parámetros en el shell Korn”

v “Sustitución de parámetros” en la página 173

v “Parámetros especiales predefinidos” en la página 174

v “Variables que establece el shell Korn o shell POSIX” en la página 174

v “Variables que utiliza el shell Korn o shell POSIX” en la página 175

Parámetros en el shell Korn

Las categorías de un parámetro son:

v Identificador de cualquiera de los caracteres asterisco (*), arroba (@), signo de almohadilla (#), signode interrogación (?), guión (-), símbolo del dólar ($) y signo de admiración (!). Estos caracteres recibenel nombre de parámetros especiales.

v Argumento que se indica mediante un número (parámetro de posición)

v Parámetro que se indica mediante un identificador, con un valor y cero o más atributos(parámetro/variables con nombre).

El mandato incorporado especial typeset asigna valores y atributos a los parámetros con nombre. Losatributos 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 valor de un parámetro está asignado por:Nombre=Valor [ Nombre=Valor ] ...

Si se establece el atributo de entero -i para el parámetro Nombre, el parámetro Valor se somete aevaluación aritmética. Consulte la Evaluación aritmética en el shell Korn o shell POSIX (en el apartado“Evaluación aritmética en el shell Korn o shell POSIX” en la página 177) para obtener más informaciónacerca de la evaluación de expresiones aritméticas.

El shell soporta un recurso de matrices unidimensionales. Una subserie hace referencia a un elemento deun parámetro de matriz. Un subíndice se indica mediante una expresión aritmética especificada entrecorchetes ([ ]). Para asignar valores a una matriz, utilice set -A Nombre Valor... El valor de todos lossubscripts debe estar en el rango de 0 a 511. No es necesario declarar las matrices. Cualquier referencia

172 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 189: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

a un parámetro designado por un subscript válido es lícita y se creará una matriz, si es necesario. Hacerreferencia a una matriz sin un subscript es equivalente a hacer referencia al elemento 0.

A los parámetros de posición se les asignan valores mediante el mandato especial set . El parámetro $0se establece a partir del argumento 0 al invocarse el shell. El carácter $ se utiliza para introducirparámetros sustituibles.

Sustitución de parámetrosA continuación se muestran parámetros sustituibles:

${Parámetro} El shell lee todos los caracteres desde ${ hasta el } de cierre como si formaranparte 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 sonnecesarias cuando el parámetro Parámetro va seguido de una letra, un dígito o unacarácter de subrayado que no va a interpretarse como parte de su nombre o biencuando en un subíndice se ha incluido un parámetro con nombre.

Si el parámetro especificado contiene uno o más dígitos, es un parámetro deposición. Un parámetro posicional de más de un dígito debe estar delimitado entrellaves. Si el valor de la variable es un * o una @), se sustituye cada parámetro deposición, empezando desde $1 (separándolos con un carácter de separador decampo). Si se utiliza un identificador de matriz con un subíndice * o una @, sesustituye el valor de cada uno de los elementos (separándolos con un carácter deseparador de campo).

${#Parámetro} Si el valor del parámetro Parámetro es un * o una @, se sustituye el número deparámetros de posición. De lo contrario, se sustituye la longitud que especifica elparámetro Parámetro.

${#Identificador[*]} Se sustituye el número de elementos de la matriz que especifica el parámetroIdentificador.

${Parámetro:-Palabra} Si se ha establecido el parámetro Parámetro y no es nulo, se sustituye su valor; delo contrario, se sustituye el valor del parámetro Palabra.

${Parámetro:=Palabra} Si no se ha establecido el parámetro Parámetro o es nulo, se establece en el valordel parámetro Palabra. Los parámetros de posición no pueden establecerse de estaforma.

${Parámetro:?Palabra} Si se ha establecido el parámetro Parámetro y no es nulo, sustituya su valor. De locontrario, imprima el valor de la variable Palabra y salga del shell. Si se ha omitidola variable Palabra, se imprimirá un mensaje estándar.

${Parámetro:+Palabra} Si se ha establecido el parámetro Parámetro y no es nulo, sustituya el valor de lavariable Palabra. De lo contrario, no sustituya nada.

${Parámetro#Patrón } |${Parámetro##Patrón}

Si el parámetro de shell Patrón que se ha especificado coincide con el principio delvalor del parámetro Parámetro, el valor de esta sustitución es el valor del parámetroParámetro pero suprimiéndose la parte coincidente. De lo contrario, se sustituye elvalor del parámetro Parámetro. En el primer formato, se suprime el patróncoincidente más pequeño. En el segundo formato, se suprime el patrón partecoincidente más grande.

${Parámetro%Patrón} |${Parámetro%%Patrón}

Si el Patrón del shell especificado coincide con el valor de la variable Parámetro, elvalor de esta sustitución es el valor de la variable Parámetro con la partecoincidente suprimida; de lo contrario, sustituya el valor de la variable Parámetro.Enel primer formato, se suprime el patrón coincidente más pequeño; en el segundoformato, se suprime el patrón coincidente más grande.

En las expresiones anteriores, la variable Palabra no se evalúa, a menos que vayaa utilizarse como serie sustituida. De este modo, en el siguiente ejemplo, elmandato pwd sólo se ejecuta si no se ha establecido el distintivo -d o bien es nulo:

echo ${d:-$(pwd)}

Nota: Si se omite el carácter : de las expresiones anteriores, el shell sólo comprueba si se haestablecido o no el parámetro Parámetro.

Capítulo 11. Shells 173

Page 190: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Parámetros especiales predefinidosEl shell define automáticamente los siguientes parámetros:

@ Expande los parámetros de posición, empezando por $1. Cada parámetro está separado por unespacio.

Si utiliza ″ para delimitar $@, el shell considera que cada parámetro de posición es una serieseparada. Si no existe ningún parámetro de posición, el shell expande la sentencia para obtener unaserie nula sin comillas.

* Expande los parámetros de posición, empezando por $1. El shell separa cada parámetro utilizandoel 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 comillasdobles. 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 elnombre del propio procedimiento de shell. De este modo, el parámetro $# produce el número delparámetro de posición con la numeración más alta que se ha establecido. Una de las utilizacionesprincipales 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 shelldevuelve 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 exclusivosentre todos los procesos existentes, esta serie de un máximo de 5 dígitos suele utilizarse paragenerar nombres exclusivos para archivos temporales.

El ejemplo siguientes ilustra la práctica recomendada de crear archivos temporales en un directorioutilizado solamente para dicho propósito:

temp=$HOME/temp/$$ls >$temp...rm $temp

! Especifica el número de proceso del último mandato de fondo que se ha invocado.zero (0) Expande al nombre del shell o script de shell.

Variables que establece el shell Korn o shell POSIX

El shell define las siguientes variables:

subrayado(_) Indica inicialmente el nombre absoluto de vía de acceso del shell o script que se ejecutaa medida que se pasa en el entorno. Consiguientemente, se asigna el último argumentodel 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 coincidentecuando se comprueba si existe correo.

ERRNO Especifica un valor que define la subrutina que ha fallado más recientemente. Este valordepende 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 .

174 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 191: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

RANDOM Genera un entero aleatorio, uniformemente distribuido entre 0 y 32767. La secuencia denúmeros aleatorios puede inicializarse asignando un valor numérico a la variableRANDOM.

REPLY Definido por la sentencia select y por el mandato normal incorporado read cuando no seproporcionan argumentos.

SECONDS Especifica el número de segundos desde que se devolvió la llamada del shell. Si a estavariable se asigna un valor, el valor que se devuelve cuando se haga referencia a éstees el valor que se ha asignado más el número de segundos transcurrido desde laasignación.

Variables que utiliza el shell Korn o shell POSIX

El shell utiliza las siguientes variables:

CDPATH Indica la vía de acceso de búsqueda para el mandato cd (cambiar directorio).COLUMNS Define la anchura de la ventana de edición para las modalidades de edición del shell y para la

impresión de las listas de selección, select .EDITOR Si el valor de este parámetro termina por emacs, gmacs o vi y la variable VISUAL no está

definida con el mandato especial set , se activa la opción correspondiente.ENV Si se define esta variable, la sustitución de parámetros se efectúe sobre el valor que genera el

nombre de vía de acceso del script que se ejecutará cuando se llame a este shell. Estearchivo suele utilizarse para definiciones de alias y funciones.

FCEDIT Especifica el nombre del editor por omisión del mandato incorporado normal fc .FPATH Especifica la vía de búsqueda para definiciones de funciones. Se buscará en esta vía de

acceso cuando se haga referencia a una función con el distintivo -u y cuando no se encuentreun mandato. Si se encuentra un archivo ejecutable, se lee y se ejecuta en el entorno actual.

HISTFILE Si esta variable se establece al invocarse el shell, el valor es el nombre de la vía de accesodel archivo que va a utilizarse para almacenar el histórico de mandatos.

HISTSIZE Si se define esta variable cuando se llame al shell, el número de mandatos especificadosanteriormente a los que este shell puede acceder será mayor o igual a este número. El valorpor omisión es 128.

HOME Indica el nombre del directorio de inicio de sesión, que pasa a ser el directorio actual despuésde que finalice el inicio de sesión. El programa login inicializa esta variable. El mandato cdutiliza el valor del parámetro $HOME como su valor por omisión. Utilizando esta variable enlugar de un nombre de vía de acceso explícito en un procedimiento de shell permite que elprocedimiento se ejecute desde un directorio distinto sin alteraciones.

IFS Especifica los separadores de campo internos (por lo general, espacio, tabulación y nuevalínea) que se utilizan para separar las palabras de mandatos que son el resultado de lasustitución de mandatos o parámetros y para separar palabras con el mandato incorporadonormal read . El primer carácter del parámetro IFS se utiliza para separar argumentos para lasustitución $*.

LANG Proporciona un valor por omisión para las variables LC_*.LC_ALL Altera temporalmente el valor de las variables LANG y LC_*.LC_COLLATE Determina el comportamiento de la expresión de rango dentro de la coincidencia de patrón.LC_CTYPE Define la clasificación de caracteres, conversión de mayúsculas y minúsculas y otros atributos

de caracteres.LC_MESSAGES Determina el idioma en que están escritos los mensajes.LINES Determina la longitud de columna para la impresión de listas de selección. Las listas de

selección se imprimen verticalmente hasta que se han llenado aproximadamente dos tercios delas líneas que especifica la variable LINES.

MAIL Especifica el nombre de la vía de acceso utilizada por el sistema de correo para detectar lallegada de correo nuevo. Si esta variable se establece en el nombre de un archivo de correo yno se ha establecido la variable MAILPATH , el shell informa al usuario acerca de la existenciade correo nuevo en el archivo especificado.

Capítulo 11. Shells 175

Page 192: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

MAILCHECK Especifica la frecuencia (en segundos) con que el shell comprobará si existen cambios en lahora de modificación de cualquiera de los archivos que especifican las variables MAILPATH oMAIL . El valor por omisión es 600 segundos. Cuando haya transcurrido el tiempo, el shellbuscará antes de emitir el siguiente indicador.

MAILPATH Especifica una lista de nombres de archivo separados por dos puntos. Si se ha establecidoesta variable, el shell informará al usuario acerca de cualquier modificación realizada en losarchivos especificados que se haya producido durante el período, en segundos, que especificala variable MAILCHECK . Cada nombre de archivo puede ir seguido de un signo ? y delmensaje que ha de imprimirse. El mensaje se someterá a la sustitución de variables con lavariable $_ que se ha definido como el nombre del archivo que ha cambiado. El mensaje poromisión es tiene correo en $_.

NLSPATH Determina la ubicación de los catálogos de mensajes para el proceso de LC_MESSAGES .PATH Indica la vía de búsqueda para mandatos, que es una lista ordenada de nombres de vías de

acceso de directorios separadas por dos puntos. El shell busca en dichos directorios en elorden especificado cuando busca mandatos. Una serie nula en cualquier parte de la listarepresenta el directorio actual.

PS1 Especifica la serie que se utilizará como indicador principal del sistema. El valor de esteparámetro se expande para la sustitución de parámetros con el fin de definir la serie delindicador principal que, por omisión, es un signo $. El carácter ! de la serie del indicadorprincipal se sustituye por el número del mandato.

PS2 Especifica el valor de la serie del indicador secundario que, por omisión es un signo >.PS3 Especifica el valor de la serie del indicador de selección que se utiliza dentro de un bucle

select que, por omisión es #?.PS4 El valor de esta variable se expande para sustitución de parámetros y preceder a cada línea

de un rastreo de ejecución. Si se omite, el indicador de rastreo de ejecución es un signo +.SHELL Especifica el nombre de la vía de acceso del shell, que se conserva en el entorno.TMOUT Especifica el número de segundos que un shell permanece inactivo antes de finalizar. Si la

variable TMOUT se ha establecido en un valor mayor que cero (0), el shell saldrá si no seentra 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 superarsepara este valor).

Nota: Una vez transcurrido el período de tiempo de espera, existe una pausa de 60segundos 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 yIFS, pero los parámetros HOME, SHELL , ENV y MAIL no son parámetros que el shell establece (aunqueel parámetro HOME se establece mediante el mandato login ).

Sustitución de mandatos en el shell Korn o shell POSIX

El shell Korn, o el shell POSIX, le permite realizar la sustitución de mandatos.

En la sustitución de mandatos, el shell ejecuta un mandato especificado en un entorno de subshell ysustituye dicho mandato por su salida. Para ejecutar la sustitución de mandatos en el shell Korn o en elshell POSIX, realice lo siguiente:$(mandato)

o, para la versión acotada, utilice:′mandato′

Nota: Aunque ksh acepta la sintaxis con acentos graves, se considera obsoleta en los estándaresXPG4 y POSIX. En estos estándares se recomienda que las aplicaciones portátiles, utilicen lasintaxis $(mandato).

176 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 193: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El shell expande la sustitución de mandatos ejecutando el mandato en un entorno de subshell yreemplazando la sustitución de mandatos (el texto del mandato más el delimitador $( ) o los acentosgraves) por la salida estándar del mandato, eliminando las secuencias de uno o más caracteres de nuevalínea al final de la sustitución.

En el ejemplo siguiente, los caracteres $( ) que delimitan el mandato indican que la salida del mandatowhoami se sustituye:echo Mi nombre es: $(whoami)

Puede realizar la misma sustitución de mandatos con:echo Mi nombre es: ′whoami′

La salida de ambos ejemplos para el usuario dee es:Mi nombre es: dee

También puede sustituir expresiones aritméticas especificándolas entre ( ). Por ejemplo, el mandato:echo Cada hora contiene $((60 * 60)) segundos

produce el resultado siguiente:Cada hora contiene 3600 segundos

El shell Korn o shell POSIX elimina todos los caracteres de nueva línea finales cuando efectúa sustituciónde mandatos. Por ejemplo, si el directorio actual contiene los archivos file1, file2 y file3, el mandato:echo $(ls)

elimina los caracteres de nueva línea y produce la salida siguiente:file1 file2 file3

Para conservar los caracteres de nueva línea, inserte el mandato sustituido entre ″ ″:echo "$(ls)"

Evaluación aritmética en el shell Korn o shell POSIX

El mandato incorporado normal del shell Korn o del shell POSIX let le permite realizar la aritmética deenteros. Las constantes están en formato [Base]Número. El parámetro Base es un número decimalcomprendido entre el 2 y el 36, inclusive, que representa la base aritmética. El parámetro Número es unnúmero de esa base. Si omite el parámetro Base, el shell utiliza una base de 10.

Las expresiones aritméticas utilizan la misma sintaxis, prioridad y asociatividad de las expresiones dellenguaje C. Reciben soporte todos los operadores integrales, a excepción del signo más doble (++), elguión doble (—), el signo de interrogación, los dos puntos (?: ) y la coma (,). En la tabla de Operadoresaritméticos del shell Korn que aparece a continuación se indican los operadores de shell Korn o de shellPOSIX válidos, en orden de prioridad descendente:

Operadores aritméticos de shell Korn

Operador Definición

- Menos unitario

! Negación lógica

x Negación bitwise

* Multiplicación

/ División

Capítulo 11. Shells 177

Page 194: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

% Resto

+ Suma

- Resta

<<, >> Desplazamiento a la izquierda, desplazamiento a laderecha

<=,>=, <>, ==, != Comparación

& AND bitwise

| OR exclusivo bitwise

| OR bitwise

&& AND lógico

|| OR lógico

= *=, /=, &= +=, -=, <<=, > >=, &=, |=, |= Asignación

La mayoría de los operadores aritméticos, como *, &, < y >, tienen un significado especial para el shellKorn o el shell POSIX. Estos caracteres deben estar delimitados. Por ejemplo, para multiplicar el valoractual de y por 5 y volver a asignar un nuevo valor a y, utilice la expresión siguiente:let "y = y * 5"

La especificación de la expresión entre comillas elimina el significado especial del carácter *.

Puede agrupar operaciones dentro de las expresiones del mandato let para forzar la agrupación. Porejemplo, en la expresión:let "z = q * (z - 10)"

el mandato multiplica q por el valor reducido de z.

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 sifueran 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 lasintaxis de sustitución de parámetros. Cuando se hace referencia a un parámetro definido, su valor seevalú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 delmandato especial incorporado typeset . Mediante la utilización del distintivo -i, la evaluación aritmética serealiza en el valor de cada asignación a un parámetro definido. Si no especifica una base aritmética, laprimera asignación al parámetro determina la base aritmética. Esta base se utiliza cuando tiene lugar lasustitución del parámetro.

178 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 195: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Subdivisión de campos en el shell Korn o shell POSIX

Tras la realización de la sustitución de mandatos, el shell Korn explora los resultados de las sustitucionesde los caracteres de separación de campos que ha encontrado en la variable IFS (Separador interno decampos). Donde se encuentren dichos caracteres, el shell subdivide las sustituciones en argumentosindependientes. El shell retiene los argumentos nulos explícitos (″″ o ’’) y elimina los argumentos nulosimplícitos (los que son el resultado de los parámetros que no tienen ningún valor).

v Si el valor de IFS es un espacio, un carácter de tabulación y de nueva línea o bien si no se haestablecido, cualquier secuencia de los caracteres de espacio, tabulación y nueva línea que aparezcaal principio o al final de la entrada se pasará por alto y cualquier secuencia de tales caracteres queaparezca dentro de la entrada delimitará un campo. Por ejemplo, la entrada siguiente genera doscampos, school y days :<newline><space><tab>school<tab><tab>days<space>

v De lo contrario, y si el valor de IFS no es nulo, se aplicarán las siguientes normas, en secuencia. ″IFSespacio en blanco″ se utiliza para indicar cualquier secuencia (cero o más instancias) de caracteres deespacios en blanco que están en el valor IFS (por ejemplo, si IFS contiene espacio/coma/tabulación,cualquier secuencia de caracteres de espacio y de tabulación se considera IFS espacio en blanco).

1. IFS espacio en blanco se pasa por alto al principio y al final de la entrada.

2. Cada aparición en la entrada de un carácter IFS que no sea IFS espacio en blanco, junto concualquier IFS espacio en blanco adyacente, delimita un campo.

3. Longitud no cero IFS espacio en blanco delimita un campo.

Sustitución del nombre del archivo en el shell Korn o POSIXEl shell Korn, o el shell POSIX, realiza la sustitución del nombre del archivo explorando cada palabra demandato que especifica la variable Palabra para detectar determinados caracteres. Si una palabra demandato incluye los caracteres *), ? o [ y no se ha establecido el distintivo -f, el shell considera que lapalabra es un patrón. El shell sustituye la palabra por nombres de archivo, ordenados por el orden declasificación en vigor en el escenario local, que coincidan con el patrón. Si el shell no encuentra unnombre de archivo que coincida con el patrón, no cambia la palabra.

Cuando el shell utiliza un patrón para la sustitución del nombre de archivo, los caracteres . y / debencoincidir explícitamente.

Nota: El shell Korn no trata a estos caracteres de forma especial en otras instancias de la patronesde coincidencia.

Los siguientes caracteres de patrones de coincidencia indican las sustituciones que se indican acontinuación:

* Busca la coincidencia de cualquier serie, incluida la serie nula.? Busca la coincidencia de cualquier carácter individual.[...] Busca la coincidencia de cualquiera de los caracteres delimitados. Un par de caracteres separados por un

- coincide con cualquier carácter que se encuentre léxicamente dentro del rango de inclusión de ese par,de acuerdo con el orden de clasificación que tenga aplicación en el entorno local actual. Si el primercarácter que sigue al corchete de apertura [ es un signo !, se buscará la coincidencia de cualquiercarácter no delimitado. En el conjunto de caracteres puede incluirse un - si éste ocupa la posición delprimer o del último carácter.

También puede utilizar la notación [:clasecarácter:] para buscar la coincidencia de los nombres dearchivos que están dentro de una indicación de rango. Este formato indica al sistema que busque lacoincidencia de cualquier carácter que pertenezca a la clase. La definición de los caracteres queconstituyen una clase de caracteres específica está presente en la categoría LC_CTYPE de la subrutinasetlocale . Se reconocen todas las clases de caracteres especificadas en el entorno local actual.

Capítulo 11. Shells 179

Page 196: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

A continuación se indican los nombres de algunas de las clases de caracteres:

v alnum

v alpha

v cntrl

v digit

v graph

v lower

v print

v punct

v space

v upper

v xdigit .

Por ejemplo, [[:upper:]] busca la coincidencia de cualquier letra en mayúsculas.

El shell Korn da soporte a la expansión del nombre del archivo basándose en la comparación de loselementos o símbolos, o clases de equivalencia.

Una ListaPatrones es una lista de uno o más patrones separados por una |. Los patrones compuestos seforman con uno o más de los caracteres siguientes:

?(ListaPatrones) Opcionalmente, busca la coincidencia con alguno de los patrones especificados.*(ListaPatrones) Busca la coincidencia de cero o más apariciones de los patrones especificados.+(ListaPatrones) Busca la coincidencia de una o más apariciones de los patrones especificados.@(ListaPatrones) Busca la coincidencia de exactamente uno de los patrones especificados.!(ListaPatrones) Busca la coincidencia de cualquier elemento, excepto de uno de los patrones

especificados.

La coincidencia con patrones tiene algunas restricciones. Si el primer carácter del nombre de un archivoes 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, elsiguiente:.*file

Si un patrón no coincide con ninguno de los nombres de archivos, el propio patrón se devuelve como elresultado 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 éstospueden provocar una repetición infinita (es decir, bucles infinitos) durante los intentos de búsqueda depatrones de coincidencia.

Eliminación de delimitadores

Los caracteres delimitadores, la barra inclinada invertida (\), el apóstrofo (’) y las comillas dobles (″) queincluí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

180 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 197: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Redirección de entrada y de salida en el shell Korn o shell POSIXAntes de ejecutar un mandato, el shell Korn explora la línea de mandatos en busca de caracteres deredirección. Estas notaciones especiales indican al shell que redirija la entrada y la salida. Los caracteresde redirección pueden aparecer en un mandato simple o pueden preceder o seguir a un mandato. No sepasan al mandato llamado.

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óncoincide 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 archivo0).

>Palabra Utiliza el archivo que especifica el parámetro Palabra como salida estándar (descriptor de archivo1). Si el archivo no existe, el shell lo crea. Si el archivo existe y se ha especificado la opciónnoclobber , 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 alteratemporalmente la opción noclobber .

> >Palabra Utiliza el archivo que especifica el parámetro Palabra como salida estándar. Si el archivo existeactualmente, el shell añade la salida al mismo (buscando primero el carácter de fin de archivo). Siel archivo no existe, el shell lo crea.

<>Palabra Abre el archivo que especifica el parámetro Palabra para su lectura y grabación como entradaestándar.

<<[-]Palabra Lee cada línea de la entrada del shell hasta que localiza una línea que contiene únicamente elvalor del parámetro Palabra o un carácter de fin de archivo. El shell no efectúa sustitución deparámetros, sustitución de mandatos o sustitución de nombres de archivo en el archivoespecificado. El documento que resulta, denominado documento de entrada en línea, pasa a ser laentrada 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ácterdel parámetro Palabra está delimitado, no se realizará ninguna interpretación de los caracteres deldocumento.

El documento presente se interpreta como una sola palabra que comienza después del carácter de nuevalínea y continúa hasta que hay una línea que contiene únicamente el delimitador, sin caracteres en blancofinales. De este modo, comienza, si existe, el siguiente documento presente. El formato es:[n]<<palabra

documento de entrada en líneadelimitador

Si algún carácter de la palabra está delimitado, el delimitador se forma eliminando el carácter dedelimitación de la palabra. Las líneas del documento presente no se expandirán. De lo contrario, eldelimitador es la propia palabra. Si ninguno de los caracteres de la palabra está delimitado, se expandirántodas las líneas del documento de entrada en línea para la expansión del parámetro, sustitución delmandato y expansión aritmética.

El shell efectúa sustitución de parámetros para los datos redirigidos. Para evitar que el shell interprete loscaracteres \, $ 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 deldocumento.

<&Dígito Duplica la entrada estándar del descriptor de archivo especificado por el parámetroDí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.

Capítulo 11. Shells 181

Page 198: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

<&p Mueve la entrada del coproceso a la entrada estándar.>&p Mueve la salida del coproceso a la salida estándar.

Si una de estas opciones de redirección va precedida de un dígito, el dígito especifica el número dedescriptor de archivo al que se hace referencia (en lugar del valor por omisión de 0 ó 1). En el siguienteejemplo, el shell abre el descriptor de archivo 2 para grabar como duplicado del descriptor de archivo 1:... 2>&1

El orden en que se especifica la redirección es importante. El shell evalúa la redirección, de acuerdo conla asociación (DescriptorArchivo, Archivo), en el momento de realizar la evaluación. Por ejemplo, en lasentencia:... 1>Archivo 2>&1

el descriptor de archivo 1 está asociado al archivo que especifica el parámetro Archivo. El shell asocia eldescriptor de archivo 2 al archivo que se asocia al descriptor de archivo 1 (Archivo). Si se invirtiera elorden de las redirecciones, el descriptor de archivo 2 se asociaría al terminal (dando por supuesto queanteriormente hubiera sido el descriptor de archivo 1) y el descriptor de archivo 1 se asociaría al archivoque 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ónpara el mandato es el archivo vacío, /dev/null . De lo contrario, el entorno para la ejecución de unmandato contiene los descriptores de archivo del shell que efectúa la llamada mediante lasespecificaciones 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 ysalida” 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 coprocesosson útiles cuando desea comunicar con un programa.

Un coproceso se designa colocando el operador |& detrás de un mandato. Tanto la entrada como lasalida estándar del mandato se enlazan con el script.

Un coproceso debe cumplir con las siguientes restricciones:

v Incluir un carácter de nueva línea al final de cada mensaje

v Enviar cada mensaje de salida a la salida estándar

v Borrar su salida estándar después de cada mensaje.

El siguiente ejemplo demuestra cómo se pasa la entrada y se devuelve desde un coproceso:echo "Proceso inicial"./FileB.sh |&read -p a b c decho "Leer desde coproceso: $a $b $c $d"print -p "Pasado al coproceso"read -p a b c decho "Pasado nuevamente desde el coproceso: $a $b $c $d"

FileB.shecho "El coproceso está ejecutándose"read a b c decho $a $b $c $d

La salida estándar resultante es:

182 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 199: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Proceso inicialLeer desde coproceso: El coproceso está ejecutándosePasado nuevamente desde el coproceso: Pasado al coproceso

El mandato print -p le permite escribir en el coproceso. Para leer desde el coproceso, emita el mandatoread -p .

Redirección de la entrada y salida del coproceso

La entrada y salida estándar de un coproceso se reasigna a un descriptor de archivo numerado utilizandola redirección de E/S. Por ejemplo, el mandato:exec 5>&p

mueve la entrada del coproceso al descriptor de archivo 5.

Una vez se ha efectuado esta operación, puede utilizar la sintaxis de redirección estándar para redirigir lasalida del mandato al coproceso. También puede iniciar otro coproceso. La salida de ambos coprocesosse asocia al mismo conducto y se lee con el mandato read -p . Para detener el coproceso, escriba:read -u5

Estado de la salida en el shell Korn o shell POSIX

Los errores detectados por el shell, por ejemplo errores de sintaxis, hacen que el shell devuelva unestado de salida distinto a cero. De lo contrario, el shell devuelve el estado de salida del último mandatollevado a cabo. El shell informa de errores detectados durante la ejecución imprimiendo el mandato onombre de función y la condición de error. Si el número de la línea en la que se ha producido un error esmayor que 1, el número de la línea también se imprime entre [ ] (corchetes) tras el nombre del mandato ode la función.

En el caso de un shell no interactivo, un error que haya encontrado un mandato incorporado especial uotro tipo de mandato dará lugar a que el shell grabe un mensaje de diagnóstico, como el que se muestraen la tabla siguiente:

Error Especial incorporado Otros programas deutilidad

Error de sintaxis de lenguaje del shell saldrá saldrá

Error de sintaxis del programa de utilidad (error en opción uoperando)

saldrá no saldrá

Error de redirección saldrá no saldrá

Error de asignación de variable saldrá no saldrá

Error de expansión saldrá no saldrá

Mandato no encontrado no se aplica podría salir

Script de punto no encontrado saldrá no se aplica

Si alguno de los errores se muestra como ″finalizará (puede finalizar)″ se produce en un subshell, elsubshell finalizará (puede finalizar) con un estado distinto a cero, pero el script que contiene el subshellno finalizará a causa del error.

En todos los casos que se muestran en la tabla, un shell interactivo grabará un mensaje de diagnósticoen el error estándar, sin finalizar.

Para obtener más información acerca de la redirección, consulte el apartado ″“Redirección de entrada yde salida en el shell Korn o shell POSIX” en la página 181″.

Capítulo 11. Shells 183

Page 200: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v “Información relacionada con el shell Korn” en la página 209

Mandatos del shell Korn o shell POSIX

El shell Korn es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. Seajusta a la Interfaz de Sistema Operativo Portable para Entornos del Sistema (POSIX), un estándarinternacional para sistemas operativos. POSIX no es un sistema operativo, sino que es un estándar cuyafinalidad es facilitar la portabilidad de las aplicaciones, en el nivel del fuente, entre muchos sistemas. Lasfunciones de POSIX se crean al principio del shell Korn. El shell Korn (también conocido como el shellPOSIX) ofrece muchas de las mismas funciones de los shells Bourne y C, por ejemplo posibilidades deredirección E/S, sustitución de variables y sustitución de nombres de archivo. También incluye algunasfunciones de mandatos y de programación adicionales:

Evaluación aritmética El shell Korn, o shell POSIX, puede efectuar aritmética de enteros utilizando el mandato letincorporado, utilizando cualquier base de 2 a 36. En el apartado “Evaluación aritmética en elshell Korn o shell POSIX” en la página 177 se proporciona una descripción más detallada deesta función.

Histórico demandatos

El shell Korn o shell POSIX almacena un archivo que registra todos los mandatos que entre.Puede utilizar un editor de texto para alterar un mandato en este archivo histórico y volver aemitir el mandato. Para obtener más información acerca de la función del histórico demandatos, consulte el apartado “Histórico de mandatos del shell Korn o shell POSIX” en lapágina 185.

Recurso decoproceso

En el apartado “Recurso de coproceso” en la página 182 se proporciona información que lepermitirá ejecutar programas como procesos de fondo y enviar y recibir información paraesos procesos de fondo.

Edición El shell Korn o shell POSIX ofrece opciones de edición en línea que le permiten editar lalí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 unadescripción más detallada de esta función.

En este apartado se explica lo siguiente:

v “Entorno del shell Korn”

v “Inicio del shell” en la página 185

v “Histórico de mandatos del shell Korn o shell POSIX” en la página 185

Entorno del shell Korn

Todas las variables (y los valores que se asocian a éstas) que un mandato reconoce al inicio de suejecución constituyen su entorno. Este entorno incluye variables que un mandato hereda de sus variablesy proceso padre especificados como palabras clave en la línea de mandatos que llama al mandato. Elshell interactúa con el entorno de varios modos. Cuando se inicia, el shell explora el entorno y crea unparámetro para cada nombre encontrado, dando al parámetro el valor correspondiente y marcándolo paraexportación. Los mandatos ejecutados heredan el entorno.

Si modifica los valores de los parámetros del shell o crea nuevos valores utilizando los mandatos exporto typeset -x , los parámetros formarán parte del entorno. Por lo tanto, desde el punto de vista de cualquiermandato 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 delos mandatos export o typeset -x . El mandato ejecutado (subshell) verá las modificaciones que crea paralas variables de entorno que ha heredado, pero necesitará exportar dichas variables para sus shells oprocesos hijo para ver los valores modificados.

184 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 201: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

El entorno para cualquier mandato o función simple se modifica prefijando con una o más asignacionesde parámetros. Un argumento de asignación de un parámetro es una palabra en el formatoIdentificador=Valor.De este modo, las dos expresiones siguientes son equivalentes (en lo que respecta ala ejecución del mandato).TERM=450 Mandato argumentos

(export TERM; TERM=450; Mandato argumentos)

Si se ha establecido el distintivo -k, todos los argumentos de asignaciones de parámetros se colocan enel entorno, incluso si aparecen después del nombre del mandato. Lo siguiente primero imprime a=b c ydespués c:echo a=b cset -kecho a=b c

Nota: Esta función está pensada para utilizarse con los scripts que se han escrito para versionesanteriores del shell. Se recomienda encarecidamente que no se utilice en scripts nuevos.

Inicio del shell

Puede iniciar el shell Korn con el mandato ksh o con el mandato psh (shell POSIX).

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 delarchivo /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 archivoindicado realizando la sustitución de parámetros en el valor de la variable de entorno ENV, si existe elarchivo.

Si especifica el parámetro Archivo [Parámetro] al invocar al shell Korn o al shell POSIX, el shell ejecuta elarchivo de script que identifica el parámetro Archivo, incluidos los parámetros especificados. El archivo descript especificado debe tener permiso de lectura; los valores setuid y setgid se pasan por alto. El shelllee a continuación los mandatos.

Nota: No especifique un archivo de script con los distintivos -c o -s.

Consulte el apartado “Sustitución de parámetros en el shell Korn o shell POSIX” en la página 172 paraobtener más información acerca de los parámetros de posición.

Indicador del shellCuando se utiliza de forma interactiva, el shell realiza una solicitud con el valor del parámetro PS1 antesde leer un mandato. Si en cualquier momento se entra una nueva línea y el shell requiere más entradapara poder completar un mandato, el shell emite el indicador secundario (el valor del parámetro PS2).

Histórico de mandatos del shell Korn o shell POSIX

El shell Korn o POSIX guarda los mandatos entrados desde el dispositivo de terminal en un archivohistórico. Si se ha establecido, el valor de la variable HISTFILE es el nombre del archivo histórico. Si lavariable HISTFILE no se ha establecido o no puede escribirse, el archivo histórico que se utiliza es$HOME/.sh_history . Si el archivo histórico no existe y el shell Korn no puede crearlo o si no existe y elshell Korn no tiene permiso para añadirlo, el shell Korn utiliza un archivo temporal como archivo histórico.El shell accede a los mandatos de todos los shells interactivos utilizando el archivo histórico indicado conpermisos apropiados.

Capítulo 11. Shells 185

Page 202: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por omisión, el shell Korn o POSIX guarda el texto de los 128 últimos mandatos entrados desde undispositivo de terminal. El tamaño del archivo histórico (especificado por la variable HISTSIZE) no estálimitado, aunque un archivo histórico muy grande puede hacer que el shell Korn se arranque muylentamente.

Sustitución del histórico de mandatosUtilice el mandato incorporado fc para listar o editar partes del archivo histórico. Para seleccionar unaparte del archivo a editar o listar, especifique el número del primer carácter o caracteres del mandato.Puede especificar un solo mandato o un rango de mandatos.

Si no especifica un programa editor como argumento para el mandato incorporado normal fc , se utiliza eleditor 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 elmandato antes de que se ejecute. Por ejemplo, si para r se especifica el alias fc -e -, cuando se escribar bad=good c se ejecutará el mandato más reciente que empiece por la letra c y se sustituirá la primeraaparició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 mandatofc en la publicación AIX 5L Version 5.1 Commands Reference.

Mandatos incorporados del shell Korn o shell POSIX

Los mandatos especiales se crean en el shell Korn y en el shell POSIX y se ejecutan en el proceso deshell. A menos que se indique algo distinto, la salida se graba en el descriptor de archivo 1 y el estado dela salida es cero (0) si el mandato no contiene ningún error de sintaxis. Se permite la redirección deentrada y de salida. Existen dos tipos de mandatos incorporados, los mandatos incorporados especiales ylos mandatos incorporados normales.

Consulte el apartado “Lista de mandatos incorporados del shell Korn o shell POSIX” en la página 197 paraver un listado alfabético de estos mandatos.

Los mandatos especiales incorporados se diferencian de los mandatos normales incorporados de estemodo:

v Un error de sintaxis en un mandato incorporado especial podría dar lugar a la finalización del shell queejecuta el mandato. Esto no ocurre si se produce un error de sintaxis en un mandato normalincorporado. Si un error de sintaxis en un mandato especial incorporado no finaliza el programa deshell, el valor de salida es distinto de cero.

v Las asignaciones de variables especificadas con mandatos especiales incorporados permanecenvigentes después de que se complete el mandato. Esta situación no se produce con los mandatosnormales 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 losmandatos especiales export , readonly y typeset se expanden con las mismas normas que la asignaciónde un parámetro. Esto significa que la sustitución de la tilde se realiza después de = y que la subdivisiónde palabras y la sustitución del nombre del archivo no se realizan.

Descripciones de los mandatos incorporados especialesEl shell Korn proporciona los siguientes mandatos especiales incorporados:

186 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 203: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

: eval newgrp shift. exec readonly timesbreak exit return trapcontinue export set typeset

unset

: [Argumento ...] Expande únicamente argumentos. Se utiliza cuando se necesita un mandato, como en lacondició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 mandatosse ejecutan en el entorno de shell actual. La vía de búsqueda que especifica la variablePATH se utiliza para buscar el directorio que contiene el archivo especificado. Si seespecifican argumentos, pasan a ser los parámetros posicionales. De lo contrario, losparámetros posicionales permanecen intactos. El estado de salida es el estado del últimomandato ejecutado. Consulte el apartado “Sustitución de parámetros en el shell Korn o shellPOSIX” en la página 172 para obtener más información acerca de los parámetros deposición.

Nota: El mandato .Archivo [Argumento ...] lee todo el archivo antes de que se ejecutenlos mandatos. Por lo tanto, los mandatos alias y unalias del archivo no se aplican alas 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 elparámetro n, el mandato realizará interrupciones basándose en el número de niveles que seespecifica mediante el parámetro n. El valor de n puede ser cualquier entero igual o mayorque 1.

continue [n] Reanuda la siguiente iteración del bucle de delimitación for , while , until o select . Siespecifica la variable n, el mandato se reanudará en el bucle delimitador que ocupe laposició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 mandatosresultantes.

exec [Argumento ...] Ejecuta un mandato especificado por el argumento en lugar de este shell (sin crear unproceso nuevo). Los argumentos de entrada y salida pueden aparecer y afectar al procesoactual. Si no especifica un argumento, el mandato exec modificará los descriptores dearchivos 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 secierra 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 serun entero decimal sin signo entre el 0 y el 255. Si omite el parámetro n, el estado de salidaserá el del último mandato ejecutado. Un carácter de fin de archivo también provoca la salidadel shell, a menos que se haya activado la opción ignoreeof del mandato especial set .

export -p [Nombre[=Valor]] ...

Marca los nombres especificados para su exportación automática al entorno de los mandatosque se ejecutarán posteriormente.

-p graba en salida estándar los nombres y valores de todas las variables exportadas, en elformato siguiente:

"export %s= %s\n", <nombre> <valor>newgrp [Grupo] Equivale al mandato exec/usr/bin/newgrp [Grupo].

Nota: Este mandato no tiene retorno.readonly -p [Nombre[=Valor]] ...

Marca los nombres que especifica el parámetro Nombre como de sólo lectura. Ningunaasignación posterior puede cambiar estos nombres.

-p graba en salida estándar los nombres y valores de todas las variables exportadas, en elformato 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 .

Capítulo 11. Shells 187

Page 204: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

set [+|-abCefhkmnostuvx ][+ |-o Opción]... [+ |-ANombre] [Argumento...]

Si no se especifica ninguna opción o argumento, el mandato set graba los nombres y losvalores de todas las variables de shell en el orden de clasificación del entorno local actual.Cuando se especifican opciones, definirán o eliminarán la definición de atributos del shell,como se describe a continuación. Cuando se especifican argumentos, estos permitirán definiro eliminar la definición de parámetros posicionales, tal como se describe a continuación. Losdistintivos de este mandato se interpretan como se indica a continuación:

-AAsignación de matriz. Elimina el establecimiento del parámetro Nombre y asignavalores secuencialmente a partir de la lista del parámetro Argumento que se haespecificado. Si se utiliza el distintivo +A, no se eliminará primer el establecimientodel parámetro Nombre.

-a Exporta automáticamente todos los parámetros posteriores que se definan.

-b Notifica al usuario las finalizaciones de trabajos asíncronos o en segundo plano.

-C Equivalente a set -o noclobber.

-e Ejecuta la ruptura ERR, si se ha establecido, y sale si un mandato tiene un estadode salida que no es cero. Esta modalidad está inhabilitada mientras se leen perfiles.

-f Inhabilita la sustitución de nombres de archivo.

-h Designa cada mandato como un seudónimo con seguimiento la primera vez que seencuentra.

-k Sitúa todos los argumentos de asignación de parámetros del entorno de unmandato, no sólo los argumentos que preceden al nombre del mandato.

-m Ejecuta trabajos en segundo plano en un proceso independiente e imprime unalínea cuando se finaliza. Se informa del estado de salida de trabajos en segundoplano en un mensaje de finalización. En los sistemas que disponen de control detrabajos, este distintivo se activa automáticamente para los shells interactivos(consulte el apartado “Control de trabajos en el shell Korn o shell POSIX” en lapágina 199.)

-n Lee mandatos y comprueba si existen errores de sintaxis, pero no los ejecuta. Estedistintivo se ignora para shells interactivos.

188 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 205: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

-o OpciónImprime los valores actuales de la opción y un mensaje de error si no especifica unargumento. Puede establecer más de una opción en una única línea de mandatosksh . Si se utiliza el distintivo +o, se elimina el establecimiento de la opciónespecificada. Los argumentos, como especifica la variable Opción, pueden ser unode los siguientes:

allexportIgual que el distintivo -a.

errexit Igual que el distintivo -e.

bgniceEjecuta todos los trabajos en segundo plano a una prioridad inferior. Setrata de la modalidad por omisión.

emacsEntra en un editor en línea de estilo emacs para la entrada de mandatos.

gmacsEntra en un editor en línea estilo gmacs para entrada de mandatos.

ignoreeofNo sale del shell cuando encuentra un carácter de fin de archivo. Para salirdel shell, debe utilizar el mandato exit o pulsar la secuencia de teclasControl-D más de 11 veces.

keywordEs igual al distintivo -k.

Nota: Este distintivo se ha mantenido únicamente para conservar lacompatibilidad con las versiones anteriores del shell Bourne. Sedesaconseja su uso.

markdirsAñade una / a todos los nombres de directorio que son el resultado de unasustitución de nombre de archivo.

monitorIgual que el distintivo -m.

noclobberImpide que la redirección trunque archivos existentes. Cuando especifiqueesta opción, deberá existir una barra vertical a continuación del símbolo deredirección (>|) para permitir el truncamiento de un archivo.

noexecIgual que el distintivo -n.

noglobIgual que el distintivo -f.

nolog Impide que se guarden las definiciones de funciones en el archivo histórico.

nounsetIgual que el distintivo -u.

privilegedIgual que el distintivo -p.

Capítulo 11. Shells 189

Page 206: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

verboseIgual que el distintivo -v.

trackallIgual que el distintivo -h.

vi Entra en la modalidad de inserción de un editor en línea de estilo vi para laentrada de mandatos. Si entra el carácter de escape 033, situará el editoren modalidad de movimiento. Si pulsa la tecla Intro, enviará una línea.

viraw Procesa cada carácter que se escribe en modalidad vi.

xtrace Igual que el distintivo -x.

-p Inhabilita el proceso del archivo $HOME/.profile y utiliza el archivo /etc/suid_profile en lugar del archivo ENV. Esta modalidad se habilita siempre que el ID deusuario vigente (UID) o ID de grupo (GID) no sea igual que el UID o GID real.Desactivar esta opción define el UID o GID vigente en el UID y GUI real.

Nota: El sistema no soporta la opción -p, ya que el sistema operativo nosoporta los scripts de shell setuid .

-s Ordena los parámetros posicionales lexicográficamente.

-t Sale después de leer y ejecutar un mandato.

Nota: Este distintivo se ha mantenido únicamente para conservar lacompatibilidad con las versiones anteriores del shell Bourne. Se desaconsejasu uso.

-uCuando se sustituyan parámetros a los que se ha eliminado la definición, losinterpreta como errores.

-v Imprime las líneas de entrada del shell a medida que se leen.

-x Imprime mandatos y sus argumentos a medida que se ejecutan.

- Desactiva los distintivos -x y -v y detiene el examen de argumentos para distintivos.

— Impide que se modifique ningún distintivo. Esta opción es útil para establecer elparámetro $1 en un valor que empiece por un -. Si no hay ningún argumento quesiga a este distintivo, no se definen los parámetros posicionales.

Si delante de cualquier distintivo del mandato set se especifica un signo + en lugar de unsigno -, el distintivo quedará desactivado. Puede utilizar estos distintivos cuando llame alshell. El conjunto actual de distintivos se encuentra en el parámetro $-. A menos queespecifique el distintivo -A, los argumentos restantes son parámetros posicionales y se lesasigna, por orden, $1, $2, ..., etc. Si no se proporciona ningún argumento, los nombres y losvalores de todos los parámetros con nombre se imprimirán en la salida estándar.

shift [n] Renombra los parámetros posicionales, comenzando por $n+1 ... hasta $1 ... El valor poromisión del parámetro n es 1. El parámetro n es cualquier expresión aritmética que seevalúe en un número no negativo menor que o igual al parámetro $#.

times Imprime las horas de usuario y del sistema totales para el shell y para procesos que seejecutan desde el shell.

190 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 207: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

trap [Mandato] [Señal]...

Ejecuta el mandato especificado cuando el shell recibe la señal o señales especificadas. Elparámetro Mandato se lee una vez cuando se establece la ruptura y una vez cuando setoma la ruptura. El parámetro Señal puede especificarse como un número o como el nombrede la señal. Los mandatos de ruptura se ejecutan en orden de número de señal. Cualquierintento de definir una ruptura o una señal que se ignoró en la entrada al shell actual no esefectivo.

Si el mandato es un -, todas las rupturas volverán a establecerse en sus valores originales.Si omite el mandato y la primera señal es un número de señal numérica, el mandato kshvolverá a establecer el valor del parámetro o parámetros Señal en los valores originales.

Nota: Si omite el mandato y la primera señal es un nombre simbólico, la señal seinterpreta como un mandato.

Si el valor del parámetro Señal es la señal ERR, el mandato especificado se ejecutarásiempre que un mandato tenga un estado de salida que no sea cero. Si la señal es DEBUG,el mandato especificado se ejecutará después de cada mandato. Si el valor del parámetroSeñal es la señal 0 o EXIT y el mandato trap se ejecuta dentro del cuerpo de una función, elmandato especificado se ejecutará tras completarse la función. Si el parámetro Señal es 0 oEXIT para un mandato trap establecido fuera de cualquier función, el mandato especificadose ejecutará al salir del shell. El mandato trap sin argumentos imprime una lista demandatos asociados con cada número de señal.

Para obtener una lista completa de los valores del parámetro Señal, que se utilizan en elmandato trap sin el prefijo SIG, consulte la subrutina sigaction , sigvec o signal en lapublicación AIX 5L Version 5.1 Technical Reference: Base Operating System and ExtensionsVolume 2.

Capítulo 11. Shells 191

Page 208: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

typeset [+HLRZfilrtux[n]] [Nombre[= Valor]]...

Define atributos y valores para parámetros de shell. Cuando se invoca dentro de unafunción, se crea una nueva instancia del parámetro Nombre. El valor y el tipo del parámetrose restauran cuando se completa la función. Con el mandato typeset , puede especificar losdistintivos siguientes:

-H Proporciona correlación AIX a archivo del sistema principal en máquinas que no sonAIX.

-L Justifica el texto por la izquierda y elimina los blancos iniciales del parámetro Valor.Si el parámetro n tiene un valor que no es cero, define la anchura del campo; de locontrario, se determina utilizando la anchura del valor de su primera asignación.Cuando se asigna el parámetro, se rellena por la derecha con blancos o se trunca,si es necesario, para que encaje en en campo. Los ceros iniciales se eliminan sitambién se ha establecido el distintivo -Z. El distintivo -R se desactiva.

-R Justifica por la derecha y rellena con blancos iniciales. Si el parámetro n tiene unvalor que no es cero, define la anchura del campo; de lo contrario, se determinautilizando la anchura del valor de su primera asignación. El campo permanecerellenado con blancos o se trunca desde el final si se reasigna el parámetro. Eldistintivo L se desactiva.

-Z Justifica el texto por la derecha y lo rellena con ceros iniciales si el primer carácterque no es un blanco es un dígito y no se ha establecido el distintivo -L. Si elparámetro n tiene un valor distinto de cero, define la anchura del campo; de locontrario, está determinada por la anchura del valor de su primera asignación.

-f Indica que los nombres hacen referencia a los nombres de funciones, en lugar denombres de parámetros. No pueden realizarse asignaciones y los otros distintivosválidos son -t, -u y -x. El distintivo -t activa el rastreo de ejecución para estafunción. El distintivo -u hace que esta función se marque como no definida. Ladefinición de función se busca en la variable FPATH cuando se hace referencia a lafunción. El distintivo -x permite dejar en vigor la definición de función entre scriptsde shell que no son una llamada independiente del mandato ksh .

-i Identifica el parámetro como un entero, con una aritmética más rápida. Si elparámetro n tiene un valor que no es cero, define la base aritmética de salida; de locontrario, la primera asignación determina la base de salida.

-l Convierte todos los caracteres mayúsculas en minúsculas. El distintivo deconversión en mayúsculas -u está desactivado.

-r Marca los nombres que especifica el parámetro Nombre como de sólo lectura.Ninguna asignación posterior puede cambiar estos nombres.

-t Identifica los parámetros designados. El usuario puede definir los y no tiene ningúnsignificado especial para el shell.

-u Convierte todos los caracteres en minúsculas a caracteres mayúsculas. El distintivode minúsculas -l está desactivado.

-x Marca el nombre que especifica el parámetro Nombre para su exportaciónautomá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 delmandato typeset . Si no especifica parámetros Nombre pero sí especifica distintivos,se imprimirá una lista de los nombres (y, opcionalmente, de los valores) de losparámetros en los que se han establecido esos distintivos. (La utilización de unsigno + en lugar de un signo - impide que se impriman los valores.) Si no especificanombres ni distintivos, se imprimen los nombres y atributos de todos losparámetros.

192 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 209: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

unset [-fv ] Nombre ... Elimina la definición de los valores y atributos de los parámetros proporcionados por la listade nombres. Si se especifica -v, Nombre hará referencia a un nombre de variable y el shelleliminará su establecimiento y luego lo eliminará del entorno. No puede eliminarse ladefinición de las variables de sólo lectura. La eliminación del establecimiento de las variablesERRNO, LINENO, MAILCHECK , OPTARG, OPTIND, RANDOM, SECONDS, TMOUT ysubrayado ( _) eliminará sus significados especiales, aunque se asignen posteriormente.

Si se define el distintivo -f, Nombre hace referencia al nombre de una función y el shelleliminará la definición de la función.

Descripciones de mandatos incorporados normalesEl shell Korn proporciona los siguientes es incorporados:

alias fg print ulimitbg getopts pwd umaskcd jobs read unaliascommand kill setgroups waitecho let test whencefc

alias [-t ] [-x ][NombreAlias[=Serie]]...

Crea o redefine las definiciones de alias o graba definiciones de alias existentes en la salidaestándar.

Para obtener más información, consulte el mandato alias en la publicación AIX 5L Version5.1 Commands Reference.

bg [IDTrabajo...] Sitúa el trabajo especificado en segundo plano. El trabajo actual se establece como trabajode fondo si el parámetro IDTrabajo no se ha especificado. Consulte el apartado “Control detrabajos en el shell Korn o shell POSIX” en la página 199 para obtener más informaciónacerca del control de trabajos.

Para obtener más información acerca de la ejecución de los trabajos como trabajos defondo, 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 delparámetro Argumento es -, se cambia al directorio anterior. La variable de shell HOME es elvalor por omisión del parámetro Argumento. La variable PWD se establece en el valor deldirectorio actual.

La variable de shell CDPATH define cada vía de búsqueda del directorio que contiene elvalor del parámetro Argumento. Los nombres de los directorios alternativos se separan pormedio de un carácter :. La vía de acceso por omisión es nula, especificando el directorioactual. El directorio actual está especificado por un nombre de vía de acceso nulo, queaparece inmediatamente después del signo de igual o entre los delimitadores de dos puntosen cualquier parte de la lista de vías de acceso. Si el argumento especificado empieza poruna /, no se utiliza la vía de búsqueda. De lo contrario, se busca en todos los directorios dela vía de acceso.

El segundo formato del mandato cd sustituye la serie que especifica la variable Nuevo por laserie que especifica la variable Viejo para el nombre del directorio actual, PWD, e intentacambiar al nuevo directorio.

command [-p ]NombreMandato[Argumento ...]command [-v | -V ]NombreMandato

Command hace que el shell trate al mandato y argumentos especificados como si fueran unmandato simple, suprimiendo la búsqueda de función del shell.

Para obtener más información, consulte el mandato command en la publicación AIX 5LVersion 5.1 Commands Reference.

Capítulo 11. Shells 193

Page 210: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

echo [Serie ...] Graba series de caracteres a salida estándar. Consulte el mandato echo para obtenerinformación acerca de su utilización y conocer su descripción. El distintivo -n no estásoportado.

fc [-r ] [-e Editor][Primero [Último]]fc -l [-n ] [-r ] [Primero[Último]]fc -s [Viejo= Nuevo][Primero]

Muestra el contenido del archivo histórico de mandatos o llama a un editor para efectuarmodificaciones y vuelve a ejecutar mandatos entrados anteriormente en el shell.

Para obtener más información, consulte el mandato fc en la publicación AIX 5L Version 5.1Commands Reference.

fg [IDTrabajo] Sitúa cada trabajo especificado en el primer plano. Si no especifica ningún trabajo, elmandato 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 enprimer plano, consulte el mandato fg en la publicación AIX 5L Version 5.1 CommandsReference.

getopts SerieOpciónNombre [Argumento ...]

Comprueba el parámetro Argumento en busca de opciones legales.

Para obtener más información, consulte el mandato getopts en la publicación AIX 5L Version5.1 Commands Reference.

jobs [-l | -n | -p ][IDTrabajo ...]

Muestra el estado de trabajos iniciados en el entorno de shell actual. Si no es haespecificado ningún trabajo específico con el parámetro IDTrabajo, se visualiza lainformación de estado de todos los trabajos activos. Si se informa de la finalización de untrabajo, el shell elimina el ID del proceso de dicho trabajo de la lista de los que conoce elentorno de shell actual.

Para obtener más información, consulte el mandato jobs en la publicación AIX 5L Version5.1 Commands Reference.

kill [ -s { NombreSeñal| NúmeroSeñal } ]IDProceso...

Envía una señal (por omisión, la señal SIGTERM) a un proceso en ejecución. Esta acciónpor omisión normalmente detiene los procesos. Si desea detener un proceso, especifique elID del proceso (PID) en la variable IDProceso. El shell informa al PID de cada proceso queestá ejecutándose en segundo plano (a menos que inicie más de un proceso en unconducto, en cuyo caso el shell informa del número del último proceso). También puedeutilizar el mandato ps para localizar el número de ID de proceso de mandatos.

kill [ -NombreSeñal |-NúmeroSeñal ]IDProceso...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.1Commands Reference.

let Expresión ... Evalúa expresiones aritméticas especificadas. El estado de salida es 0 si el valor de la últimaexpresión es distinto de cero y 1 si sucede lo contrario. Consulte el apartado “Evaluaciónaritmética en el shell Korn o shell POSIX” en la página 177 para obtener más información.

194 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 211: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

print [-Rnprsu [n]][Argumento ...]

Imprime la salida del shell. Si no ha especificado ningún distintivo, o si se han especificadolos distintivos del guión (-) o del guión doble (—), los argumentos se imprimen en la salidaestándar, como describe el mandato echo . Los distintivos hacen lo siguiente:

-R Imprime en modalidad bruta (los convenios de escape del mandato echo se pasanpor alto). El distintivo -R imprime todos los argumentos y distintivos subsiguientesdistintos de -n.

-n Impide que se añada un carácter de nueva línea a la salida.

-p Graba los argumentos en el conducto del proceso ejecutado con |& en lugar de enla salida estándar.

-r Imprime en modalidad bruta. Los convenios de escape del mandato echo se pasanpor alto.

-s Graba los argumentos en el archivo histórico en lugar de en la salida estándar.

-u Especifica un número de unidad de descriptor de archivo de un dígito, n, en el quese coloca la salida. El valor por omisión es 1.

pwd Equivale a print-r - $PWD.

Nota: El mandato interno del shell Korn pwd no da soporte a los enlaces simbólicos.

read [-prsu [n ]][Nombre?Solicitud][Nombre...]

Acepta la entrada del shell. Se lee una línea y ésta se divide en campos, utilizando loscaracteres de la variable IFS como separadores.

Para obtener más información, consulte el mandato read en la publicación AIX 5L Version5.1 Commands Reference.

setgroups Ejecuta el mandato /usr/bin/setgroups , el cual se ejecuta como un shell separado. Consulteel mandato setgroups para obtener información acerca de su funcionamiento. No obstante,existe una diferencia. El mandato incorporado setgroups invoca un subshell, pero elmandato setgroups sustituye el shell que está ejecutándose actualmente. Puesto que elmandato incorporado sólo recibe soporte por razones de compatibilidad, se recomienda quelos scripts utilicen el nombre absoluto de vía de acceso /usr/bin/setgroups en lugar delmandato incorporado del shell.

test Es igual a [expresión]. Consulte el apartado “Expresiones condicionales para el shell Korn oel shell POSIX” en la página 198 para obtener información acerca de su utilización y conocersu descripción.

Capítulo 11. Shells 195

Page 212: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

ulimit [-HSacdfmst ][Límite]

Establece o visualiza los límites de los recursos del proceso definidos por el usuario tal comose definen en el archivo /etc/security/limits . Este archivo contiene seis límites por omisión:

fsize = 2097151core = 2048cpu = 3600data = 131072rss = 65536stack = 8192

Estos valores se utilizan como valores por omisión cuando se añade un nuevo usuario alsistema. Los valores se establecen con el mandato mkuser cuando el usuario se añade alsistema 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 suslímites flexibles, hasta el valor máximo establecido por los límites fijos, utilizando el mandatoulimit . Debe tener autorización de usuario root para cambiar los límites fijos de recursos.

Muchos sistemas no contienen uno o más de dichos límites. El límite de un recursoespecificado se establece cuando se especifica el parámetro Límite. El valor del parámetroLímite puede ser un número de la unidad que se ha especificado con cada recurso o bien elvalor unlimited. Puede especificar los distintivos del mandato ulimit siguientes:

-H Especifica que se define el límite fijo del recurso proporcionado. Si tieneautorización de usuario root, puede aumentar el límite fijo. Cualquier usuario puedereducirlo.

-S Especifica que se define el límite dinámico para el recurso proporcionado. Un límitelimitado puede aumentarse hasta el valor del límite fijo. Si no se especifican lasopciones -H ni -S, el límite se aplica a ambos.

-a Lista todos los límites de recursos actuales.

-c Especifica el número de bloques de 512 bytes en el tamaño de vuelcos de imagende memoria.

-d Especifica el tamaño, en KB, del área de datos.

-f Especifica el número de bloques de 512 bytes para archivos grabados por losprocesos hijo (pueden leerse archivos de cualquier tamaño).

-m Especifica el número de KB para el tamaño de la memoria física.

-n Especifica el límite en el número de descriptores de archivos que un proceso podríahaber abierto.

-s Especifica el número de KB para el tamaño del área de pila.

-t Especifica el número de segundos que se utilizará en cada proceso.El límite del recurso actual se imprime cuando se omite la variable Límite. El límite flexible seimprime, a menos que especifique el distintivo -H. Cuando especifique más de un recurso, elnombre y unidad del límite se imprimen antes del valor. Si no se proporciona ninguna opción,se da por supuesto el distintivo -f. Cuando cambie el valor, defina tanto los límites fijos comolos dinámicos en Límite a no ser que especifique -H o -S.

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.1Technical 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 decreación, determina los permisos de un archivo cuando se crea el archivo. El valor poromisión es 022. Si no se especifica el parámetro Máscara, el mandato umask muestra ensalida 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 umasken la publicación AIX 5L Version 5.1 Commands Reference.

196 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 213: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

unalias { -a |NombreAlias... }

Elimina la definición de cada nombre de alias que se ha especificado o bien elimina todaslas definiciones de alias si se utiliza el distintivo -a. Se eliminan las definiciones de alias delentorno de shell actual.

Para obtener más información, consulte el mandato unalias en la publicación AIX 5L Version5.1 Commands Reference.

wait [IDProceso...] Espera al trabajo especificado y termina. Si no especifica un trabajo, el mandato espera a losprocesos hijo activos actualmente. El estado de salida de este mandato es el del proceso alque espera.

Para obtener más información, consulte el mandato wait en la publicación AIX 5L Version5.1 Commands Reference.

whence [-pv ] Nombre...

Indica, para cada nombre especificado, cómo se interpretaría si se utilizara como un nombrede mandato. Cuando se utilice sin ninguno de los distintivos, whence visualizará el nombreabsoluto 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 sison alias, funciones o palabras reservadas.

-v Genera un informe más detallado en el que se especifica a qué tipo correspondecada nombre.

Lista de mandatos incorporados del shell Korn o shell POSIX

Mandatos incorporados especiales

: (dos puntos) Expande únicamente argumentos.. (punto) Lee un archivo especificado y, a continuación, ejecuta los mandatos.break Sale del bucle de delimitación for , while , until o select , si existe uno.continue Reanuda la siguiente iteración del bucle de delimitación for , while , until o select .eval Lee los argumentos como entrada al shell y ejecuta el mandato o mandatos resultantes.exec Ejecuta el mandato que especifica el parámetro Argumento, en lugar de este shell, sin crear un

nuevo proceso.exit Sale del shell cuyo estado de salida especifica el parámetro n.export Marca nombres para exportación automática al entorno de mandatos ejecutados sucesivamente.newgrp Equivale al mandato exec /usr/bin/newgrp [Grupo ...].readonly Marca los nombres especificados como de sólo lectura.return Hace que el shell vuelva al script de invocación.set A menos que se especifiquen opciones o argumentos, graba los nombres y los valores de todas

las variables de shell en el orden de clasificación del entorno local actual.shift Cambia el nombre de los parámetros de posición.times Imprime las horas de usuario y del sistema acumuladas correspondientes al shell y a los procesos

que se ejecutan desde el shell.trap Ejecuta el mandato especificado cuando el shell recibe la señal o señales especificadas.typeset Define atributos y valores para parámetros de shell.unset Elimina el establecimiento de los valores y atributos de los parámetros especificados.

Mandatos incorporados normales

alias Imprime una lista de los alias en la salida estándar.bg Establece los trabajos especificados como trabajos de fondo.cd Cambia el directorio actual por el directorio especificado o sustituye la serie actual por la serie

especificada.echo Graba series de caracteres a salida estándar.

Capítulo 11. Shells 197

Page 214: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

fc Selecciona un rango de mandatos del último mandato de variable HISTSIZE escribiendo en elterminal. Vuelve a ejecutar el mandato especificado tras la realización de la sustitución antiguo pornuevo.

fg Establece el trabajo especificado como trabajo en primer plano.getopts Comprueba el parámetro Argumento en busca de opciones legales.jobs Lista información acerca de cada trabajo especificado.kill Envía la señal TERM (terminar) a los trabajos o procesos especificados.let Evalúa expresiones aritméticas especificadas.print Imprime la salida del shell.pwd Equivale al mandato print -r -$PWD.read Acepta la entrada del shell.ulimit Establece o visualiza los límites de recursos de proceso del usuario tal como se ha definido en el

archivo /etc/security/limits .umask Determina los permisos de archivo.unalias Elimina los parámetros que están en la lista de nombres de la lista de alias.wait Espera al trabajo especificado y termina.whence Indica la forma en que se interpretará cada nombre especificado si éste se utiliza como un nombre de

mandato.

Consulte el apartado “Mandatos incorporados del shell Korn o shell POSIX” en la página 186 para obtenermás información.

Expresiones condicionales para el shell Korn o el shell POSIX

Una expresión condicional se utiliza con el mandato compuesto [[ para probar los atributos de losarchivos y para comparar series. La subdivisión de palabras y la sustitución del nombre del archivo no serealizan en las palabras que aparecen entre [[ y ]] . Cada expresión se construye a partir de una o más delas siguientes expresiones unitarias o binarias:

-a Archivo Verdadero, si el archivo especificado es un enlace simbólico que señala a otro archivo queexiste.

-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 suprueba indique que es verdadero.

-x Archivo Verdadero, si el archivo especificado existe y el distintivo execute se ha activado. Si elarchivo especificado existe y es un directorio, el proceso actual tiene permiso para buscar enel 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.

198 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 215: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

-O Archivo Verdadero, si existe el archivo especificado y el propietario es el ID de usuario vigente deeste proceso.

-G Archivo Verdadero, si existe el archivo especificado y su grupo coincide con el ID de grupo vigentede este proceso.

-S Archivo Verdadero, si existe el archivo especificado y es un socket.Archivo1 -nt Archivo2 Verdadero, si Archivo1 existe y es más reciente que Archivo2.Archivo1 -ot Archivo2 Verdadero, si Archivo1 existe y es más antiguo que Archivo2.Archivo1 -ef Archivo2 Verdadero, si Archivo1 yArchivo2 existen y hacen referencia al mismo archivo.Serie1 = Serie2 Verdadero, si Serie1 es igual a Serie2.Serie1 != Serie2 Verdadero, si Serie1 no es igual a Serie2.Serie = Patrón Verdadero, si la serie especificada coincide con el patrón especificado.Serie != Patrón Verdadero, si la serie especificada no coincide con el patrón indicado.Serie1 < Serie2 Verdadero, si Serie1 aparece antes que Serie2 basándose en el valor ASCII de sus

caracteres.Serie1 >Serie2 Verdadero, si Serie1 aparece después de Serie2 basándose en el valor ASCII de sus

caracteres.Expresión1 -eqExpresión2

Verdadero, si Expresión1 es igual a Expresión2.

Expresión1 -neExpresión2

Verdadero, si Expresión1 no es igual a Expresión2.

Expresión1 -ltExpresión2

Verdadero, si Expresión1 es menor que Expresión2.

Expresión1 -gtExpresión2

Verdadero, si Expresión1 es mayor que Expresión2.

Expresión1 -leExpresión2

Verdadero, si Expresión1 es menor que o igual a Expresión2.

Expresión1 -geExpresión2

Verdadero, si Expresión1 es mayor que o igual a Expresión2.

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 lasexpresiones siguientes, que se enumeran en orden descendente de precedencia:

(Expresión) Verdadero, si la expresión especificada es verdadera. Se utiliza para agruparexpresiones.

! Expresión Verdadero, si la expresión especificada es falsa.Expresión1 && Expresión2 Verdadero, si Expresión1 y Expresión2 son verdaderas.Expresión1 || Expresión2 Verdadero, si Expresión1 o bien Expresión2 es verdadera.

Control de trabajos en el shell Korn o shell POSIX

El shell Korn, o el shell POSIX, proporciona un recurso para controlar secuencias de mandatos o trabajos.Cuando ejecuta el mandato especial set -m , el shell Korn asocia un trabajo a cada conducto. Mantieneuna tabla de los trabajos actuales, que se imprimen mediante el mandato jobs , y les asigna númerosenteros pequeños.

Cuando un trabajo se inicia como proceso de fondo con un &, el shell imprime una línea que tiene unaspecto 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énmuestra que el trabajo tenía un proceso (de nivel superior) con el ID de trabajo 1234.

Capítulo 11. Shells 199

Page 216: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Si va a ejecutar un trabajo y desea efectuar alguna otra operación, utilice la secuencia de teclasControl-Z. Esta secuencia de teclas envía una señal STOP al trabajo actual. El shell normalmente indicaque el trabajo se ha detenido y muestra a continuación un indicador del shell. Seguidamente, puedemanipular el estado de ese trabajo (estableciéndolo como trabajo de fondo con el mandato bg ), ejecutarotros mandatos y, finalmente, volver a establecerlo como trabajo en primer plano con el mandato fg . Lasecuencia de teclas Control-Z se aplica inmediatamente y es como una interrupción en tanto que, cuandose escribe la secuencia, el shell descarta la salida pendiente y la entrada no leída.

Un trabajo que se ejecuta en segundo plano se detiene e intenta leer desde el terminal. Normalmente, sepermite a los trabajos en segundo plano generar salida. Puede inhabilitar esta opción emitiendo elmandato sttytostop . Si establece esta opción del terminal, los trabajos de fondo se detendrán cuandointenten 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 pormedio del ID de proceso de cualquiera de sus procesos o bien de una de las formas siguientes:

%Número Especifica el trabajo que tiene el número indicado.%Serie Especifica cualquier trabajo cuya línea de mandatos empieza por la variable Serie.%?Serie Especifica cualquier trabajo cuya línea de mandatos contiene la variable Serie.%% Especifica el trabajo actual.%+ Equivale a %%.%- Especifica el trabajo anterior.

Este shell sabe inmediatamente cuándo cambia el estado de un proceso. Normalmente, le informasiempre que un trabajo queda bloqueado de forma que no es posible continuar. El shell realiza estaacció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 desencadenalas 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) mientrasexisten trabajos que se han detenido o que están en ejecución, el sistema le avisa con el mensaje Haytrabajos 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 sinavisarle.

Manejo de señales

Las señales SIGINT y SIGQUIT de un mandato invocado se pasan por alto si el mandato va seguido deun & y la opción monitor del trabajo no se ha activado. De lo contrario, las señales tienen los valores queel shell hereda de su padre.

Cuando una señal para la que se ha definido una ruptura se recibe mientras el shell está esperando aque finalice un mandato en primer plano, la ruptura asociada con dicha señal no se ejecutará hasta quehaya finalizado el mandato en primer plano. Por lo tanto, no se realiza una ruptura en una señal CHILDhasta que finaliza el trabajo en primer plano.

v “Información relacionada con el shell Korn” en la página 209

Edición en línea en el shell Korn o shell POSIX

Normalmente, escribe cada línea de mandatos desde un dispositivo de terminal y le sigue un carácter denueva línea (RETURN o LINE FEED). Cuando activa la opción de edición emacs, gmacs o vi, puedeeditar la línea de mandatos.

200 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 217: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Los siguientes mandatos entran en modalidades de edición:

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 sele 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 decarro 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 dela variable COLUMNS, si se ha definido; de lo contrario, la anchura equivale a 80 espacios de carácter. Sila línea es superior a la anchura de la ventana menos dos, el sistema notifica que está viendo un marcoal final de la ventana. A medida que se mueve el cursor y llega a los límites de la ventana, la ventana secentra alrededor del cursor. Las marcas visualizadas son:

> Indica que la línea continúa por el lado derecho de la ventana.< Indica que la línea se amplía en el lado izquierdo de la ventana.* Indica que la línea se amplía en ambos lados de la ventana.

Los mandatos de búsqueda en cada modalidad de edición proporcionan acceso al archivo histórico delshell Korn. Sólo se coincide con series. Si el carácter inicial de la serie es un |, la coincidencia debeempezar desde el primer carácter de la línea.

En este apartado se explica lo siguiente:

v “Modalidad de edición emacs”

v “Modalidad de edición vi” en la página 203

Modalidad de edición emacs

Se entra en modalidad emacs cuando se habilita la opción emacs o gmacs . La única diferencia entreestas dos modalidades es el modo en que cada una de ellas maneja el mandato de edición Control-T.Para editar, mueva el cursor hasta el punto que necesita corrección e inserte o suprima caracteres opalabras, según se requiera. Todos los mandatos de edición son caracteres de control o secuencias deescape.

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 comose indique.

Control-F Mueve el cursor hacia adelante (derecha) un carácter.Esc-F Mueve el cursor hacia adelante una palabra (una serie de caracteres que consta de sólo

letras, dígitos y subrayados).Control-B Mueve el cursor hacia atrás (izquierda) un carácter.Esc-B Mueve el cursor hacia atrás una palabra.Control-A Mueve el cursor al principio de la línea.Control-E Mueve el cursor al final de la línea.Control-] c Hace avanzar el cursor por la línea actual hasta el carácter indicado.Esc-Control-] c Hace retroceder el cursor por la línea actual hasta el carácter indicado.Control-X Control-X Intercambia el cursor y la marca.ERASE Suprime el carácter anterior. (Carácter de supresión definido por el usuario tal como define

el mandato stty , normalmente la secuencia de teclas Control-H.)

Capítulo 11. Shells 201

Page 218: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Control-D Suprime el carácter actual.Esc-D Suprime la palabra actual.Esc-Retroceso Suprime la palabra anterior.Esc-H Suprime la palabra anterior.Esc-Supr Suprime la palabra anterior. Si el carácter de interrupción es la tecla Supr, este mandato no

funcionará.Control-T Cambia el carácter actual por el siguiente carácter en modalidad emacs. Transpone los dos

caracteres anteriores en modalidad gmacs.Control-C Convierte a mayúsculas el carácter actual.Esc-C Convierte a mayúsculas la palabra actual.Esc-L Convierte la palabra actual a minúsculas.Control-K Suprime desde el cursor hasta el final de la línea. Si va precedido de un parámetro

numérico cuyo valor es menor que la posición actual del cursor, este mandato de ediciónsuprime desde la posición determinada hasta el cursor. Si va precedido de un parámetronumérico cuyo valor es mayor que la posición actual del cursor, este mandato de ediciónsuprime desde el cursor hasta la posición determinada del cursor.

Control-W Suprime desde el cursor hasta la marca.Esc-P Sitúa la región desde el cursor hasta la marca en la pila.KILL Carácter para matar definido por el usuario que se define en el mandato stty y que, por lo

general, corresponde a la secuencia de teclas Control-G o a un signo @. Mata toda lalínea actual. Si se entran dos caracteres de matar en sucesión, todos los caracteres dematar posteriores provocan un salto de línea (útil cuando se utilizan terminales de papel).

Control-Y Restaura el último elemento eliminado de la línea. (Devuelve el elemento a la línea).Control-L Avanza una línea e imprime la línea actual.Control-@ (Carácter nulo) Define una marca.Esc-espacio Define una marca.Control-J (Nueva línea) Ejecuta la línea actual.Control-M (Retorno) Ejecuta la línea actual.EOF Procesa el carácter de fin de archivo, normalmente la secuencia de teclas Control-D, como

fina de archivo sólo si la línea actual es nulo.Control-P Busca el mandato anterior. Cada vez que se entra la secuencia de teclas Control-P, se

accede al mandato anterior cada vez. Retrocede una línea cuando no está en la primeralínea de un mandato de múltiples líneas.

Esc-< Busca la línea de histórico menos reciente (más antigua).Esc-> Busca la línea de histórico más reciente (más nueva).Control-N Busca la siguiente línea de mandatos. Cada vez que se pulsa la secuencia de teclas

Control-N, se accede a la siguiente línea sucesiva.Control-R Serie Invierte el histórico de búsqueda de una línea de mandatos anterior que contiene la serie

que especifica el parámetro Serie. Si se proporciona un valor de 0, la búsqueda es haciaadelante. La serie especificada termina por on carácter de Intro o de nueva línea. Si laserie va precedida de un carácter |, la línea de la coincidencia debe empezar por elparámetro Serie. Si se omite el parámetro Serie, se accede a la siguiente línea demandatos que contiene el parámetro Serie más reciente.En este caso, un valor de 0invierte la dirección de la búsqueda.

Control-O (Operar) Ejecuta la línea actual y busca la línea relativa a la línea actual del archivohistórico.

Esc Dígitos (Escape) Define el parámetro numérico. Los dígitos se toman como un parámetro para elsiguiente mandato. Los mandatos que aceptan un parámetro son Control-F , Control-B ,ERASE, Control-C , Control-D , Control-K , Control-R , Control-P , Control-N , Control-] ,Esc-. , Esc-Control-] , Esc-_ , Esc-B , Esc-C , Esc-D , Esc-F , Esc-H , Esc-L yEsc-Control-H .

Esc Letras (Tecla de software) Busca en la lista de alias un alias que se denomina _Letra. Si se defineun alias con este nombre, su valor se sitúa en la cola de entrada. El parámetro Letra nodebe especificar una de las funciones de escape.

Esc-[ Letras (Tecla de software) Busca en la lista de alias un alias cuyo nombre es subrayado dobleLetra (__Letra). Si se define un alias con este nombre, su valor se sitúa en la cola deentrada. Este mandato puede utilizarse para teclas de función de programa en muchosterminales.

202 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 219: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Esc-. Inserta en la línea la última palabra del mandato anterior. Si va precedido de un parámetronumérico, el valor de este parámetro determina qué palabra insertar en lugar de la últimapalabra.

Esc-_ Igual que la secuencia de teclas Esc-. anterior.Esc-* Intenta efectuar sustitución de nombres de archivo en la palabra actual. Se añade un

asterisco si la palabra no coincide con ningún nombre de archivo o contiene caracteres depatrón especiales.

Esc-Esc Finalización de nombre de archivo. Sustituye la palabra actual por el prefijo más largocomún de todos los nombres de archivo que coinciden con la palabra actual con unasterisco añadido. Si la coincidencia es exclusiva, se añadirá una / si el archivo es undirectorio y se añadirá un espacio si el archivo no es un directorio.

Esc-= Lista los archivos que coinciden con el patrón de palabras actual si se añadió un asterisco.Control-U Multiplica el parámetro del mandato siguiente por 4.\ Ignora el siguiente carácter. Los caracteres de edición y los caracteres ERASE, KILL e

INTERRUPT (por lo general, la tecla Supr) puede entrarse en una línea de mandatos o enuna serie de búsqueda si van precedidos de una \. La barra inclinada invertida elimina lasfunciones de edición del siguiente carácter, si existe alguno.

Control-V Muestra la versión del shell.Esc-# Inserta un carácter # al principio de la línea y, a continuación, ejecuta la línea. Esto hace

que se inserte un comentario en el archivo histórico.

Modalidad de edición vi

La modalidad de edición vi tiene dos tipos de modalidad de escritura. Cuando entra un mandato, está enmodalidad 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ónopcional delante del mandato. Cuando se está en modalidad vi en la mayoría de sistemas, se habilitainicialmente 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 lalínea de mandatos. Este esquema tiene las ventajas del proceso canónico con el eco de escrituraanticipado de la modalidad bruta. Si también se ha establecido la opción viraw , el proceso canónicosiempre está inhabilitado. Esta modalidad es implícita en los sistemas que no dan soporte a dosdelimitadores de fin de línea alternativos y podría ser útil para determinados terminales.

Los mandatos vi disponibles se agrupan en las siguientes categorías:

v “Mandatos de edición de entrada”

v “Mandatos de edición de movimiento” en la página 204

v “Mandatos de edición de búsqueda” en la página 204

v “Mandatos de edición de modificación de texto” en la página 204

v “Mandatos de edición varios” en la página 205

Mandatos de edición de entradaNota: Por omisión, el editor está en modalidad de entrada.

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.

Capítulo 11. Shells 203

Page 220: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Control-V Ignora el siguiente carácter. Los caracteres de edición, por ejemplo ERASE o KILL, pueden entrarse enuna línea de mandatos o en una serie de búsqueda si van precedidos de una secuencia de teclasControl-V. La secuencia de teclas Control-V elimina las funciones de edición del siguiente carácter (siexiste).

\ Ignora el siguiente carácter ERASE o KILL.

Mandatos de edición de movimientoLos mandatos de edición de movimiento mueven el cursor:

[Cuenta]l Mueve el cursor hacia adelante (derecha) un carácter.[Cuenta]w Mueve el cursor hacia adelante una palabra alfanumérica.[Cuenta]W Mueve el cursor al principio de la siguiente palabra que sigue a un blanco.[Cuenta]e Mueve el cursor al final de la palabra actual.[Cuenta]E Mueve el cursor al final de la palabra separada por un blanco actual.[Cuenta]h Mueve el cursor hacia atrás (izquierda) un carácter.[Cuenta]b Mueve el cursor hacia atrás una palabra.[Cuenta]B Mueve el cursor a la palabra separada por blancos anterior.[Cuenta]| Mueve el cursor a la columna que especifica el parámetro Cuenta.[Cuenta]fc Busca el siguiente carácter c en la línea actual.[Cuenta]Fc Busca el carácter c anterior en la línea actual.[Cuenta]tc Equivale a f seguido de h.[Cuenta]Tc Equivale a F seguido de l.[Cuenta]; Repite el número de veces que especifica el parámetro Cuenta el último mandato de búsqueda de

un solo carácter: f, F, t o T.[Cuenta], Invierte el último mandato de búsqueda de un solo carácter el número de veces que especifica el

parámetro Cuenta.0 Mueve el cursor al principio de una línea.| Mueve el cursor al primer carácter no blanco de una línea.$ Mueve el cursor al final de una línea.

Mandatos de edición de búsquedaLos mandatos de edición de búsqueda acceden al histórico de mandatos:

[Cuenta]k Busca el mandato anterior.[Cuenta]- Equivale al mandato k.[Cuenta]j Busca el siguiente mandato. Cada vez que se entra el mandato j, se accede al siguiente mandato.[Cuenta]+ Equivale al mandato j.[Cuenta]G Busca el mandato cuyo número especifica el parámetro Cuenta. El valor por omisión es el mandato

histórico menos reciente./Serie Busca hacia atrás en el histórico un mandato anterior que incluye la serie especificada. La serie

especificada termina por on carácter de Intro o de nueva línea. Si la serie especificada va precedidade un carácter |, la línea de la coincidencia debe empezar por el parámetro Serie. Si el valor delparámetro Serie es nulo, se utiliza la serie anterior.

?Serie Igual que /Serie a excepción de que la búsqueda se efectúa hacia adelante.n Busca la siguiente coincidencia del último patrón de los mandatos /Serie o ?.N Busca la siguiente coincidencia del último patrón de los mandatos /Serie o ?, pero en la dirección

opuesta. Busca en el histórico la serie que se ha especificado en el mandato /Serie anterior.

Mandatos de edición de modificación de textoLos mandatos de edición de modificación de texto modifican la línea:

a Entra en modalidad de entrada y entra texto detrás del carácter actual.A Añade texto al final de la línea. Equivale al mandato $a.[Cuenta]cMovimiento

204 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 221: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

c[Cuenta]Movimiento Suprime el carácter actual hasta el carácter al que el parámetro Movimientoespecifica que ha de moverse el cursor y entra en modalidad de entrada. Si el valordel parámetro Movimiento es c, se suprime toda la línea y se entra en modalidad deentrada.

C Suprime desde el carácter actual hasta el final de la línea y entra en modalidad deentrada. Equivale al mandato c$.

S Equivale al mandato cc .D Suprime desde el carácter actual hasta el final de la línea. Equivalente al mandato

d$.

[Cuenta]dMovimiento

d[Cuenta]Movimiento Suprime el carácter actual hasta, e inclusive, el carácter que especifica el parámetroMovimiento. 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 actualdel cursor y hace que el cursor avance.

[Cuenta]_ Añade la palabra que especifica el parámetro Cuenta del mandato anterior y entra enmodalidad de entrada. Si se ha omitido el parámetro Cuenta, se utilizará la últimapalabra.

* 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 palabrase 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únmás largo de todos los nombres de archivo que coinciden con la palabra actual conun asterisco añadido. Si la coincidencia es exclusiva, se añadirá una / si el archivoes un directorio. Si el archivo no es un directorio, se añadirá un espacio.

Mandatos de edición variosEstos son otros mandatos de edición:

[Cuenta]yMovimientoy[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 elalmacenamiento 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.

Capítulo 11. Shells 205

Page 222: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

# Envía la línea tras la inserción de un carácter # al principio de la línea. Útil si deseainsertar la línea actual en el histórico sin ejecutarla.

Si la línea de mandatos contiene un carácter de conducto (una barra vertical) o uncarácter de dos puntos o un carácter de nueva línea, los caracteres # adicionales seinsertarán al principio de cada uno de estos símbolos. Para suprimir todos los signos delibra, recupere la línea de mandatos del histórico y entre otro #.

= Lista los nombres de archivo que coinciden con la palabra actual si se hubiera añadidoun asterisco.

@Letra Busca en la lista de alias un alias denominado _Letra. Si se ha definido un alias con estenombre, su valor se sitúa en la cola de entrada para proceso.

Shell Korn ampliado (ksh93)

Además del shell Korn del sistema por omisión (/usr/bin/ksh ), AIX proporciona una versión ampliadadisponible como /usr/bin/ksh93 . Esta versión ampliada es compatible en sentido ascendente con laversión por omisión actual e incluye algunas funciones adicionales que no están disponibles en/usr/bin/ksh . La tabla siguiente contiene una visión general de estas funciones adicionales.

Funciones de ksh93Las funciones siguientes están disponibles en /usr/bin/ksh93 :

Mejorasaritméticas

Puede utilizar las funciones libm (funciones de correlación que normalmente se encuentran enel 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 +, ++, -- yla construcción ?: (por ejemplo, ″x ? y : z″), así como el operador , (coma). Las basesaritmé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 significativosy ″typeset -F″ (flotante) se puede utilizar para especificar el número de espacios decimalespara la variable aritmética. Ahora la variable SECONDS se redondea a la centésima de segundo,en lugar de al segundo.

Variablescompuestas

ksh93 da soporte a las variables compuestas. Una variable compuesta permite a un usuarioespecificar varios valores en un solo nombre de variable. Se asigna a cada variable unavariable de subscripción, separada de la variable padre con un . (punto). Por ejemplo:

$ myvar=( x=1 y=2 )$ print "${myvar.x}"1

Asignacionescompuestas

Se da soporte a las asignaciones compuestas al inicializar conjuntos, tanto para conjuntosindexados como para conjuntos asociativos. Los valores de asignación están situados entreparéntesis, tal como se muestra en el ejemplo siguiente:

$ numbers=( cero uno dos tres )$ print ${numbers[0]} ${numbers[3]}cero tres

Conjuntosasociativos

Un conjunto asociativo es un conjunto con una cadena de caracteres como índice.

El mandato typeset utilizado con el distintivo -A permite al usuario especificar conjuntosasociativos en ksh93. Por ejemplo:

$ typeset -A teammates$ teammates=( [juan]=ruiz [maría]=lopez )$ print ${teammates[maría]}lopez

206 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 223: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Referencias denombres devariables

El mandato typeset utilizado con el distintivo -n permite al usuario asignar un nombre devariable como referencia a otra. De esta manera, la modificación del valor de una variablemodificará a su vez el valor de la variable a la que hace referencia. Por ejemplo:

$ greeting="hola"$ typeset -n welcome=greeting # establece la referencia$ welcome="buenos días" # prevalece sobre el valor anterior$ print $greetingbuenos días

Expansiones deparámetros

Las siguientes construcciones de expansión de parámetros están disponibles en ksh93:

v ${!varname} es el nombre de la propia variable.

v ${!varname[@]} nombra los índices para el conjunto varname.

v ${param:offset} es una subserie de param, que empieza en offset.

v ${param:offset:num} es una subserie de param, que empieza en offset, para num númerode caracteres.

v ${@:offset} indica todos los parámetros de posición que empiezan en offset.

v ${@:offset:num} indica los parámetros de posición num que empiezan en offset.

v ${param/pattern/repl} evalúa param, sustituyendo la primera aparición de pattern con repl.

v ${param//pattern/repl} evalúa param, sustituyendo cada aparición de pattern con repl.

v ${param/#pattern/repl} si param empieza por pattern, param se sustituye por repl.

v ${param/%pattern/repl} si param acaba en pattern, param se sustituye por repl.

Funciones dedisciplina

Una función de disciplina es una función que está asociada con una variable específica. Estopermite al usuario definir una función y llamar a la misma cada vez que se hace referencia adicha variable, se define o deja de estar definida. Estas funciones toman la forma devarname.function, donde varname es el nombre de la variable y function es la función dedisciplina. Hay tres funciones de disciplina predefinidas: get , set y unset .

v Se invoca la función varname.get cada vez que se hace referencia a varname. Si se hadefinido la variable especial .sh.value en esta función, el valor de varname cambia a estevalor. Un ejemplo sencillo es la hora:

$ function time.get> {> .sh.value=$(date +%r)> }$ print $time09:15:58 AM$ print $time # cambiará en unos segundos09:16:04 AM

v Se invoca la función varname.set cada vez que se define varname. La variable .sh.valuerecibe el valor que se le asignó. El valor asignado a varname es el valor de .sh.value alcompletarse la función. Por ejemplo:

$ function adder.set> {> let .sh.value="$ {.sh.value} + 1"> }$ adder=0$ echo $adder1$ adder=$adder$ echo $adder2

v Se ejecuta la función varname.unset cada vez que se deja de definir varname. En realidadla variable no se deja de definir a menos que se deje de definir en la misma función; de locontrario, mantiene su valor.

En todas las funciones de disciplina, la variable especial .sh.name se define como el nombrede la variable, mientras que .sh.subscript se define como el valor de subscripción devariables, en caso de que sea aplicable.

Capítulo 11. Shells 207

Page 224: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Entornos defunción

Las funciones declaradas con el formato de función myfunc se ejecutan en un entorno defunción separado. Las funciones declaradas myfunc() se ejecutan con el mismo entorno que elshell padre.

Variables Las variables que empiezan por .sh. están reservadas por el shell y tienen un significadoespecial. Consulte la descripción de Funciones de disciplina de más arriba para obtener unaexplicación de .sh.name , .sh.value y .sh.subscript . También está disponible .sh.version , querepresenta la versión del shell.

Nota: La variable ERRNO ya no está disponible.

Valores deretorno demandatos

Los valores de retorno de mandatos en ksh93 son los siguientes:

v Si no se encuentra el mandato a ejecutar, el valor de retorno se establece en 127.

v Si se encuentra el mandato a ejecutar, pero éste no es ejecutable, el valor de retorno es126.

v Si se ejecuta el mandato, pero termina con una señal, el valor de retorno es 256 y el númerode señal.

Normas debúsqueda PATH

En primer lugar se buscan los mandatos incorporados especiales, seguidos de todas lasfunciones (incluidas las que están en los directorios FPATH), seguidas de otros mandatosincorporados. Anteriormente, todos los mandatos incorporados se buscaban antes que todaslas funciones y no se buscaban las funciones FPATH hasta después de todo lo demás enPATH.

Histórico del Shell El mandato hist le permite visualizar y editar el histórico de los mandatos de shells. En el shellksh, se utiliza el mandato fc . El mandato fc es ahora un alias de hist . Las variables sonHISTCMD, que se incrementa una vez para cada mandato ejecutado en los históricos actualesde los shells, y HISTEDIT, que especifica qué editor usar al utilizar el mandato hist .

208 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 225: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandatosincorporados

v Se ha añadido el mandato incorporado builtin . El mandato builtin lista todos los mandatosincorporados disponibles.

v Se ha añadido el mandato printf como un mandato incorporado. Éste funcione de manerasimilar a la rutina de biblioteca printf() C. Consulte la página del manual del mandato printf .

v Se ha añadido el mandato incorporado disown . disown bloquea el shell para que no envíeun SIGHUP al mandato especificado.

v Se ha añadido el mandato getconf como un mandato incorporado. Funciona de la mismamanera que un mandato autónomo /usr/bin/getconf . Consulta la página del manual delmandato getconf .

v El mandato incorporado read tiene dos distintivos:

– read -d { char} permite al usuario especificar un delimitador de caracteres en lugar de unanueva línea por omisión.

– read -t { seconds} permite al usuario especificar un límite de tiempo en segundos despuésdel cual el mandato read excederá el tiempo de espera. Si read excede el tiempo deespera, devolverá FALSE.

v El mandato incorporado exec tiene dos distintivos:

– exec -a { name} {cmd} especifica que el argumento 0 de cmd será sustituido por name.

– exec -c { cmd} indica a exec que borre el entorno antes de ejecutar cmd.

v El mandato incorporado kill tiene dos distintivos:

– kill -n { signum} se utiliza para especificar un número de señal para enviar a un proceso,mientras que kill -s { signame} se utilizar para especificar un nombre de señal.

– kill -l , sin argumentos, lista todos los nombres de señal pero no sus números.

v El mandato incorporado whence tiene dos distintivos.

– El distintivo -a visualiza todas las concordancias, no sólo la primera encontrada.

– El distintivo -f indica a whence que no busque ninguna función.

v Se ha añadido una secuencia de caracteres de escape para ser utilizada por los mandatosprint y echo . La tecla Esc (Escape) se puede representar mediante la secuencia \E.

v Todos los mandatos incorporados regulares reconocen el distintivo -?, que muestra lasintaxis para el mandato especificado.

Información relacionada con el shell Korn“Capítulo 11. Shells” en la página 159

“Mandatos del shell Korn o shell POSIX” en la página 184

“Mandatos del shell Korn o shell POSIX” en la página 165

“Alias de mandatos en el shell Korn o shell POSIX” en la página 170

“Sustitución de parámetros en el shell Korn o shell POSIX” en la página 172

“Sustitución de mandatos en el shell Korn o shell POSIX” en la página 176

“Evaluación aritmética en el shell Korn o shell POSIX” en la página 177

“Subdivisión de campos en el shell Korn o shell POSIX” en la página 179

“Sustitución del nombre del archivo en el shell Korn o POSIX” en la página 179

“Eliminación de delimitadores” en la página 180

“Redirección de entrada y de salida en el shell Korn o shell POSIX” en la página 181

Capítulo 11. Shells 209

Page 226: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

“Control de trabajos en el shell Korn o shell POSIX” en la página 199

“Edición en línea en el shell Korn o shell POSIX” en la página 200

Los mandatos ksh y stty .

Los mandatos del shell Korn alias , cd , export , fc , getopts , read , set y typeset .

El archivo /etc/passwd .

“Shell Bourne”

“Shell C” en la página 227

Shell Bourne

El shell Bourne es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. Elmandato 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 deinicio de sesión. Sólo el mandato login puede llamar al shell Bourne como shell de inicio de sesión. Paraello, éste utiliza un formato especial del nombre de mandato bsh : -bsh. Cuando la llamada se realiza conun 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 lasvariables que necesitan todos los usuarios. Finalmente, el shell está preparado para leer los mandatos dela entrada estándar.

Si se especifica el parámetro Archivo [Parámetro] al iniciarse el shell Bourne, el shell ejecuta el archivo descript que el parámetro Archivo identifica, incluidos los parámetros especificados. El archivo de scriptespecificado debe disponer de permiso de lectura; los valores setuid y setgid se pasan por alto. Acontinuación se leen los mandatos. No deberá especificarse un archivo de script si se utiliza el distintivo-c o -s.

Entorno de shell Bourne

Todas la variables (y los valores que se asocian a éstas) que un mandato puede reconocer al inicio de suejecución constituyen su entorno. Este entorno incluye variables que un mandato hereda de sus variablesy proceso padre especificados como palabras clave en la línea de mandatos que llama al mandato.

El shell pasa a sus procesos hijo las variables con nombre como argumentos para el mandato exportincorporado. Este mandato coloca las variables con nombre en los entornos del shell y de sus futurosprocesos hijo.

Los parámetros de palabra clave son pares variable-valor que aparecen en forma de asignaciones, por logeneral antes del nombre del procedimiento en una línea de mandatos (pero véase también el distintivodel 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_commandecho $a $b

Las líneas de mandatos siguientes generan la salida que se muestra a continuación:

210 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 227: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Input Outputa=key1 b=key2 key_command key1 key2a=tom b=john key_command tom john

Los parámetros de palabra clave de un procedimiento no se incluyen en el número total de parámetrosque se almacena en $#.

Un procedimiento puede acceder a los valores de las variables de su entorno. No obstante, si cambiaalguno de estos valores, los cambios no se reflejan en el entorno de shell. Son locales para elprocedimiento en cuestión. Para colocar los cambios en el entorno que el procedimiento pasa a susprocesos 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 cuyasposibilidades están más controladas que las del shell Bourne. El mandato Rsh o bsh -r abre el shellrestringido. El comportamiento de estos mandatos es idéntico al del mandato bsh , a excepción de que noestá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 shellBourne para ejecutar el mandato. De este modo, es posible proporcionar a un usuario finalprocedimientos de shell que accedan a la plena potencia del shell Bourne al mismo tiempo que impone unmenú limitado de mandatos. En este esquema se da por supuesto que el usuario final no dispone depermisos 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 descript que el parámetro Archivo identifica, incluidos los parámetros especificados. El archivo de scriptespecificado debe tener permiso de lectura. Los valores setuid y setgid de los archivos de script sepasan por alto. El shell lee a continuación los mandatos.

Nota: No debe especificar un archivo de script si utiliza el distintivo -c o -s.

Capítulo 11. Shells 211

Page 228: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cuando se inicia con el mandato Rsh , el shell aplica restricciones tras interpretar los archivos .profile y/etc/environment . Por lo tanto, la persona encargada de escribir el archivo .profile tiene control totalsobre las acciones del usuario, pues realiza las acciones de configuración y sitúa al usuario en undirectorio adecuado (probablemente, distinto del directorio de inicio de sesión). Un administrador puedecrear un directorio de mandatos en el directorio /usr/rbin que el mandato Rsh puede utilizar cambiando lavariable PATH para que contenga el directorio. Si se ha iniciado con el mandato bsh -r , el shell aplicarestricciones al interpretar los archivos .profile .

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 deque 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

Mandatos del shell Bourne

Cuando emite un mandato en el shell Bourne, primero éste evalúa el mandato y efectúa todas lassustituciones indicadas. A continuación, éste ejecuta el mandato, siempre que:

v El nombre de mandato es un mandato especial incorporado del shell BourneO BIEN

v El nombre de mandato coincide con el nombre de una función definida. Si es así, el shell establece losparámetros de posición en los parámetros de la función.

Si el nombre del mandato no coincide ni con un mandato incorporado ni con el nombre de una funcióndefinida 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 quees un procedimiento de shell. En este caso, el shell arranca otra instancia de sí mismo (un subshell), paraleer el archivo y ejecutar los mandatos que éste incluye. El shell también ejecuta un mandato entreparéntesis en un subshell. Para el usuario final, se ejecuta un programa compilado exactamente delmismo modo que un procedimiento de shell. El shell normalmente busca mandatos en directorios delsistema 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 encontrarel mandato.

Nota: El orden en el que el shell realiza la búsqueda en los directorios lo determina la variablePATH. Puede cambiar la secuencia particular de los directorios en los que ha de buscarseestableciendo nuevamente la variable PATH.

Si proporciona un nombre de vía de acceso específico al ejecutar un mandato (por ejemplo,/usr/bin/sort), el shell no buscará en ningún directorio que no sea el especificado. Si el nombre delmandato contiene una barra inclinada (/), el shell no utilizará la vía de búsqueda.

212 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 229: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Puede especificar un nombre completo de vía de acceso que empiece por el directorio raíz (como/usr/bin/sort). También puede especificar un nombre de vía de acceso relativo al directorio actual. Porejemplo, si especificabin/myfile

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 posterioresmandatos exec innecesarios). Si encuentra el mandato en un directorio relativo (cuyo nombre nocomienza por /), el shell debe volver a determinar la ubicación del mandato siempre que cambie eldirectorio actual. El shell olvida todas las ubicaciones recordadas cada vez que cambia la variable PATH oejecuta el mandato hash -r .

En este apartado se explica lo siguiente:

v “Caracteres delimitadores”

v “Manejo de señales” en la página 214

v “Mandatos incorporados del shell Bourne” en la página 215

v “Sustitución de mandatos en el shell Bourne” en la página 219

v “Información relacionada con el shell Bourne” en la página 227

Caracteres delimitadores

Muchos caracteres tienen un significado especial para el shell. Algunas veces deseará conocer dichosignificado. Los apóstrofos (’) y comillas (″) delimitando una serie o una barra inclinada invertida (\) antesde un carácter le permiten adivinar el significado del carácter.

Todos los caracteres, excepto los apóstrofos delimitadores, se interpretan literalmente, eliminandocualquier 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 tomanliteralmente. 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 laserie delimitada, de forma que los caracteres conservan su significado especial.

Considere la siguiente secuencia:ls *

file1 file2 file3

message="Este directorio contiene ′ls * ′ "

echo $message

Este directorio contiene file1 file2 file3

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

Capítulo 11. Shells 213

Page 230: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

situarlo entre delimitadores. Por tanto, una barra inclinada invertida precediendo un carácter de nuevalínea (es decir, una barra inclinada invertida al final de la línea) oculta el carácter de nueva línea y lepermite continuar la línea de mandatos en la siguiente línea física.

Manejo de señales

El shell pasa por alto las señales INTERRUPT y QUIT para un mandato invocado si el mandato finalizacon un & (ampersand); es decir, si se ejecuta como proceso de fondo. De lo contrario, las señales tienenlos 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.

Mandatos compuestos del shell Bourne

Un mandato compuesto es uno de los siguientes:

v Conducto (uno o más mandatos simples separados por el símbolo | (conducto))

v Lista de mandatos simples

v Mandato que comienza por una palabra reservada

v Mandato que comienza por el operador de control ( (paréntesis de apertura).

A menos que se indique lo contrario, el valor devuelto por un mandato compuesto es el del últimomandato simple ejecutado.

Palabras reservadas

Las palabras reservadas siguientes sólo se reconocen cuando aparecen sin comillas como primerapalabra de un mandato:for do donecase esacif then fielif elsewhile until{ }( )

for Identificador [inPalabra . . .] do Lista done

Establece el parámetro Identificador en la palabra o palabras que el parámetroPalabra especifica (de una en una) y ejecuta los mandatos que se especifican en elparámetro Lista. Si omite inPalabra . . ., el mandato for ejecuta el parámetro Listapara cada parámetro de posición que se haya establecido y el proceso finalizacuando se han utilizado todos los parámetros de posición.

case Palabra in Patrón[|Patrón] . . . ) Lista;; [Patrón[|Patrón] . . . ) Lista;; ] . . .esac

Ejecuta los mandatos que se han especificado en el parámetro Lista que se asocianal primer parámetro Patrón que coincide con el valor del parámetro Palabra. Utilizala misma notación coincidente de caracteres en patrones que se utilizan parasustitución de nombres de archivo, excepto que una / (barra inclinada) punto . inicialo un punto que sigue inmediatamente a una barra inclinada no tiene por quécoincidir explícitamente.

if Lista then Lista [elif Listathen Lista] . . . [else Lista] fi

Ejecuta los mandatos que se han especificado en el parámetro Lista que sigue almandato if . Si el mandato devuelve un valor de salida que sea cero, el shell ejecutael parámetro Lista que sigue al primer mandato then . De lo contrario, ejecuta elpará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 elmandato devuelve un valor de salida distinto de cero, el shell ejecuta el parámetroLista que sigue al mandato else (si existe). Si no se realiza ningún else Lista o thenLista, el mandato if devuelve un valor de salida cero.

214 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 231: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

while Lista do Lista done Ejecuta los mandatos que se han especificado en el parámetro Lista que sigue almandato while . Si el valor de salida del último mandato de while Lista es cero, elshell ejecuta el parámetro Lista que sigue al mandato do . Continúa la repetición enbucle por las listas hasta que el valor de salida del último mandato de while Lista esdistinto de cero. Si no se ejecutan ningún mandato en do Lista, el mandato whiledevuelve un valor de salida cero.

until Lista do Lista done Ejecuta los mandatos que se especifican en el parámetro Lista que sigue al mandatountil . Si el valor de salida del último mandato de until Lista es distinto de cero,ejecuta el parámetro Lista que sigue al mandato do . Continúa la repetición en buclepor las listas hasta que el valor de salida del último mandato de until Lista es cero.Si no se ejecuta ningún mandato en do Lista, el mandato until devuelve un valor desalida cero.

( Lista ) Ejecuta los mandatos del parámetro Lista en un subshell.{ Lista; } Ejecuta los mandatos del parámetro Lista en el proceso de shell actual y no inicia un

subshell.Nombre () { Lista } Define una función a la que el parámetro Nombre hace referencia. El cuerpo de la

función es la lista de mandatos entre las llaves especificadas por el parámetro Lista.

Mandatos incorporados del shell Bourne

Los mandatos especiales se crean en el shell Bourne y se ejecutan en el proceso del shell. A no ser quese indique lo contrario, la salida se graba en el descriptor de archivo 1 (stdout) y el estado de la salida es0 (cero) si el mandato no contiene ningún error de sintaxis. Se permite la redirección de entrada y desalida.

Consulte el apartado “Lista de mandatos incorporados del shell Bourne” en la página 226 para ver unlistado alfabético de estos mandatos.

Los siguientes mandatos especiales se tratan de forma algo distinta a otros mandatos especialesincorporados:: (dos puntos) exec shift. (punto) exit timesbreak export trapcontinue readonly waiteval return

El shell Bourne procesa estos mandatos de este modo:

v Las listas de asignaciones de parámetros de palabra clave que preceden el mandato permanecen envigor cuando se completa el mandato.

v Las redirecciones de E/S se procesan después de las asignaciones de parámetros.

v Los errores de un script de shell hacen que el script detenga el proceso.

Descripciones de mandatos especialesEl shell Bourne proporciona los siguientes mandatos especiales incorporados:

Mandatosincorporados: 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 quecontiene el archivo especificado.

break [ n ] Sale de los bucles delimitadores del mandato for , while o until , si existe alguno. Siespecifica la variable n, el mandato break realizará interrupciones basándose en el númerode niveles que se especifica mediante la variable n.

Capítulo 11. Shells 215

Page 232: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandatosincorporadoscontinue [ n ] Reanuda la siguiente iteración de los bucles delimitadores del mandato for , while o until . Si

especifica la variable n, el mandato se reanudará en el bucle delimitador que ocupe laposición n.

cd Directorio ] Cambia del directorio actual a Directorio. Si no especifica Directorio, se utilizará el valor de lavariable de shell HOME. La variable de shell CDPATH define la vía de búsqueda deDirectorio. CDPATH es una lista de nombres de directorios alternativos separados mediantesignos de dos puntos. Un nombre de vía de acceso nulo especifica el directorio actual (quees la vía de acceso por omisión). Este nombre de vía de acceso nulo apareceinmediatamente después del signo igual en la asignación o entre los delimitadores de dospuntos en cualquier parte de la lista de vías de acceso. Si Directorio empieza por / (unabarra inclinada), el shell no utiliza la vía de búsqueda. De lo contrario, el shell busca en cadadirectorio de la variable de shell CDPATH.

Nota: El shell restringido no puede ejecutar el mandato de shell cd .echo Serie . . . ] Graba series de caracteres a salida estándar. Consulte el mandato echo para obtener

información acerca de su utilización y parámetros. El distintivo -n no recibe soporte.eval [Argumento . . . ]

Lee los argumentos como entrada al shell y ejecuta el mandato o mandatos resultantes.

exec [Argumento . . . ]

Ejecuta el mandato que especifica el parámetro Argumento en lugar de este shell sin crearun nuevo proceso. Pueden aparecer argumentos de entrada y de salida y, si no aparecenotros argumentos, hacen que se modifique la entrada o salida del shell. Esto no serecomienda para el shell de inicio de sesión.

exit [ n ] Da lugar a que un shell salga con el valor de salida que el parámetro n especifica. Si omiteeste parámetro, el valor de salida será el del último mandato ejecutado (la secuencia deteclas Control-D también provoca la finalización del shell). El valor del parámetro n puedeestar comprendido entre el 0 y el 255, inclusive.

export [Nombre . . . ]

Marca los nombres especificados para su exportación automática a los entornos de losmandatos que se ejecutarán posteriormente. Si no especifica el parámetro Nombre, elmandato export visualizará una lista con todos los nombres que se han exportado en esteshell. No puede exportar nombres de función.

hash [ -r ][Mandato . . . ]

Busca y recuerda la ubicación en la vía de búsqueda de cada Mandato especificado. Eldistintivo -r hace que el shell olvide todas las ubicaciones. Si no especifica el distintivo oningún mandato, el shell mostrará información acerca de los mandatos recordados en elsiguiente formato:

Hits Cost CommandHits indica el número de veces que el proceso de shell ha ejecutado un mandato. Cost esuna medida del trabajo necesario para localizar un mandato en la vía de búsqueda. Commandmuestra los nombres de vías de acceso de cada mandato especificado. Ciertas situacionesrequieren que se vuelva a calcular la ubicación de un mandato; por ejemplo, la ubicación deun nombre de vía de acceso relativa cuando cambia el directorio actual. Los mandatos paralos que podría realizarse se indican mediante un * (asterisco) junto a la información de Hits.Cost aumenta cuando se efectúa el nuevo cálculo.

pwd Muestra el directorio actual. Consulte el mandato pwd para ver una explicación de opcionesde mandato.

read [ Nombre . . . ] Lee una línea de la entrada estándar. Asigna la primera palabra de la línea al primerparámetro Nombre, la segunda palabra al segundo parámetro Nombre, y así sucesivamente,asignando las palabras restantes al último parámetro Nombre. Este mandato devuelve unvalor de 0 a no ser que encuentre un carácter de fin de archivo.

readonly [Nombre . . . ]

Marca el nombre que especifica el parámetro Nombre como de sólo lectura. El valor delnombre no puede restablecerse. Si no especifica ningún Nombre, el mandato readonlyvisualiza una lista con todos los nombres de sólo lectura.

return [ n ] Da lugar a que una función salga con un valor de retorno n. Si no especifica la variable n, lafunción devuelve el estado del último mandato ejecutado en esa función. Este mandato sóloes válido cuando se ejecuta en una función de shell.

216 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 233: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandatosincorporadosset [ Distintivo [Argumento ] . . . ]

Define uno o más de los siguientes distintivos:

-a

Marca para exportación todas las variables a las que se efectúa una asignación. Sila asignación precede al nombre de un mandato, el atributo de exportación sólo esvigente para el entorno de ejecución de dicho mandato, excepto cuando laasignación precede a uno de los mandatos especiales incorporados. En este caso,el atributo de exportación persiste después de que se ha completado el mandatoincorporado. Si la asignación no precede el nombre de un mandato o si laasignación es resultado de la operación de los mandatos getopts o read , el atributode exportación persiste hasta que se elimina la definición de la variable.

-e Sale inmediatamente si existen todas las siguientes condiciones para un mandato:

v Sale con un valor de retorno mayor que 0 (cero).

v No es parte de la lista compuesta de un mandato while , until o if .

v No se prueba utilizando listas AND u OR.

v No es un conducto precedido de la palabra reservada ! (signo de admiración).

-f Inhabilita la sustitución de nombres de archivo.

-h Localiza y recuerda los mandatos llamados en funciones a medida que se definenlas funciones. (Normalmente, estos mandatos se localizan cuando se efectúa lafunción; vea el mandato hash .)

-k Sitúa todos los parámetros de palabra clave en el entorno de un mandato, no sóloaquellos que preceden el nombre de mandato.

-n Lee mandatos, pero no los ejecuta. El distintivo -n puede utilizarse para comprobarsi existen errores de sintaxis en el script de shell.

-t Sale después de leer y ejecutar un mandato.

-u Trata una variable sin definir como un error y sale inmediatamente cuando efectúala sustitución de variables. Un shell interactivo no sale.

-v Muestra las líneas de entrada del shell a medida que se leen.

-x Muestra los mandatos y sus argumentos antes de que se ejecuten.

— No cambia ninguno de los distintivos. Resulta útil al establecer el parámetro deposición $1 para una serie de caracteres que empiece por un guión (-).

La utilización de un signo más (+) en lugar de un guión (-) elimina el establecimiento de losdistintivos. También puede especificar estos distintivos en la línea de mandatos del shell. Lavariable especial $- contiene el conjunto actual de distintivos.

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 setvisualizará 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 lospará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 seasignará a $9 y los restantes quedarán sin asignación (hasta después de ejecutarse otroshift ). Si existen 9 argumentos o menos, el mandato shift eliminará el establecimiento delparámetro de posición con la numeración más alta que tenga un valor.

El parámetro de posición $0 nunca se desplaza. El mandato shift n es una notaciónabreviada que especifica el número n de desplazamientos consecutivos. El valor por omisióndel parámetro n es 1.

test Expresión | [Expresión ]

Evalúa expresiones condicionales. Consulte el mandato test para obtener información acercade los distintivos y parámetros del mandato. El distintivo -h no está soportado por el mandatotest incorporado en bsh .

Capítulo 11. Shells 217

Page 234: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandatosincorporadostimes Muestra las horas de usuario y del sistema totales para procesos que se ejecutan desde el

shell.trap [ Mandato ] [ n] . . .

Ejecuta el mandato que especifica el parámetro Mandato cuando el shell recibe la señal oseñales que se especifican mediante el parámetro n. Los mandatos trap se ejecutan pororden de número de señal. Cualquier intento de definir una ruptura o una señal que seignoró en la entrada al shell actual no es efectivo.

Nota: El shell explora el parámetro Mandato una vez cuando se establece la ruptura ynuevamente cuando se acepta la ruptura.

Si no especifica un mandato, todas las rupturas que especifica el parámetro n volverán aestablecerse en sus valores actuales. Si especifica una serie nula, el shell y los mandatosque llama ignoran esta señal. Si el parámetro n es cero (0), el mandato especificado seejecutará cuando salga del shell. Si no especifica un mandato o señal, el mandato trapmuestra una lista de mandatos asociados con cada número de señal.

type [Nombre . . . ] Para cada Nombre especificado, indica cómo los interpretaría el shell como un nombre demandato.

ulimit [-HS] [ -c | -d |-f | -m | -s | -t] [límite]

Muestra o ajusta recursos del shell asignados. Existen dos modalidades para visualizar losvalores de recursos del shell, que pueden visualizarse individualmente o como un grupo. Lamodalidad por omisión es visualizar recursos definidos en el valor limitado o el límite inferiorcomo un grupo.

El valor de recursos de shell depende del ID de usuario vigente del shell actual. El nivel fijode 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. Poromisión, el usuario root define los límites fijos y limitados de un recurso particular. Por lotanto, el usuario root debe tener cuidado al utilizar los valores de la utilización de límites deldistintivo -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 unlí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 nuevorecurso, que debe ser un entero. Sólo podrá establecer un límite de recurso cada vez. Si seespecifica más de un distintivo de recurso, recibirá resultados indefinidos. Por omisión, ulimitcon 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.

Puede especificar los distintivos del mandato ulimit siguientes:

-c Define o muestra segmentos de imagen de memoria para el shell.

-d Define o muestra segmentos de datos para el shell.

-f Define o muestra el tamaño de archivos para el shell.

-H Define o muestra límites fijos de recursos (sólo usuario root).

-m Define o muestra memoria para el shell.

-s Define o muestra segmentos de pila para el shell.

-S Define o muestra límites limitados de recursos.

-t Define o muestra el máximo de tiempo CPU para el shell.umask [nnn] 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 poromisión es 022. Cuando no se entra ningún valor, umask muestra el valor actual.

unset [Nombre . . .] Elimina la variable o función correspondiente para cada nombre que especifique el parámetroNombre. No puede eliminarse la definición de las variables de shell PATH, PS1, PS2,MAILCHECK e IFS.

218 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 235: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Mandatosincorporadoswait [n] Espera a que el proceso hijo cuyo número de proceso especifica el parámetro n salga y, a

continuación, devuelve el estado de salida de ese proceso. Si no especifica el parámetro n,el shell esperará a todos los procesos hijo actualmente activos y el valor de retorno será 0.

Sustitución de mandatos en el shell Bourne

La sustitución de mandatos le permite capturar la salida de cualquier mandato como un argumento paraotro mandato. Cuando especifica una línea de mandatos dentro de acentos graves(′′), el shell ejecuta enprimer lugar el mandato o mandatos y, a continuación, sustituye la expresión completa, incluidos losacentos graves, por la salida. Esta función suele utilizarse para proporcionar valores a las variables deshell. Por ejemplo, la sentencia:today=′date′

asigna una serie de caracteres que representa la fecha actual para la variable today. La siguienteasignació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 gravesanidados 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 mandatoespecial read . Este mandato toma una línea de la entrada estándar (usualmente el teclado) y asignapalabras consecutivas en dicha línea a cualquier variable designada. Por ejemplo:read first init last

toma una línea de entrada en el formato:J. Q. Public

y tiene el mismo efecto que si hubiera escrito:first=J. init=Q. last=Public

El mandato especial read asigna las palabras de exceso a la última variable.

Sustitución de variables y nombres de archivo en el shell BourneEl shell Bourne le permite efectuar sustituciones de variables y nombres de archivo.

Los siguientes apartados le ofrecen información acerca de cómo crear y sustituir variables en el shellBourne:

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

Capítulo 11. Shells 219

Page 236: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Sustitución de variables en el shell Bourne

El shell Bourne dispone de varios mecanismos para crear variables (asignar el valor de una serie a unnombre). Ciertas variables, parámetros posicionales y parámetros de palabra clave se definennormalmente únicamente en una línea de mandatos. Otras variables son simplemente nombres a los queel usuario o el shell puede asignar valores de serie.

Variables definidas por el usuario

El shell reconoce variables alfanuméricas a las que pueden asignarse valores de series. Para asignar unvalor de serie a un nombre, escriba:Nombre=Serie

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 sunombre. De esta forma, la variable $Nombre produce el valor que especifica la variable Serie. Observeque no existen espacios alrededor del signo igual (=) en una sentencia de asignación. (No puedenaparecer parámetros posicionales en una sentencia de asignación. Sólo pueden establecerse como sedescribe en el apartado “Parámetros de posición” en la página 224.) Puede situar más de una asignaciónen 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á losblancos, las tabulaciones, los caracteres de punto y coma y los caracteres de nueva línea que estándentro 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 devariables de la serie y realizará la sustitución de las variables; es decir, sustituirá las referencias a losparámetros de posición y otros nombres de variables precedidos por el símbolo del dólar ($) por susvalores correspondientes, si existen. El shell también efectúa sustitución de mandatos en series que estándelimitadas por comillas.

Si especifica la variable Serie entre comillas simples (’), el shell no sustituirá las variables o mandatos queestá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 875You: echo $number2System: Add $num

El shell no reinterpreta los blancos de las asignaciones después de la sustitución de variables. De estemodo, 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 quedesigna a un parámetro de posición) entre { } para delimitar el nombre de la variable de cualquier serieque le siga. En particular, si el carácter que sigue inmediatamente al nombre es una letra, un dígito o unsubrayado y la variable no es un parámetro de posición, es necesario utilizar llaves:

220 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 237: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

You: a='Esto es un'echo "${a}n ejemplo"

System: Esto es un ejemploYou: echo "$a prueba"System: Esto es una prueba

Consulte el apartado “Sustitución condicional” en la página 223 para obtener información acerca de unautilización diferente de las llaves en las sustituciones de variables.

Variables que utiliza el shell

El shell utiliza las siguientes variables. Aunque el shell establece algunas de ellas, puede establecer ovolver a establecer personalmente todas las variables:

CDPATH Especifica la vía de búsqueda para el mandato cd (cambiar directorio).HOME Indica el nombre del directorio de inicio de sesión, el directorio que se convierte en el directorio

actual al completarse un inicio de sesión. El programa login inicializa esta variable. El mandatocd utiliza el valor de la variable $HOME como valor por omisión.Utilizando esta variable enlugar de un nombre de vía de acceso explícito en un procedimiento de shell permite que elprocedimiento se ejecute desde un directorio distinto sin alteraciones.

IFS Caracteres que son separadores de campo internos (los caracteres que el shell utiliza durantela interpretación de los blancos; consulte el apartado “Interpretación de los blancos” en lapágina 223). El shell define inicialmente la variable IFS para que incluya los caracteres blanco,tabulación y nueva línea.

LANG Determina el entorno local que ha de utilizarse para las categorías de entorno local cuando lavariable LC_ALL y la variable de entorno correspondiente (que empieza por LC_) noespecifican un entorno local. Para obtener más información acerca de los entornos locales,consulte el apartado ″Locale Overview″ de la publicación AIX 5L Version 5.1 SystemManagement Concepts: Operating System and Devices.

LC_ALL Determina el entorno local que ha de utilizarse para alterar temporalmente los valores de lascategorías de entorno local que especifican los valores de la variable de entorno LANG ocualquier variable de entorno que empiece por LC_. Para obtener más información acerca deescenarios y la variable de entorno LANG , consulte el apartado Locale Overview″ en lapublicación AIX 5L Version 5.1 System Management Concepts: Operating System andDevices.

LC_COLLATE Define el orden de clasificación a utilizar cuando se ordenen nombres y cuando se produzcanrangos de caracteres en patrones. Para obtener información acerca de los entornos locales yacerca de la variable de entorno LANG , consulte el apartado ″Locale Overview″ en lapublicación AIX 5L Version 5.1 System Management Concepts: Operating System andDevices.

LC_CTYPE Determina el entorno local para la interpretación de secuencias de bytes de datos de textocomo caracteres (es decir, caracteres de un solo byte frente a caracteres de varios bytes delos argumentos y archivos de entrada), qué caracteres se han definido como letras (clase decaracteres alpha ) y el comportamiento de las clases de caracteres dentro de la patrones decoincidencia. Para obtener más información acerca de los entornos locales, consulte elapartado ″Locale Overview″ de la publicación AIX 5L Version 5.1 System ManagementConcepts: Operating System and Devices.

LC_MESSAGES Determina el idioma en que deben escribirse los mensajes. Para obtener información acercade escenarios y la variable de entorno LANG , consulte el apartado ″Locale Overview″ en lapublicación AIX 5L Version 5.1 System Management Concepts: Operating System andDevices.

LIBPATH Especifica la vía de búsqueda para bibliotecas compartidas.LOGNAME Especifica el nombre de inicio de sesión, marcado como readonly en el archivo /etc/profile .MAIL Indica el nombre de la vía de acceso del archivo utilizado por el sistema de correo para

detectar la llegada de correo nuevo. Si se establece esta variable, el shell compruebaperiódicamente la hora de modificación de este archivo y visualiza el valor de $MAILMSG si lahora ha cambiado y si la longitud del archivo es mayor que 0. Establezca la variable MAIL enel archivo .profile . El valor que los usuarios del mandato mail le asignan normalmente es/usr/spool/mail/$LOGNAME .

Capítulo 11. Shells 221

Page 238: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

MAILCHECK Número de segundos que el shell espera antes de volver a comprobar la llegada de correo enlos archivos que especifican las variables MAILPATH o MAIL . El valor por omisión es 600segundos (10 minutos). Si define la variable MAILCHECK a 0, el shell efectúa la comprobaciónantes de cada solicitud.

MAILMSG El mensaje de notificación de correo. Si establece explícitamente la variable MAILMSG en unaserie nula (MAILMSG=″″), no se visualizará ningún mensaje.

MAILPATH Una lista de nombres de archivo separada por signos de dos puntos. Si define esta variable, elshell le informará de la llegada de correo en cualquier de los archivos especificados en la lista.Tras el nombre de cada archivo puede especificar un carácter % y el mensaje que ha devisualizarse cuando llegue correo. De lo contrario, el shell utilizará el valor de la variableMAILMSG o, por omisión, el mensaje [TIENE CORREO NUEVO].

Nota: Cuando se establece la variable MAILPATH , se comprueban esos archivos enlugar del archivo que establece la variable MAIL . Para comprobar los archivos definidospor la variable MAILPATH y el archivo definido por la variable MAIL , especifique elarchivo MAIL en la lista de archivos MAILPATH .

PATH La vía de búsqueda para mandatos, que es una lista ordenada de nombres de vías de accesode directorios separadas por dos puntos. El shell busca en dichos directorios en el ordenespecificado cuando busca mandatos. Una serie nula en cualquier parte de la lista representael directorio actual.

La variable PATH suele inicializarse en el archivo /etc/environment , por lo general, en/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin . Puede redefinir esta variable para que seajuste a sus requisitos. La variable PATH que se proporciona en el archivo .profile tambiénincluye $HOME/bin y el directorio actual.

Si tiene un directorio de mandatos específico de un proyecto, por ejemplo, /project/bin , en elque desea que se busque antes que en los directorios del sistema estándar, establezca lavariable PATH como se indica a continuación:

PATH=/project/bin:$PATH

El mejor lugar para establecer la variable PATH en un valor distinto del valor por omisión es enel archivo $HOME/.profile . No puede redefinir la variable PATH si va a ejecutar mandato bajoel shell restringido.

PS1 La serie que se utilizará como indicador principal del sistema. Un shell interactivo muestra laserie 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 encuentraun carácter de nueva línea como entrada, solicita el valor de la variable PS2. El valor poromisió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 registroestadístico en el archivo para cada script de shell que se ejecuta. Puede utilizar programas decontabilidad 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 debeestablecerla 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 variablese establece en un valor mayor que cero (0), el shell sale si no se entra un mandato dentro delnúmero de segundos indicado tras la emisión del indicador PS1. (Tenga en cuenta que el shellpuede compilarse con un límite máximo que no puede superarse para este valor). Un valor decero indica sin límite de tiempo.

Variables especiales predefinidas

Varias variables tienen significados especiales. Sólo el shell define las siguientes variables.

$@ 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. Sino existen parámetros posicionales, el shell Bourne expande la sentencia a una serie nula sin delimitar.

222 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 239: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

$* Expande los parámetros de posición, empezando por $1. El shell separa cada parámetro utilizando el primercarácter del valor de la variable IFS.

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 propioprocedimiento de shell. De esta forma, la variable $# produce el número del parámetro de posición con lanumeración más alta que se ha establecido. Una de las utilizaciones principales de esta variable es comprobarla presencia del número necesario de argumentos. Sólo son accesibles a través del shell los parámetrosposicionales $0 a $9.Consulte el apartado “Parámetros de posición” en la página 224 para obtener másinformación.

$? Especifica el valor de salida del último mandato ejecutado. Su valor es una serie decimal. La mayoría demandatos devuelven un valor 0 para indicar que se ha finalizado satisfactoriamente. El propio shell devuelve elvalor 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 entretodos los procesos existentes, esta serie suele utilizarse para generar nombres exclusivos para archivostemporales.

El ejemplo siguientes ilustra la práctica recomendada de crear archivos temporales en un directorio utilizadosolamente 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 elterminador &.

$- Una serie que consta de los nombres de los distintivos de ejecución definidos actualmente en el shell.

Interpretación de los blancosDespués de haber realizado la sustitución de variables y de mandatos, el shell explora el resultado enbusca de separadores de campo internos (los que se definen en la variable de shell IFS). El shell divide lalínea en palabras diferentes en cada lugar y encuentra uno o más de dichos caracteres separando cadapalabra distinta con un solo espacio. A continuación retiene los argumentos nulos explícitos (″″ o ’’) ydesecha los argumentos nulos implícitos (los que derivan de los parámetros que no tienen valores).

Sustitución condicional

Por lo general, el shell sustituye la expresión $Variable por el valor de la serie que se ha asignado a lavariable Variable, si existe una. Sin embargo, existe una notación especial que permite la sustitucióncondicional, 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 laserie nula, que puede asignarse a una variable de una de las formas siguientes:

A=

bcd=″″

Efg=’’ Asigna la serie nula a A, bcd y Efg.set ’’ ″″ Define el primer y segundo parámetro posicional en la serie nula y elimina la definición de todos

los demás parámetros posicionales.

A continuación se muestra una lista de las expresiones disponibles que puede utilizar para efectuarsustituciones condicionales:

Capítulo 11. Shells 223

Page 240: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

${Variable- Serie} Si se ha establecido la variable, sustituya el valor Variable en lugar de estaexpresión. De lo contrario, sustituya esta expresión por el valor de Serie.

${Variable:-Serie} Si se ha establecido la variable y no es nula, sustituya el valor Variable enlugar de esta expresión. De lo contrario, sustituya esta expresión por el valorde Serie.

${Variable=Serie} Si se ha establecido la variable, sustituya el valor Variable en lugar de estaexpresión. De lo contrario, establezca el valor Variable en el valor Serie y, acontinuación, sustituya el valor Variable en lugar de esta expresión. No puedeasignar valores a parámetros posicionales de este modo.

${Variable:=Serie} Si se ha establecido la variable y no es nula, sustituya el valor Variable enlugar de esta expresión. De lo contrario, establezca el valor Variable en el valorSerie y, a continuación, sustituya el valor Variable en lugar de esta expresión.No puede asignar valores a parámetros posicionales de este modo.

${Variable?Serie} Si se ha establecido la variable, sustituya el valor Variable en lugar de estaexpresió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 noespecifica 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 noespecifica 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 comoserie 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 quehacen referencia a cada palabra de la línea de mandatos por su respectiva posición. La palabra queocupa la posición 0 (el nombre del procedimiento) se denomina $0, la siguiente palabra (el primerparámetro) se denomina $1 y así sucesivamente, hasta $9. Para hacer referencia a parámetros de lalí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 mandatoset .

Nota: Cuando no se especifica un argumento para una posición, su parámetro de posición seestablece en nulo. Los parámetros de posición son globales y pueden pasarse a procedimientos deshell anidados.

224 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 241: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Sustitución de nombres de archivos en el shell Bourne

Los parámetros de mandatos son a menudo nombres de archivo. Puede generar automáticamente unalista de nombres de archivo como parámetros en una línea de mandatos. Para hacerlo, especifique uncarácter que el shell reconozca como un carácter que coincide con un patrón. Cuando un mandato incluyadicho carácter, el shell lo sustituirá por los nombres de archivo de un directorio.

Nota: El shell Bourne no da soporte a la expansión de nombres de archivos basada en laclasificación de equivalencia de caracteres.

La mayoría de caracteres de un patrón coinciden, pero también puede utilizar algunos caracterescoincidentes con patrón especiales en su patrón. Estos caracteres especiales son:

* Coincide con cualquier serie, incluyendo la serie nula.? Coincide con cualquier carácter.[ . . . ] Coincide con cualquiera de los caracteres delimitados entre corchetes.[! . . . ] Coincide con cualquier carácter entre corchetes que no sea uno de los caracteres que siguen al

signo de admiración.

Dentro de los corchetes, un par de caracteres separados por un - especifica el conjunto de todos loscaracteres que léxicamente se encuentran dentro del rango de inclusión de ese par, de acuerdo con laclasificación binaria de los valores de los caracteres.

La coincidencia con patrones tiene algunas restricciones. Si el primer carácter del nombre de un archivoes 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 dela búsqueda de coincidencia que se ha intentado.

Los nombres de los archivos y de los directorios no deben contener los caracteres *, ?, [, o ], pues ellopuede provocar una repetición infinita (es decir, bucles infinitos) durante los intentos de búsqueda depatrones de coincidencia.

Clases de caracteresTambié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 claseespecificada. Las clases definidas corresponden a subrutinas ctype . Son:

Clase de carácter Definiciónalnum Caracteres alfanuméricosalpha Letras mayúsculas y minúsculasblank Espacio o tabulador horizontalcntrl Caracteres de controldigit Dígitosgraph Caracteres gráficoslower Letras minúsculasprint Caracteres imprimiblespunct Caracteres de puntuación

Capítulo 11. Shells 225

Page 242: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Clase de carácter Definiciónspace Espacio, tabulador horizontal, retorno de carro, nueva línea, tabulador vertical o

carácter de salto de páginaupper Caracteres mayúsculasxdigit Dígitos hexadecimales

Redirección de entrada y de salida en el shell Bourne

En general, la mayoría de mandatos no conocen o no les importa si la entrada o la salida está asociadacon el teclado, la pantalla o un archivo. De este modo, puede utilizarse un mandato convenientemente enel teclado o en un conducto.

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.

<Archivo Utiliza el archivo especificado como entrada estándar.>Archivo Utiliza el archivo especificado como salida estándar. Crea el archivo si no existe; de lo

contrario, lo trunca a longitud cero.> >Archivo Utiliza el archivo especificado como salida estándar. Crea el archivo si no existe; de lo

contrario, añade la salida al final del archivo.<<[-]eofstr Lee como entrada estándar todas las líneas desde la variable eofstr hasta una línea que sólo

contiene eofstr o bien hasta un carácter de fin de archivo. Si algún carácter de la variableeofstr tiene delimitadores, el shell no expandirá ni interpretará ninguno de los caracteres delas líneas de entrada. De lo contrario, realizará la sustitución de la variable y del mandato ypasará por alto el carácter de nueva línea que tiene delimitadores (\nueva-línea ). Utilice una \para delimitar los caracteres que están dentro de la variable eofstr o dentro de las líneas deentrada.

Si añade un - a la opción de redirección <<, se saltarán todas las tabulaciones iniciales de lavariable eofstr y de las líneas de entrada.

<&Dígito Asocia la entrada estándar al descriptor de archivo que especifica la variable Dígito.>&Dígito Asocia la salida estándar al descriptor de archivo que especifica la variable Dígito.<&- Cierra la entrada estándar.>&- Cierra la salida estándar.

Nota: El shell restringido no permite la redirección de salida.

Para obtener más información acerca de la redirección, consulte el “Capítulo 4. Redirección de entrada ysalida” en la página 43 y el apartado “Información relacionada con el shell Bourne” en la página 227.

Lista de mandatos incorporados del shell Bourne

: Devuelve un valor de salida cero.. Lee y ejecuta mandatos de un parámetro de archivo y a continuación los procesa.break Sale de los bucles de los mandatos de delimitación for , while o until , si existe alguno.cd Cambia el directorio actual al directorio especificado.continue Reanuda la siguiente iteración de los bucles de los mandatos de delimitación for , while o until .echo Graba series de caracteres a salida estándar.eval Lee los argumentos como entrada al shell y ejecuta el mandato o mandatos resultantes.exec Ejecuta el mandato que especifica el parámetro Argumento, en lugar de este shell, sin crear un

nuevo proceso.exit Sale del shell cuyo estado de salida especifica el parámetro n.export Marca nombres para exportación automática al entorno de mandatos ejecutados sucesivamente.hash Localiza y recuerda la posición de la vía de búsqueda o mandatos especificados.

226 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 243: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

pwd Muestra el directorio actual.read Lee una línea de la entrada estándar.readonly Marca el nombre que especifica el parámetro Nombre como de sólo lectura.return Hace que una función salga con un valor de retorno especificado.set Controla la visualización de varios parámetros para salida estándar.shift Desplaza argumentos de línea de mandatos a la izquierda.test Evalúa expresiones condicionales.times Muestra las horas de usuario y del sistema totales para procesos que se ejecutan desde el shell.trap Ejecuta el mandato especificado cuando el shell recibe la señal o señales especificadas.type Interpreta cómo interpretaría el shell un nombre especificado como un nombre de mandato.ulimit Muestra o ajusta recursos del shell asignados.umask Determina los permisos de archivo.unset Elimina la variable o función correspondiente a un nombre especificado.wait Espera a que finalice el proceso hijo especificado e informa de su estado de terminación.

Consulte el apartado “Mandatos incorporados del shell Bourne” en la página 215 para obtener másinformación.

Información relacionada con el shell Bourne“Capítulo 11. Shells” en la página 159

“Shell Bourne” en la página 210

“Shell restringido” en la página 211

“Mandatos del shell Bourne” en la página 212

“Sustitución de variables y nombres de archivo en el shell Bourne” en la página 219

“Redirección de entrada y de salida en el shell Bourne” en la página 226

El mandato bsh o Rsh , el mandato login .

El mandato especial del shell Bourne read .

La subrutina setuid , la subrutina setgid .

El archivo especial null .

El archivo environment , el formato de archivo profile .

“Mandatos del shell Korn o shell POSIX” en la página 184

“Shell C”

Shell C

El shell C es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. Utilizauna 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 Cejecuta el archivo de configuración de todo el sistema /etc/csh.login , si está disponible. Seguidamente,

Capítulo 11. Shells 227

Page 244: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

busca en el directorio inicial los archivos .cshrc y .login . Si existen, contienen información de usuariopersonalizada pertinente para ejecutar el shell C. Todas las variables establecidas en los archivos/etc/csh.cshrc y /etc/csh.login podrían alterarlas temporalmente los archivos .cshrc y .login deldirectorio $HOME. Sólo el usuario root puede modificar los archivos /etc/csh.cshrc y /etc/csh.login .

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 seejecuten 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 seinvoca el mandato csh o un script del shell C. Generalmente se utilizan para definir características delshell C como los alias y variables del shell C (por ejemplo, history, noclobber o ignoreeof). Se recomiendautilizar únicamente los mandatos que se describen en el apartado “Mandatos incorporados del shell C” enla página 229 en los archivos /etc/csh.cshrc y $HOME/.cshrc , ya que la utilización de otros mandatosincrementa el tiempo de arranque de los scripts de shell.

En este apartado se explica lo siguiente:

v “Limitaciones del shell C”

v “Manejo de señales” en la página 229

v “Mandatos del shell C” en la página 229

– “Mandatos incorporados del shell C” en la página 229

– “Expresiones y operadores del shell C” en la página 236

– “Sustitución de mandatos en el shell C” en la página 237

– “Ejecución de mandatos no incorporados del shell C” en la página 238

v “Sustitución del histórico en el shell C” en la página 238

– “Listas de histórico” en la página 239

– “Especificación de eventos” en la página 239

– “Delimitación con apóstrofos y comillas” en la página 241

v “Sustitución de alias en el shell C” en la página 241

v “Sustitución de variables y nombres de archivo en el shell C” en la página 242

– “Sustitución de variables en el shell C” en la página 242

– “Sustitución de nombres de archivos en el shell C” en la página 244

– “Expansión de nombres de archivo” en la página 244

– “Abreviatura de los nombres de archivos” en la página 245

– “Clases de caracteres” en la página 245

v “Variables de entorno en el shell C” en la página 246

v “Redirección de entrada y salida en el shell C” en la página 248

v “Control de trabajos en el shell C” en la página 249

v “Información relacionada del shell C” en la página 251

Limitaciones del shell C

A continuación se describen las limitaciones del shell C:

v Las palabras no pueden ser mayores de 1024 bytes.

v Las listas de argumentos están limitadas a ARG_MAX. Los valores de la variable ARG_MAX seencuentran en el archivo /usr/include/sys/limits.h .

v El número de argumentos para un mandato que implica expansión de nombres está limitado a unasexta parte del número de bytes permitidos en una lista de argumentos.

228 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 245: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Las sustituciones de mandatos no pueden sustituir más bytes de los que están permitidos en una listade argumentos.

v Para detectar bucles, el shell limita el número de sustituciones de alias en una sola línea a 20.

v El mandato csh no soporta expansión de nombres de archivo en clasificación de equivalencia decaracteres.

Manejo de señales

El shell C normalmente ignora las señales de finalización. Los trabajos que se ejecutan desconectadosson inmunes a las señales generadas desde el teclado (INTERRUPT, QUIT y HANGUP).Otras señalestienen los valores que el shell hereda de su padre. Puede controlar el manejo del shell de las señalesINTERRUPT y TERMINATE de los procedimientos del shell con onintr . Los shells de inicio de sesióntoman o pasan por alto las señales TERMINATE en función de su configuración. Los shells que no sonshells de inicio de sesión pasan señales TERMINATE a los procesos hijo. Las señales INTERRUPT enningún caso están permitidas cuando un shell de inicio de sesión está leyendo el archivo .logout .

Mandatos del shell C

Un mandato simple es una secuencia de palabras separadas por blancos o tabulaciones.

Una palabra es una secuencia de caracteres o de números, o de ambos, que no contiene espacios enblanco sin comillas. Además, los caracteres siguientes y caracteres dobles también forman palabrassimples 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 especificanentre ’ ’ o ″ ″ (pares de caracteres de comillas correctamente emparejados) o acentos graves tambiénpueden formar partes de palabras. Los blancos, las tabulaciones y los caracteres especiales no formanpalabras separadas cuando se delimitan con estas marcas. Asimismo, también puede delimitar uncará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 nombrede un mandato. Las palabras restantes, con algunas excepciones, se pasan a dicho mandato. Si elmandato especifica un archivo ejecutable que es un programa compilado, el shell ejecuta inmediatamentedicho programa. Si el archivo está marcado como ejecutable, pero no es un programa compilado, el shellpresupone 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.

En este apartado se explica lo siguiente:

v “Mandatos incorporados del shell C”

v “Expresiones y operadores del shell C” en la página 236

v “Sustitución de mandatos en el shell C” en la página 237

v “Ejecución de mandatos no incorporados del shell C” en la página 238

v “Información relacionada del shell C” en la página 251

Mandatos incorporados del shell C

Los mandatos incorporados se ejecutan en el shell. Si existe un mandato incorporado, como cualquiercomponente de un conducto, excepto el último, el mandato se ejecuta en un subshell.

Capítulo 11. Shells 229

Page 246: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Nota: Si entra un mandato desde el indicador de mandatos del shell C, el sistema buscará en primerlugar un mandato incorporado. Si no existe ningún mandato incorporado, el sistema buscará en losdirectorios que especifica la variable de shell path un mandato del sistema. Algunos mandatosincorporados del shell C y mandatos del sistema operativo tienen el mismo nombre. No obstante,estos mandatos no necesariamente funcionan del mismo modo. Examine la descripción del mandatoapropiado para obtener información acerca de cómo funciona el mandato.

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 elscript. De lo contrario, ejecutará el shell por omisión (el shell que está enlazado con /usr/bin/sh ). Si laejecución la realiza el shell por omisión, puede que los mandatos incorporados del shell C no sereconozcan. Para que el sistema ejecute mandatos del shell C, especifique #!/usr/bin/csh como primeralínea del script.

Consulte el apartado “Lista de mandatos incorporados del shell C” en la página 250 para obtener unlistado alfabético de los mandatos incorporados.

Descripciones de mandatos del shell CEl shell C proporciona los siguientes mandatos incorporados:

alias [Nombre [ListaPalabras]] Muestra todos los alias si no especifica parámetros. De lo contrario, elmandato visualizará el alias del Nombre especificado. Si se especificaListaPalabras, este mandato asignará el valor de ListaPalabras al Nombre delalias. 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 delimitadorforeach 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 dela variable Nombre no es un subdirectorio del directorio actual y no empiezapor /, ./ o bien ../, el shell comprobará cada componente de la variable deshell cdpath para verificar si tiene un subdirectorio que coincida con el valorde la variable Nombre. Si la variable Nombre es una variable de shell quetiene un valor que empieza por /, el shell lo intentará con éste para verificar sise 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 while oforeach más cercano.

default: Etiqueta la especificación de mayúsculas o de minúsculas correspondiente adefault en una sentencia switch . El valor por omisión (default ) debe venirdespué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 sentenciasforeach y las sentencias end coincidentes. Las sentencias foreach y enddeben aparecer solas en líneas independientes.

Utiliza la sentencia continue para continuar el bucle y la sentencia breakpara finalizar el bucle prematuramente. Cuando se lee el mandato foreachdesde el terminal, el shell C solicita con un signo ? para permitir la entrada deMandatos. Los mandatos incluidos en bucles, solicitados por un signo ?, nose sitúan en la lista del histórico.

230 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 247: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

endif Si la variable Expresión es verdadera, ejecuta los Mandatos que siguen a laprimer sentencia then .Si else if Expresión2 es verdadero, ejecuta losMandatos que siguen a la segunda sentencia then . Si else if Expresión2 esfalso, ejecuta los Mandatos que siguen a else . Es posible cualquier númerode pares else if . Sólo se necesita una sentencia endif . El segmento else esopcional. Las palabras else y endif sólo pueden utilizarse al principio de laslíneas de entrada. El segmento if debe aparecer solo en su propia línea deentrada o después de un mandato else .

endsw Hace coincidir sucesivamente cada etiqueta case con el valor de la variableserie. Con serie, primero se expande el mandato y el nombre de archivo.Utilice los caracteres de patrones de coincidencia *, ? y [ . . . ] en lasetiquetas case , cuyas variables se expanden. Si ninguna de las etiquetascoincide antes de que se encuentre una etiqueta default , la ejecuciónempieza tras la etiqueta default . La etiqueta case y la etiqueta default debenaparecen al principio de la línea. El mandato breaksw da lugar a que laejecución continúe tras el mandato endsw . De lo contrario, el control de lasetiquetas case y default podría no ser satisfactorio, como en el lenguaje deprogramación C. Si no coincide ninguna etiqueta y no hay valor por omisión(default ), la ejecución continúa después del mandato endsw .

eval Parámetro . . . Lee el valor de la variable Parámetro como entrada para el shell y ejecuta elmandato o mandatos resultantes en el contexto del shell actual. Utilice estemandato para ejecutar mandatos que se han generado como resultado de lasustitución de un mandato o variable, ya que el análisis se produce antes deestas sustituciones.

exec Mandato Ejecuta el Mandato especificado en lugar del shell actual.exit [(Expresión) Sale del shell con el valor de la variable de shell status (si no se ha

especificado ninguna Expresión) o bien con el valor de la Expresiónespecificada.

fg [%Trabajo ...] Lleva al primer plano el trabajo actual o el trabajo especificado por Trabajo,continuando el trabajo si estaba detenido.

foreach Nombre (Lista)Mandato. . .

Define sucesivamente una variable Nombre para cada miembro especificadopor la variable Lista y una secuencia de mandatos hasta llegar a un mandatoend .

glob Lista Visualiza la Lista utilizando la expansión del histórico, de la variable y delnombre de archivo. Sitúa un carácter nulo entre palabras y no incluye unretorno de carro al final.

goto Palabra Continúa con la ejecución tras la línea que especifica la variable Palabra. Dela Palabra especificada se expande el nombre de archivo y el mandato paraproducir una serie que tiene el formato que especifica la variable Etiqueta:. Elshell hace retroceder su entrada hasta donde le es posible y busca una líneaque tiene el formato Etiqueta:, posiblemente precedida de espacios en blancoo de tabulaciones.

hashstat Muestra estadísticas indicando con qué eficacia ha localizado mandatos latabla hash.

history [-r | -h] [n] Muestra la lista de eventos históricos. Los eventos más antiguos se muestranen primer lugar. Si especifica un número n, sólo se visualizará el númeroespecificado de sucesos más recientes. El distintivo -r invierte el orden en elque han de visualizarse los sucesos para que el suceso más reciente sea elque se visualice en primer lugar. El distintivo -h visualiza la lista del históricosin números iniciales. Utilice este distintivo para producir archivos que puedanutilizarse con el distintivo -h del mandato source .

if (Expresión) Mandato Ejecuta el Mandato especificado (incluidos sus argumentos) si la Expresiónespecificada es verdadera. La sustitución de variables de la variable Mandatotiene lugar en la primera fase, al mismo tiempo que el resto de la sentencia if .El Mandato especificado debe ser un mandato simple (en lugar de unconducto, una lista de mandatos o una lista de mandatos entre paréntesis).

Nota: Se produce redirección de entrada y de salida aunque la variableExpresión sea falsa y no se ejecute el Mandato.

Capítulo 11. Shells 231

Page 248: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

jobs [-l] Lista los trabajos activos. Con el distintivo -l (l minúscula), el mandato jobslista los ID de proceso además del número y nombre de trabajo.

kill -l | [[-Señal] % Trabajo...|PID...] Envía la señal TERM (terminar) o la señal que especifica Señal al Trabajo oPID (proceso) especificado. Especifique las señales por número o por nombre(como se indica en el archivo /usr/include/sys/signal.h , sin el prefijo SIG). Eldistintivo -l (L minúscula) muestra una lista con los nombres de las señales.

limit [-h] [Recurso [Uso-máx]] Limita la utilización del recurso especificado por el proceso actual y de cadaproceso que crea. Los límites de los recursos del proceso están definidos enel archivo /etc/security/limits . Los recursos controlables son el tiempo deunidad central de proceso (CPU), el tamaño de los archivos, el tamaño de losdatos, el tamaño del vuelco de la imagen de memoria y la utilización dememoria. Los valores máximos permitidos para estos recursos se establecencon el mandato mkuser cuando el usuario se añade al sistema. Se cambiancon el mandato chuser .

Las categorías de los límites pueden ser dinámicas o fijas. Los usuariospueden aumentar sus límites limitados hasta el máximo impuesto por loslímites fijos. Debe tener autorización de usuario root para poder aumentar unlímite limitado por encima del límite fijo o para cambiar límites fijos. Eldistintivo -h muestra los límites fijos en lugar de los límites dinámicos.

Si no se especifica un parámetro Uso-máx, el mandato limit visualiza el límiteactual del recurso especificado. Si no se especifica el parámetro Recurso, elmandato limit visualiza los límites actuales de todos los recursos. Paraobtener más información acerca de los recursos que el submandato limitcontrola, consulte la subrutina getrlimit , setrlimit o vlimit en la publicaciónAIX 5L Version 5.1 Technical Reference: Base Operating System andExtensions Volume 1.

El parámetro Uso-máx para el tiempo de CPU se especifica en formatohh:mm:ss. El parámetro Uso-máx para los otros recursos se especifica comoun número de coma flotante o bien como un entero, opcionalmente seguidode un factor de escala. El factor de escala es: k o kilobytes (1024 bytes), m omegabytes o bien b o bloques (las unidades que utiliza la subrutina ulimit seexplican en la publicación AIX 5L Version 5.1 Technical Reference: BaseOperating System and Extensions Volume 2 ). Si no especifica un factor deescala, se presupone k para todos los recursos. Para los nombres de losrecursos y los factores de escala, la especificación de prefijos no ambiguosde los nombres es suficiente.

Nota: Este mandato limita la memoria física (utilización de memoria)disponible para un proceso sólo si existen otros procesos activos queestán en contención por la memoria del sistema.

login Finaliza un shell de inicio de sesión y lo sustituye por una instancia delmandato /usr/bin/login . Es una forma de finalizar la sesión (que se incluyepara mantener la compatibilidad con los mandatos ksh y bsh ).

logout Finaliza el shell de inicio de sesión. Este mandato debe utilizarse si se haestablecido la opción ignoreeof .

nice [+n] [Mandato] Si no se especifica ningún valor, define la prioridad de mandatos ejecutadosen este shell a 24. Si se especifica el distintivo +n, establece que a laprioridad se añada el número especificado. Si se especifican el distintivo +n yMandato, ejecuta Mandato con la prioridad 24 más el número especificado. Sidispone de autorización de usuario root, puede ejecutar la sentencia nice conun número negativo. El Mandato siempre se ejecuta en un subshell y seaplican las restricciones situadas en mandatos en sentencias if simples.

232 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 249: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

nohup [Mandato] Hace que hangups se pase por alto en el resto del script cuando no se haespecificado ningún Mandato. Si se especifica Mandato, el Mandatoespecificado se ejecutará y se ignorarán las interrupciones anómalas . Paraejecutar un conducto o una lista de mandatos, coloque el conducto o la listaen un script de shell, otorgue al script permiso de ejecución y utilice el scriptde shell como el valor de la variable Mandato. Todos los procesos que seejecutan como procesos de fondo con & están eficazmente protegidos paraque no pueda enviarse a éstos una señal hangup cuando se finalice lasesión. Sin embargo, estos procesos siguen siendo susceptibles de que seles envíen explícitamente hangups a menos que se utilice la sentencianohup .

notify [%Trabajo...] Hace que el shell le notifique de forma asíncrona cuando se produzca uncambio en el estado del trabajo actual o del Trabajo especificado.Normalmente, el shell proporciona la notificación justo antes de que presenteel indicador del shell. Esta función es automática si se define la variable delshell notify .

onintr [- | Etiqueta] Controla la acción del shell en interrupciones. Si no se especificanargumentos, restaura la acción por omisión del shell en interrupciones, lo quefinaliza los scripts de shell o vuelve al nivel de entrada de mandatos. Si seespecifica un distintivo -, hace que todas las interrupciones se pasen por alto.Si se especifica Etiqueta, hace que el shell ejecute una sentencia gotoEtiqueta cuando el shell recibe una interrupción o cuando un proceso hijofinaliza debido a una interrupción. En cualquier caso, si el shell se ejecutaindependientemente y las interrupciones se pasan por alto, todas las formasde la sentencia onintr dejan de tener significado. El shell sigue ignorando lasinterrupciones y todos los mandatos llamados.

popd [+n] Aparece la pila de directorios y cambia al nuevo directorio superior. Siespecifica una variable n, el mandato desecha la entrada número n de lapila.Los elementos de la pila de directorios están numerados desde elprincipio, comenzando por 0.

pushd [+n|Nombre] Sin argumentos, intercambia los dos elementos superiores de la pila dedirectorios. Con la variable Nombre, el mandato cambia al nuevo directorio ycoloca el directorio actual antiguo (como se especifica en la variable de shellcwd ) en la pila de directorios. Si especifica una variable +n, el mandato rotael componente número n de la pila de directorios para que ocupe la posicióndel primer elemento y cambia a éste. Los miembros de la pila de directoriosestán numerados desde el principio, comenzando por 0.

rehash Da lugar a que vuelva a calcularse la tabla hash interna de contenido de losdirectorios en la variable de shell path . Esta acción es necesaria si se añadennuevos mandatos a los directorios en la variable de shell path mientras estáconectado. El mandato rehash sólo es necesario si se añaden mandatos aunos de los directorios propios del usuario o si alguien cambia el contenidode uno de los directorios del sistema.

repeat Cuenta Mandato Ejecuta el Mandato especificado, con las mismas restricciones que losmandatos de las sentencias if simples, el número de veces que Cuentaespecifique.

Nota: Las redirecciones de E/S sólo se producen una vez, aunque lavariable Cuenta sea 0.

Capítulo 11. Shells 233

Page 250: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

set [[Nombre[n]] [ = Palabra]] |[Nombre = (Lista)]

Muestra el valor de todas las variables del shell cuando se utiliza sinargumentos. Las variables que tienen más de una palabra simple como valorse muestran en una lista de palabras entre paréntesis. Si sólo se especificaNombre, el shell C establece la variable Nombre en la serie nula. De locontrario, establece Nombre en el valor de la variable Palabra o bienestablece la variable Nombre en la lista de palabras que especifica la variableLista. Cuando se especifica n, el componente número n de la variableNombre está definido con el valor de la variable Palabra; el componentenúmero n ya debe existir.En todos los casos, se expanden nombres dearchivo y mandatos para el valor. Estos argumentos pueden repetirse paraestablecer varios valores en un único mandato set . No obstante, la expansiónde variables se produce para todos los argumentos antes de que se produzcacualquier definición.

setenv Nombre Valor Establece el valor de la variable de entorno que especifica la variable Nombreen Valor, una única serie. Las variables de entorno más comúnmenteutilizadas, USER, TERM, HOME y PATH, se importan automáticamente a lasvariables de shell C y se exportan de las variables de shell C user , term ,home y path . Para éstas, no es necesario utilizar la sentencia setenv .

shift [Variable] Desplaza los miembros de la variable de shell argv o de la Variableespecificada hacia la izquierda. Se producirá un error si la variable de shellargv o la Variable especificada no se ha establecido o tiene un valor menorque una palabra.

source [-h] Nombre Lee los mandatos que especifica la variable Nombre. Puede anidar losmandatos source . No obstante, si se anidan demasiado profundamente, elshell puede quedarse sin descriptores de archivo. Un error en un mandatosource a cualquier nivel finaliza todos los mandatos source anidados. Por logeneral, la entrada que tiene lugar durante los mandatos source no se colocaen la lista del histórico. El distintivo -h hace que los mandatos se coloquen enla lista del histórico sin ejecutarlos.

stop [%Trabajo ...] Detiene el trabajo actual o el Trabajo especificado que se ejecuta en segundoplano.

suspend Detiene el shell como si se hubiera recibido una señal STOP.switch (serie) Inicia una secuencia de mandatos switch ( Serie) case Serie : ... breaksw

default: ... breaksw endsw . Esta secuencia de mandatos hace coincidirsucesivamente cada etiqueta con el valor de la variable Serie. Si ninguna delas etiquetas coincide antes de que se encuentre una etiqueta por omisión, laejecución se iniciará tras la etiqueta por omisión.

234 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 251: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

time [Mandato] El mandato time controla la temporización automática de los mandatos. Si noespecifica la variable Mandato, el mandato time visualiza un resumen deltiempo que ha necesitado el shell y sus hijos. Si especifica un mandato con lavariable Mandato, se calculará su tiempo. A continuación, el shell visualizaráun resumen de tiempos, como se describe en la variable de shell time . Si esnecesario, se crea un shell adicional para visualizar las estadísticas de tiempocuando se completa el mandato.

A continuación se muestra un ejemplo de la utilización de time con elmandato sleep :

time sleep

La salida de este mandato puede tener este aspecto:

0.0u 0.0s 0:00 100% 44+4k 0+0io 0pf+0w

A continuación se describen los siete campos de la salida:

Campo Descripción

PrimeroNúmero de segundos de tiempo CPU dedicado al proceso delusuario

SegundoNúmero de segundos de tiempo CPU consumido por el kernel ennombre del proceso del usuario

TerceroTiempo transcurrido (tiempo de reloj) por el mandato

Cuarto Tiempo de CPU de usuario total más tiempo del sistema, comoporcentaje del tiempo transcurrido

Quinto Promedio de memoria compartida utilizada, más promedio deespacio de datos no compartido, en kilobytes

Sexto Número de operaciones de entrada y salida de bloques

SéptimoFaltas de página más número de intercambios

umask [Valor] Determina los permisos de archivo. Este Valor, junto con los permisos delproceso de creación, determina los permisos de un archivo cuando se crea elarchivo. El valor por omisión es 022. El valor actual se visualizará si no seespecifica Valor.

unalias *| Patrón Descarta todos los alias que tienen nombres que coinciden con la variablePatrón. Todos los alias se eliminan por medio del mandato unalias * . Laausencia de alias no origina un error.

unhash Inhabilita la utilización de la tabla hash interna para la localización deprogramas en ejecución.

unlimit [-h][Recurso] Elimina la limitación de la variable Recurso. Si no se especifica ningunavariable Recurso, se eliminan todas las limitaciones de recurso. Consulte ladescripción del mandato limit para ver la lista de nombres de Recurso.

El distintivo -h elimina los límites fijos correspondientes. Sólo un usuario conautorización de usuario root puede cambiar los límites fijos.

unset *| Patrón Elimina todas las variables que tienen nombres que coinciden con la variablePatrón. Utilice unset * para eliminar todas las variables. Si no se definenvariables, no se origina ningún error.

unsetenv Patrón Elimina todas las variables del entorno cuyos nombres coinciden con elPatrón especificado. (Consulte el mandato incorporado setenv ).

wait Espera a todos los trabajos en segundo plano. Si el shell es interactivo, unINTERRUPT (normalmente, la secuencia de teclas Control-C) interrumpe laespera. El shell muestra a continuación los nombres y números de todos lostrabajos que se sabe que están pendientes.

Capítulo 11. Shells 235

Page 252: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

while (Expresión) Mandato. . . end Evalúa los Mandatos que se encuentran entre las sentencias while y lassentencias end coincidentes mientras la expresión que especifica la variableExpresión evalúe un valor distinto de cero. Puede utilizar la sentencia breakpara finalizar y la sentencia continue para continuar el bucleprematuramente. Las sentencias while y end deben aparecer solas en suslíneas de entrada. Si la entrada es desde un terminal, las solicitudes seproducen después de while (Expresión), similar a la sentencia foreach .

@ [Nombre[n] = Expresión] Muestra los valores de todas las variables de shell cuando se utilizan sinargumentos. De lo contrario, establece el nombre que especifica la variableNombre en el valor de la variable Expresión. Si la expresión contiene loscaracteres <, >, & o |, esta parte de la expresión debe especificarse entreparéntesis. Cuando se especifica n, el componente número n de la variableNombre se establece en la variable Expresión. Deben existir ya tanto lavariable Nombre como su componente número n.

Están disponibles los operadores del lenguaje C, como *= y +=. El espacioque separa la variable Nombre del operador de asignación es opcional. Sinembargo, los espacios serán necesarios para separar los componentes de lavariable Expresión que, de lo contrario, se leería como si fuera una únicapalabra. Los operadores de sufijo especiales, el signo más doble (++) y elguión doble (- -) aumentan y disminuyen, respectivamente, el valor de lavariable Nombre.

Expresiones y operadores del shell C

El mandato incorporado @ y las sentencias exit , if y while aceptan expresiones que incluyan operadoressimilares a los del lenguaje C, con la misma precedencia. Están disponibles los siguientes operadores:

Operador Significado() cambiar prioridadx 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 aabajo.

Nota: Los operadores + y - se asocian por la derecha. Por ejemplo, la evaluación de a + b - c seefectúa de este modo:a + (b - c)

y no:(a + b) - c

Los operadores ==, !=, =x y !x comparan sus argumentos como series; todos los demás operadoresoperan en números. Los operadores =x y !x son similares a los operadores == y !=, a excepción de que la

236 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 253: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

parte que se encuentra más a la derecha es un patrón con el que se hace coincidir el operando que seencuentra más a la izquierda. Esto reduce la necesidad de utilizar la sentencia switch en procedimientosde shell cuando lo único que se necesita realmente es la coincidencia con patrón.

Los operadores lógicos or (||) y and (&&) también están disponibles. Por ejemplo, pueden utilizarse paracomprobar un rango de números:if ($#argv > 2 && $#argv < 7) then

En el ejemplo anterior, el número de argumentos debe ser mayor de 2 y menor de 7.

Las series que empiezan por cero (0) se consideran números octales. La falta de argumentos o losargumentos nulos se consideran 0. Todas las expresiones dan como resultado series que representannúmeros decimales. Tenga en cuenta que dos componentes de una expresión pueden aparecer en lamisma palabra. Excepto cuando están junto a los componentes de las expresiones que sonsintácticamente significativas para el analizador (& | < > ( )), los componentes de la expresión debenincluir espacios a su alrededor.

Disponibles también en las expresiones como operandos primitivos están las ejecuciones de mandatosespecificadas entre ( ) y las consultas de archivos en el formato (-operator Nombre archivo), dondeoperator es uno de los siguientes:

r Acceso de lecturaw Acceso de grabaciónx Acceso de ejecucióne Existenciao Propiedadz Tamaño cerof Archivo planod Directorio

Del Nombre archivo especificado se expanden el mandato y el nombre de archivo y, a continuación, seprueba para verificar si dispone de la relación especificada con el usuario real. Si Nombre archivo noexiste o no puede accederse a éste, todas las consultas devuelven el valor false(0). Si el mandato seejecuta satisfactoriamente, la consulta devuelve el valor true(1). De lo contrario, el mandato falla, laconsulta devuelva un valor de falso (0). Si necesita información de estado más detallada, ejecute elmandato fuera de una expresión y, a continuación, examine la variable de shell status .

Sustitución de mandatos en el shell C

En la sustitución de mandatos, el shell ejecuta un mandato especificado y sustituye ese mandato por susalida. Para realizar la sustitución de mandatos en el shell C, especifique el mandato o la serie demandatos entre acentos graves (′ ′). El shell interrumpe normalmente la salida del mandato en palabrasseparadas con blancos, tabulaciones y caracteres de nueva línea. A continuación sustituye el mandatooriginal con esta salida.

En el ejemplo siguiente, los acentos graves (′ ′) que rodean al mandato date indican que se sustituirá lasalida del mandato:echo La fecha y hora actuales son: ′date′

La salida de este mandato puede tener este aspecto:La fecha y hora actuales son: Mié Abr 8 13:52:14 CDT 1992

El shell C efectúa sustitución de mandatos selectivamente en los argumentos de mandatos de shellincorporados. Esto significa que no expande dichas partes de expresiones que no se evalúan. En el caso

Capítulo 11. Shells 237

Page 254: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

de mandatos que no son incorporados, el shell sustituye el nombre de mandato independientemente de lalista de argumentos. La sustitución se produce en un hijo del shell principal, sólo después de que el shellefectúe redirección de entrada o salida.

Si una serie de mandatos se especifica entre ″ ″, el shell sólo tratará a los caracteres de nueva líneacomo si fueran separadores de palabras, conservando de esta forma los espacios en blanco y lastabulaciones que están dentro de la palabra. En todos los casos, el carácter simple final de nueva líneano fuerza una nueva palabra.

Ejecución de mandatos no incorporados del shell CCuando el shell C determina que un mandato no es un mandato incorporado del shell, intenta ejecutar elmandato con la llamada al sistema execv . Cada palabra de la variable de shell path indica el nombre deun directorio desde el que el shell intenta ejecutar el mandato. Si no se especifica ni el distintivo -c ni eldistintivo -t, el shell organiza los nombres de esos directorios en una tabla interna. El shell intenta realizarla llamada al sistema exec en un directorio sólo si existe alguna posibilidad de que el mandato resida allí.Si desactiva este mecanismo con el mandato unhash o especifica en el shell el distintivo -c o -t, el shellrealizará la concatenación con el nombre de mandato indicado para formar un nombre de vía de accesode un archivo. De todas formas, el shell también realizará esta acción para cada componente de directoriode la variable path que no empiece por /. El shell intenta a continuación ejecutar el mandato.

Los mandatos entre paréntesis siempre se ejecutan en un subshell. Por ejemplo:(cd ; pwd) ; pwd

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 suelenutilizarse 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 presuponeque 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 elmandato de shell. La primera palabra del alias debe ser el nombre completo de la vía de acceso del shell.

Sustitución del histórico en el shell C

La sustitución de histórico le permite modificar palabras individuales de mandatos anteriores para crearnuevos mandatos. La sustitución de histórico facilita la repetición de mandatos, de argumentos de unmandato anterior en el mandato actual o arreglar errores de escritura en el mandato anterior escribiendomenos de lo normal.

Las sustituciones de histórico comienzan por el carácter ! y pueden aparecer en cualquier punto de lalínea de mandatos, siempre que no estén anidadas (es decir, una sustitución de histórico no puedecontener otra sustitución de histórico). Delante del signo ! puede especificar una \ para cancelar elsignificado 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 deentrada. El shell repite cualquier línea de entrada que contenga sustituciones de histórico en la estaciónde trabajo antes de ejecutar dicha línea.

En este apartado se explica lo siguiente:

v “Listas de histórico” en la página 239

238 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 255: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v “Especificación de eventos”

v “Delimitación con apóstrofos y comillas” en la página 241

v “Información relacionada del shell C” en la página 251

Listas de históricoLa lista del histórico guarda mandatos que el shell lee de la línea de mandatos y que constan de una omás palabras. La sustitución del histórico vuelve a introducir secuencias de palabras de estos mandatosguardados en la corriente de entrada.

La variable de shell history controla el tamaño de la lista del histórico. Debe establecer la variable deshell history del archivo .cshrc o de la línea de mandatos con el mandato incorporado set . El mandatoanterior siempre se retiene, con independencia del valor de la variable history . Los mandatos de la listadel histórico se numeran secuencialmente comenzando desde 1. El mandato history incorporado generasalida del tipo:9 write michael10 ed write.c11 cat oldwrite.c12 diff *write.c

El shell muestra las series de mandatos con sus números de evento. No suele ser necesario utilizarnúmeros de evento para referirse a los mismos, pero puede visualizar el número de evento actual comoparte del indicador del sistema situando un ! en la serie del indicador de mandatos que se ha asignado ala variable de entorno prompt .

Una referencia completa del histórico contiene una especificación de suceso, un designador de palabra yuno 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. Utilizandoeste ejemplo, lo siguiente se refiere a eventos anteriores:

!10 Número de evento 10.!-2 Número de evento 11 (el evento actual menos 2).!d Palabra de mandato que empieza por d (número de evento 12).!?mic? Palabra de mandato que contiene la serie mic (número de evento 9).

Estos formatos, sin modificaciones posteriores, reintroducen simplemente las palabras de los eventosespecificados, cada una de ellas separada por un blanco. Como caso especial, !! hace referencia almandato anterior; el mandato !! solo en una línea de entrada vuelve a ejecutar el mandato anterior.

Especificación de eventosPara seleccionar palabras de un suceso, especifique un signo : tras la especificación de suceso y uno delos designadores de palabra siguientes (las palabras de una línea de entrada se numeransecuencialmente empezando desde el 0):

0 Primera palabra (el nombre del mandato).n navo argumento.| Primer argumento.$ Último argumento.% Palabra que coincide con una ?serie? inmediatamente anterior.x-y Rango de palabras de la palabra xava a la palabra yava.-y Rango de palabras desde la primera palabra (0) a la palabra yava.

Capítulo 11. Shells 239

Page 256: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

* Desde el primero hasta el último argumento o nada si sólo hay una palabra (el nombre del mandato) en elevento.

x* Desde el xavo argumento hasta el último argumento.x- Como x*, pero omitiendo el último argumento.

Puede omitir el carácter de los dos puntos (:) que separa la especificación de suceso del designador depalabra si éste último empieza por un carácter |, $, *, - o %. También puede situar una secuencia de lossiguientes modificadores después del designador de palabras opcional, cada una de ellas precedidas dedos puntos:

h Elimina una extensión de nombre de vía de acceso final, dejando la cabecera.r Elimina un componente .xxx final, dejando el nombre de la raíz.e Elimina todo menos la extensión .xxx final.s/PalabraAntigua/NuevaPalabra/ Sustituye el valor de la variable NuevaPalabra por el valor de la variable

PalabraAntigua.

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 comodelimitador. En el ejemplo siguiente, la utilización del carácter % como delimitador permite que puedaincluirse 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 ejemplosiguiente, /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 serieutilizada en la exploración de contexto !?Serie?. Puede omitir el delimitador final (/) si el carácter que lesigue inmediatamente es un carácter de nueva línea. Puede omitir los siguientes modificadores paradelimitar 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 cambiosó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 shellutilizará el mandato anterior como suceso. Si se produce una referencia histórica anterior en la mismalínea, el shell repite la referencia anterior. Así pues, la siguiente secuencia proporciona el primer y últimoargumento 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 esun blanco de una línea de entrada es un signo |. Esto equivale a !:s|, con lo que se proporciona unaforma abreviada adecuada para las sustituciones del texto de la línea anterior. El mandato | lb| libcorrige la ortografía de lib del mandato anterior.

240 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 257: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Si el necesario, puede especificar una sustitución del histórico entre { } para aislarla de los caracteres quele siguen. Por ejemplo, si desea utilizar una referencia al mandato:ls -ld xpaul

para efectuar el mandato:ls -ld xpaula

utilice la siguiente construcción:!{l}a

En este ejemplo, !{l}a busca un mandato que empieza por l y añade una a al final.

Delimitación con apóstrofos y comillasDelimite las series entre apóstrofos y comillas para impedir todas o algunas de las sustituciones que seaplican. La especificación de las series entre ’ ’ evita que se realicen interpretaciones adicionales,mientras que la especificación de las series entre ″ ″ permite que puedan realizarse expansionesadicionales. En ambos casos, el texto resultante pasa a ser (todo o parte) una palabra simple.

Sustitución de alias en el shell C

Un alias es un nombre que se asigna a un mandato o a una serie de mandatos. El shell C le permiteasignar alias y utilizarlos como utilizaría los mandatos. El shell mantiene una lista de los alias que define.

Después de que el shell examine la línea de mandatos, la divide en palabras distintas y comprueba laprimera palabra de cada mandato, de izquierda a derecha, para ver si tiene un alias. Si lo hace, el shellutiliza el mecanismo histórico para sustituir el texto del alias con el texto del mandato referenciado por elalias. Las palabras resultantes sustituyen la lista de mandatos y argumentos. Si no se hace ningunareferencia 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 delhistó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 losalias. 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 depalabras con la variable ListaPalabras, el mandato la asigna como el alias de la variable Nombre. Si emiteel mandato alias sin ninguna de las variables opcionales, éste visualizará todos los alias del shell C.

Si el alias del mandato ls es ls -l, el mandato:ls /usr

se sustituirá por el mandato:ls -l /usr

La lista de argumentos no se altera puesto que no hay ninguna referencia a la lista del histórico en elmandato con un alias. De forma similar, si el alias del mandato lookup es:grep \!| /etc/passwd

el shell sustituirá lookup bill por:grep bill /etc/passwd

Capítulo 11. Shells 241

Page 258: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

En este ejemplo, !| hace referencia a la lista del histórico y el shell la sustituye por el primer argumentode la línea de entrada, en este caso bill.

Puede utilizar caracteres coincidentes con patrón especiales en un alias. El mandato:alias lprint 'pr &bslash2.!* >

> print'

crea un mandato que formatea sus argumentos a la impresora de líneas. El carácter ! queda protegidodel shell en el alias por medio de la utilización de comillas simples para que no se expanda hasta que seejecute el mandato pr .

Si el shell localiza un alias, efectúa la transformación de palabras del texto de entrada y comienza denuevo el proceso de alias en la línea de entrada reformada. Si la primera palabra o el texto siguiente esigual que el antiguo, se impide la formación de bucles marcándolo para terminar el proceso de alias. Losotros bucles posteriores se detectan y generan un error.

v “Información relacionada del shell C” en la página 251

Sustitución de variables y nombres de archivo en el shell CEl shell C le permite efectuar sustituciones de variables y de nombres de archivo.

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

Sustitución de variables en el shell C

El shell C mantiene un conjunto de variables, cada una de las cuales tiene como valor una lista de cero omás palabras. Algunas de estas variables están definidas por el shell o el shell hace referencia a ellas.Por ejemplo, la variable argv es una imagen de la lista de variables del shell, y a las palabras quecomponen el valor de esta variable se hace referencia de formas especiales.

Puede cambiar y visualizar los valores de las variables con los mandatos set y unset . De las variables alas 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. Porejemplo, la variable de shell verbose es un conmutador que da lugar a la ejecución de echo en la entradade mandatos. El valor de esta variable es el resultado de la emisión del distintivo -v desde la línea demandatos.

Otras operaciones tratan a las variables numéricamente. El mandato @ realiza cálculos numéricos, y elresultado de ellos se asigna a la variable. No obstante, los valores de las variables siempre estánrepresentados como (cero o más) series. Para las operaciones numéricas, la serie nula se considera quees 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. Acontinuación, antes de ejecutar el mandato, efectuará la sustitución de variables. El carácter $ se utilizapara la sustitución. No obstante, se pasa sin modificar si está seguido de un blanco, tabulador o carácterde nueva línea. La especificación del carácter $ después de una \ evita que tenga lugar esta expansión,excepto en dos casos:

242 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 259: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v El mandato se ha especificado entre ″ ″. En este caso, el shell siempre efectúa la sustitución.

v El mandato se ha especificado entre ’ ’. En este caso, el shell nunca efectúa la sustitución. Las seriesdelimitadas por ’ ’ se interpretan para sustitución de mandatos. (Consulte el apartado “Sustitución demandatos en el shell C” en la página 237.)

El shell reconoce la redirección de entrada y de salida antes de la expansión de variables y las expandepor separado. De lo contrario, el nombre de mandato y la lista completa de argumentos se expandenjuntos. Es, por tanto, posible que la primera palabra (mandato) genera más de una palabra, la primera delas 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 resultadode la sustitución de variables podría someterse finalmente a la sustitución de los nombres de archivos ymandatos. Cuando está delimitada entre comillas, una variable con un valor que consta de variaspalabras se expande a una sola palabra o a una parte de una palabra, con las palabras del valor de lavariable separadas por blancos. Cuando aplica el modificador :q a una sustitución, la variable se expandeen varias palabras. Cada palabra está separada por un blanco y delimitada entre comillas para impedirsustitució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 mandatoset .

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óloadmite 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 siguientesque, de otra forma, formarían parte de ésta. Los nombres de las variables empiezan por unaletra y se componen de hasta 20 letras y dígitos, incluido el carácter del subrayado (_). Si lavariable Nombre no especifica una variable de shell pero se ha establecido en el entorno, sedevuelve su valor. El modificador precedido por dos puntos, además de los demás formatosdescritos 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úmerosseparados 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 todaslas 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[*].

Puede que las sustituciones siguientes no puedan cambiarse con modificadores :.

$?nombre${?nombre} Sustituye a la serie 1 si se ha establecido la variable nombre; a cero (0) si no se ha establecido esta

variable.

Capítulo 11. Shells 243

Page 260: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

$?0 Sustituye a 1 si se conoce el nombre de archivo de entrada actual; a cero (0) si no se conoce elnombre de archivo.

$$ Sustituye el número de proceso (decimal) del shell padre.$< Sustituye una línea de la entrada estándar, sin interpretación posterior. Utilice esta sustitución para

leer desde el teclado en un procedimiento del shell.

Sustitución de nombres de archivos en el shell C

El shell C proporciona un compendio de varias funciones para ahorrar tiempo y pulsaciones. Si unapalabra contiene cualquiera de los caracteres *, ?, [ ] o { } o bien empieza por una tilde (x), esa palabra escandidata de la sustitución del nombre del archivo. El shell C interpreta la palabra como un patrón ysustituye dicha palabra por una lista ordenada alfabéticamente de nombres de archivo que coinciden conel patrón.

Se utiliza el orden de clasificación actual, tal como especifican las variables de entorno LC_COLLATE oLANG . En una lista de palabras que especifica sustitución de nombres de archivo, se produce un error siningún patrón coincide con un nombre de archivo existente. No obstante, no se requiere que coincidantodos los patrones. Sólo los símbolos de coincidencia de caracteres *, ? y [ ] indican patrones decoincidencia o expansión del nombre del archivo. La tilde (x) y los caracteres { } indican abreviatura denombre de archivo.

Expansión de nombres de archivoEl carácter * puede coincidir con cualquier serie de caracteres, incluida la serie nula. Por ejemplo, en undirectorio que contiene los archivos:a aa aax alice b bb c cc

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 coincidirexplícitamente.

El carácter ? puede coincidir con cualquier carácter individual. El mandato:ls a?x

lista todos los nombres de archivo que comienzan por la letra a, seguidos de un solo carácter y quefinalizan con la letra x:aax

Para buscar la coincidencia de un único carácter o de un rango de caracteres, especifique el carácter ocaracteres entre [ ]. El mandato:ls [abc]

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 quecoinciden con este patrón se definen mediante el orden de clasificación actual.

244 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 261: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Abreviatura de los nombres de archivosLa tilde (x) y los caracteres { } indican abreviatura de nombre de archivo. Se utiliza una x al principio deun nombre de archivo para representar directorios iniciales. Cuando aparece solo, el carácter x realiza laexpansión en el directorio inicial, tal como se refleja en el valor de la variable de shell home . Por ejemplo,el mandato:ls x

lista todos los archivos y directorios que se encuentran en el directorio $HOME.

Cuando va seguido de un nombre compuesto de letras, dígitos y de caracteres -, el shell busca unusuario que tenga ese nombre y sustituye el directorio $HOME de ese usuario.

Nota: Si el carácter x va seguido de un carácter distinto de una letra o una /, o bien aparece encualquier 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 aceade. El shell mantiene el orden de izquierda a derecha y almacena por separado el resultado lascoincidencias a bajo nivel para preservar este orden. Puede que esta construcción esté anidada. De estemodo:xsource/s1/{oldls,ls}.c

se expande a:/usr/source/s1/oldls.c /usr/source/s1/ls.c

si el directorio inicial de source es /usr/source. De forma similar:../{memo,*box}

puede expandirse a:../memo ../box ../mbox

Nota: memo se almacena con el resultado de la coincidencia de *box. Como caso especial, loscaracteres {, } y { } se pasan sin modificarse.

Clases de caracteresTambién puede utilizar clases de caracteres que coincidan con nombres de archivos dentro de unaindicación de rangos:[:clasecaracteres:]

Este formato indica al sistema que debe buscar caracteres simples que pertenezcan a la claseespecificada. Las clases definidas corresponden a subrutinas ctype .

Clase de carácter Definiciónalnum Caracteres alfanuméricosalpha Letras mayúsculas y minúsculascntrl Caracteres de controldigit Dígitosgraph Caracteres gráficoslower Letras minúsculasprint Caracteres imprimiblespunct Carácter de puntuaciónspace Espacio, tabulador horizontal, retorno de carro, nueva línea, tabulador vertical o carácter de salto

de páginaupper Caracteres mayúsculas

Capítulo 11. Shells 245

Page 262: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Clase de carácter Definiciónxdigit Dígitos hexadecimales

Imagine que está en un directorio que contiene los siguientes archivos:a aa aax Alice b bb c cc

Escriba el mandato siguiente en un indicador de mandatos del shell C:ls [:lower:]

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

Variables de entorno en el shell C

Ciertas variables tienen un significado especial para el shell C. De estas, argv , cwd , home , path ,prompt , shell y status siempre las establece el shell. Excepto para las variables cwd y status , estaacción sólo tiene lugar durante la inicialización. Estas variables conservan sus valores, a menos quevuelvan a establecerse explícitamente.

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 serestablezcan 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 aexportarla si ha cambiado.

Las variables siguientes tienen significados especiales:

argv Contiene los argumentos que se pasan a scripts de shell. Los parámetros de posición de estavariable 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 demandatos que no son incorporados, todas las expansiones se producen antes de la repetición. Seejecuta echo para los mandatos incorporados antes de la sustitución del nombre del archivo y delmandato, 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 elcarácter por omisión, !. El segundo carácter de su valor sustituye al carácter | en las sustitucionesrápidas.

Nota: El establecimiento del valor histchars en un carácter utilizado en los nombres de losarchivos 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 desechaningún mandato que está referenciado en este evento. Los valores muy largos de la variablehistory 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 últimomandato que se ejecutó en la lista del histórico.

246 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 263: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

home Indica el directorio inicial, inicializado desde el entorno. La expansión del nombre de archivo delcarácter de la tilde (x) hace referencia a esta variable.

ignoreeof Especifica que el shell ignora un carácter de fin de archivo de dispositivos de entrada que sonestaciones de trabajo. Esto impide que los shell puedan matarse accidentalmente cuando lee uncarácter de fin de archivo (Control-D).

mail Especifica los archivos en los que busca correo el shell. Esto se efectúa después de cadafinalización de mandato que da como resultado un indicador si ha transcurrido un intervalo detiempo especificado. El shell visualiza el mensaje Mail in file. si el archivo tiene una hora deacceso anterior a su hora de cambio.Si la primera palabra del valor de la variable mail es un valor numérico, especifica un intervalodistinto de tiempo (en segundos) de comprobación del correo; el valor por omisión es 600 (10minutos). Si especifica varios archivos de correo, el shell visualizará el mensaje New mail in filecuando exista correo en el archivo especificado.

noclobber Sitúa restricciones en redirección de salida para garantizar que no se destruyen accidentalmentearchivos y que las redirecciones se añaden a archivos existentes.

noglob Inhibe la expansión de nombres de archivo. Esto resulta más útil en los scripts de shell que nogestionan nombres de archivos o bien cuando se ha obtenido una lista de nombres de archivos yno se desean expansiones adicionales.

nonomatch Especifica que no se producen errores si una expansión de nombres de archivo no coincide conningún archivo existente, sino que se devuelve el patrón de primitivos. Sí es un error cuando elpatrón primitivo no se ha formado correctamente.

notify Especifica que el shell envía notificación asíncrona de cambios en los estados de trabajos. El valorpor omisión presenta los cambios en los estados justo antes de visualizar el indicador del shell.

path Especifica los directorios en que se buscan los mandatos para ejecución. Una palabra nulaespecifica el directorio actual. Si no se ha establecido ninguna variable path , sólo podránejecutarse nombres completos de vías de acceso. La vía de búsqueda por omisión (del archivo/etc/environment que se utiliza durante el inicio de sesión) es:

/usr/bin /etc /usr/sbin /usr/ucb /usr/bin/X11 /sbinNormalmente, un shell al que no se le proporciona el distintivo -c o -t organiza el contenido de losdirectorios de la variable path tras leer .cshrc y cada vez que vuelve a establecerse la variablepath . Si se añaden nuevos mandatos a estos directorios mientras el shell está activo, deberáespecificar el mandato rehash o puede que no se encuentren los mandatos.

prompt Especifica la serie que se visualiza antes de que lea cada mandato de una entrada de estación detrabajo interactiva. Si aparece un ! en la serie, se sustituye por el número de suceso actual. Si elcarácter ! está en una serie delimitada por apóstrofos o comillas, el carácter ! debe ir precedido deuna \. La variable prompt por omisión para los usuarios que no disponen de autorización deusuario root es %. La variable prompt por omisión para el usuario root es #.

savehist Especifica un valor numérico para controlar el número de entradas de la lista del histórico queestán guardadas en el archivo x/.history cuando finaliza la sesión. Se guarda cualquier mandato alque se haga referencia en este número de eventos. Durante el arranque, el shell lee x/.history enla lista del histórico, permitiendo que el histórico pueda guardarse entre inicios de sesión. Losvalores muy largos de la variable savehist pueden ralentizar el arranque del shell.

shell Especifica el archivo en que reside el shell C. Se utiliza para forzar a los shells que interpretenarchivos que tienen definidos bits de ejecución, pero que el sistema no ejecuta. Se inicializa en eldirectorio inicial del shell C.

status Especifica el estado devuelto por el último mandato. Si el mandato termina anormalmente, seañade 0200 al estado. Los mandatos incorporados que no son satisfactorios devuelven un estadode salida 1. Los mandatos incorporados satisfactorios establecen su estado en el valor 0.

time Controla la temporización automática de mandatos. Si está definida esta variable, cualquiermandato que tarde más del número de segundos de CPU especificados mostrará una línea derecursos utilizados al final de la ejecución. Para obtener más información acerca de las salidas poromisión, consulte el mandato time .

verbose Esta variable, que se establece mediante el distintivo de línea de mandatos -v, da lugar a que laspalabras de cada mandato se visualicen tras la sustitución del histórico.

v “Información relacionada del shell C” en la página 251

Capítulo 11. Shells 247

Page 264: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Redirección de entrada y salida en el shell C

Antes de que el shell C ejecute un mandato, busca caracteres de redirección en la línea de mandatos.Estas notaciones especiales indican al shell que redirija la entrada y la salida.

Puede redirigir la entrada y la salida estándar de un mandato utilizando las siguientes sentencias desintaxis:

< Archivo Abre el Archivo especificado (del que primero se expande la variable, el mandato y elnombre 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. Lavariable Palabra no depende de la sustitución de la variable, del nombre de archivo o delmandato. Cada línea de entrada se compara con la variable Palabra antes de realizarse lassustituciones en la línea. A menos que aparezca un carácter delimitador (\, ″, ’ o ′.) en lavariable Palabra, el shell realiza la sustitución de la variable y del mandato en las líneasintermedias, 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íneafinal, que se elimina. El texto resultante se coloca en un archivo temporal anónimo, que sepasa 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 elArchivo existe, se trunca y se pierde su contenido anterior. Si se ha establecido la variablede shell noclobber , Archivo no debe existir o ser un archivo especial de caracteres; de locontrario, 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. Archivose 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 siguientese 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 errorestándar.

% (find / -name vi -print > /dev/tty) >& /dev/null

> >Archivo

> >!Archivo

> >& Archivo

> >&!Archivo Utiliza el Archivo especificado como salida estándar como >, pero añade la salida al finalde Archivo. Si se ha establecido la variable de shell noclobber , se generará un error siArchivo 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 lapresencia del mandato como un conducto. De este modo, a diferencia de algunos shells anteriores, losmandatos que se ejecutan desde un script de shell no tienen acceso al texto de los mandatos poromisión, sino que reciben la entrada estándar original del shell. Utilice el mecanismo << para presentardatos en línea. Esto permite a los archivos de mandatos del shell funcionar como componentes de

248 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 265: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

conductos y también permite que el bloque de shell lea su entrada. Tenga en cuenta que la entradaestándar por omisión de un mandato que se ejecuta sin asociaciones no cambia por el archivo /dev/nullvacío. En lugar de ello, la entrada estándar sigue siendo la entrada estándar original del shell.

Para redirigir el error estándar mediante un conducto con la salida estándar, utilice el formato |& en lugarde utilizar únicamente el carácter |.

Flujo de controlEl 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. Todosestos 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 laspalabras 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 laentrada siempre que se lea un bucle y busca en el almacenamiento intermedio interno para efectuar elrepaso implicado por el bucle. Hasta donde están permitido, los goto de retroceso se ejecutansatisfactoriamente en las entradas en las que no pueden realizarse búsquedas.

v “Información relacionada del shell C” en la página 251

Control de trabajos en el shell C

El shell asocia un número de trabajo con cada proceso. Mantiene una tabla de trabajos actuales y lesasigna números enteros pequeños. Cuando inicia un trabajo como proceso de fondo con un &, el shellimprime una línea que tiene un aspecto similar al siguiente:[1] 1234

La línea indica que el número de trabajo es el 1 y que el trabajo se compone de un único proceso cuyo IDde 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 detrabajo. Los trabajos en segundo plano también pueden producir salida para la estación de trabajo que seintercala con la salida de otros trabajos.

Existen varios modos de hacer referencia a trabajos del shell. Utilice el carácter % para especificar elnombre de un trabajo. Este nombre puede ser el número de trabajo o el nombre del mandato que inició eltrabajo, si este nombre es exclusivo. Por lo tanto si, por ejemplo, un proceso make está ejecutándosecomo 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 puedeutilizar:%?Serie

para especificar un trabajo cuyo nombre contiene la variable Serie, si sólo existe un trabajo que reúnatales características.

El shell detecta inmediatamente siempre que un proceso cambia de estado. Si un trabajo quedabloqueado de forma que no se puede continuar, el shell envía un mensaje a la estación de trabajo. Estemensaje se muestra sólo después de que pulse la tecla Intro. Sin embargo, si se ha establecido lavariable de shell notify , el shell emitirá inmediatamente un mensaje que indica los cambios producidos enel estado de los trabajos de fondo. Utilice el mandato incorporado notify para marcar un único proceso demodo que se informe con prontitud de los cambios que se producen en su estado. Por omisión, elmandato notify marcará el proceso actual.

v “Información relacionada del shell C” en la página 251

Capítulo 11. Shells 249

Page 266: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Lista de mandatos incorporados del shell C

alias Visualiza los alias especificados o todos los alias.bg Establece los trabajos actuales o los trabajos especificados como trabajos de fondo.break Reanuda la ejecución tras el final del último mandato de delimitación foreach o while .breaksw Realiza una interrupción desde un mandato switch .case Define una etiqueta en un mandato switch .cd Cambia el directorio actual al directorio especificado.chdir Cambia el directorio actual al directorio especificado.continue Continúa la ejecución del mandato de delimitación foreach o while más próximo.default Etiqueta la especificación de mayúsculas o minúsculas por omisión en una sentencia switch .dirs Visualiza la pila de directorios.echo Graba series de caracteres en 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 Indica el final de una secuencia de mandatos precedida por el mandato foreach . Véase también el

mandato while .endif Ejecuta los mandatos que siguen a la segunda sentencia then en una secuencia de mandatos if

(Expresión) then ... else if ( Expresión2) then ... else ... endif .endsw Marca el final de una secuencia de mandatos switch ( Serie) case Serie : ... breaksw default: ...

breaksw endsw . Esta secuencia de mandatos hace coincidir sucesivamente cada etiqueta deespecificación de mayúsculas o minúsculas con el valor de la variable Serie. La ejecución continúadespués del mandato endsw si se ejecuta un mandato breaksw o si no se ha encontrado ningunaetiqueta coincidente y no existe ningún valor por omisión.

eval Lee los valores de las variables como entrada para el shell y ejecuta el mandato o mandatosresultantes en el contexto del shell actual.

exec Ejecuta el mandato especificado en lugar del shell actual.exit Sale del shell con el valor de la variable de shell de estado o con el valor de la expresión

especificada.fg Establece los trabajos actuales o los especificados como trabajos en primer plano, continuando con

su ejecución si se han detenido.foreach Define sucesivamente una variable Nombre para cada miembro especificado por la variable Lista y

una secuencia de mandatos hasta llegar a un mandato end .glob Visualiza la lista utilizando la expansión de histórico, de variable y de nombre de archivo.goto Continúa con la ejecución después de una línea especificada.hashstat Visualiza estadísticas que indican el grado de eficacia de la tabla hash en la localización de

mandatos.history Muestra la lista de eventos históricos.if Ejecuta un mandato especificado si una expresión indicada es verdadera.jobs Lista los trabajos activos.kill Envía la señal TERM (terminar) o la señal que especifica la variable Señal al trabajo o proceso

especificado.limit Limita la utilización de un recurso especificado por parte del proceso actual y de cada proceso que

éste crea.login Finaliza un shell de inicio de sesión y lo sustituye por una instancia del mandato /usr/sbin/login .logout Finaliza el shell de inicio de sesión.nice Establece la prioridad de los mandatos que se ejecutan en el shell.nohup Da lugar que los estados de entrada en suspensión se pasen por alto en la parte restante de un

procedimiento.notify Da lugar a que el shell le notifique de forma asíncrona cuando cambie el estado del trabajo actual o

de un trabajo especificado.onintr Controla la acción del shell en interrupciones.popd Muestra la pila de directorios y vuelve al nuevo directorio superior.pushd Intercambia elementos de la pila de directorios.rehash Da lugar a que vuelva a calcularse la tabla hash en la que se incluye el contenido de los directorios

de la variable de shell de vía de acceso.

250 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 267: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

repeat Ejecuta el mandato especificado, aplicando las mismas restricciones que las del mandato if , elnúmero de veces que se especifica.

set Muestra el valor de todas las variables de shell.setenv Modifica el valor de la variable de entorno especificada.shift Desplaza la variable especificada hacia la izquierda.source Lee el mandato que especifica la variable Nombre.stop Detiene los trabajos actuales o los especificados que están ejecutándose como trabajos de fondo.suspend Detiene el shell como si se hubiera recibido una señal STOP.switch Inicia una secuencia de mandatos switch ( Serie) case Serie : ... breaksw default: ... breaksw

endsw . Esta secuencia de mandatos hace coincidir sucesivamente cada etiqueta de especificaciónde mayúsculas o minúsculas con el valor de la variable Serie. Si ninguna de las etiquetas coincideantes de que se encuentre una etiqueta por omisión, la ejecución se iniciará tras la etiqueta poromisión.

time Visualiza un resumen del tiempo que ha empleado el shell y sus procesos hijo.umask Determina los permisos de archivo.unalias Descarta todos los alias cuyos nombres coinciden con la variable Patrón.unhash Inhabilita la utilización de la tabla hash interna para la localización de programas en ejecución.unlimit Elimina las limitaciones de los recursos.unset Elimina todas las variables cuyos nombres coinciden con la variable Patrón.unsetenv Elimina todas las variables de entorno cuyos nombres coinciden con la variable Patrón especificada.wait Espera a todos los trabajos en segundo plano.while Evalúa los mandatos que aparecen entre la secuencia de mandatos while y mandatos end

coincidentes mientras la expresión que especifica la variable Expresión evalúe un valor distinto decero.

@ Visualiza el valor de las variables de shell especificadas.

Consulte el apartado “Mandatos incorporados del shell C” en la página 229 para obtener más información.

Información relacionada del shell C“Capítulo 11. Shells” en la página 159

“Mandatos del shell C” en la página 229

“Sustitución del histórico en el shell C” en la página 238

“Sustitución de alias en el shell C” en la página 241

“Sustitución de variables y nombres de archivo en el shell C” en la página 242

“Variables de entorno en el shell C” en la página 246

“Redirección de entrada y salida en el shell C” en la página 248

“Control de trabajos en el shell C” en la página 249

Los mandatos csh y ed.

Los mandatos incorporados del shell C alias , unalias , jobs , notify y set .

Capítulo 11. Shells 251

Page 268: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

252 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 269: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 12. Herramientas y programas de utilidad varios

A continuación se describen algunas tareas comunes que puede realizar utilizando mandatos del sistemaoperativo. Se exponen el mandato y un ejemplo de cómo utilizar el mandato para cada una de las tareassiguientes:

v “Localización de un mandato mediante una palabra clave (mandato apropos)”

v “Visualización de una agenda (mandato cal)”

v “Visualización de mensajes de recordatorio (mandato calendar)” en la página 254

v “Visualización de información de ayuda para nuevos usuarios (mandato help)” en la página 255

v “Inicio de los cursos de formación asistida por ordenador (mandato learn)” en la página 255

v “Recordatorio de salida (mandato leave)” en la página 256

v “Obtención de los factores de un número (mandato factor)” en la página 256

v “Conversión de unidades de medida (mandato units)” en la página 257

v “Envío de mensajes a otro usuario que ha iniciado la sesión (mandato write)” en la página 259

v “Resumen de mandatos para herramientas y programas de utilidad varios” en la página 261

Localización de un mandato mediante una palabra clave (mandatoapropos)

Puede visualizar las secciones de manual que contienen cualquiera de las Palabras clave indicadas ensus títulos con el mandato apropos . El mandato apropos considera cada palabra por separado y no tieneen cuenta si las letras están en mayúsculas o en minúsculas. Las palabras que forman parte de otraspalabras también se muestran. Por ejemplo, cuando busca la palabra compile, el mandato apropostambién busca todas las instancias de la palabra compiler.

El mandato apropos equivale a utilizar el mandato man con la opción -k.

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 lasintaxis exacta.

Visualización de una agenda (mandato cal)

El mandato cal graba en la salida estándar una agenda para el año o mes especificado.

El parámetro Mes indica el nombre del mes para el que desea la agenda. Puede ser un número de 1 a 12entre Enero y Diciembre, respectivamente. Si no se especifica ningún Mes, el mandato cal toma poromisió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 visualizaruna agenda para cualquier año comprendido entre el 1 y el 9999, escriba el año completo en lugar desólo los dos últimos dígitos. Si no se especifica ningún Año, el mandato cal toma por omisión el año encurso.

Por ejemplo, para que se visualice una agenda para febrero de 1984 en la estación de trabajo, escriba:

© Copyright IBM Corp. 1997, 2001 253

Page 270: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

cal 2 1984

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 lasintaxis exacta.

Visualización de mensajes de recordatorio (mandato calendar)

Puede leer un archivo denominado calendar (agenda), que se crea en el directorio inicial con el mandatocalendar . El mandato graba en la salida estándar cualquier línea del archivo que contenga la fecha dehoy o de mañana.

El mandato calendar reconoce formatos de fecha como Dic. 7 ó 12/7. También reconoce el carácterespecial * (asterisco) cuando va seguido de una / (barra inclinada). Por ejemplo, interpreta que */7significa 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 encuenta y proporcionará únicamente la planificación del siguiente día.

Un archivo calendar normal puede tener el aspecto siguiente:*/25 - Preparar informe mensualAgo. 12 - Vuelo a Zaragozaago 23 - reunión del consejoMarta está fuera - 8/23, 8/24, 8/258/24 - Pago de coche de alquilersab ago/25 - viaje a la playaAgosto 27 - Reunión con SimmonsAgosto 28 - Reunión con Wilson

Si hoy es viernes, 24 de agosto, el mandato calendar visualizará lo siguiente:*/25 - Preparar informe mensualMarta está fuera - 8/23, 8/24, 8/258/24 - Pago de coche de alquilersab ago/25 - viaje a la playaAgosto 27 - Reunión con Simmons

Consulte el mandato calendar en la publicación AIX 5L Version 5.1 Commands Reference para conocerla sintaxis exacta.

254 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 271: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Visualización de información de ayuda para nuevos usuarios (mandatohelp)

Puede hacer que se visualice una pantalla con una página de información utilizando el mandato help .

En el indicador de mandatos, escriba:help

Pulse Intro.

El sistema visualizará información parecida a la siguiente:En un manual impreso encontrará la ayuda que necesita.Lea el manual "Utilización y gestión de AIX".

Los mandatos:man -k palabra clave lista mandatos relevantes para una palabra claveman mandato imprime las páginas de un manual referentes

a un mandatoserán de ayuda; otros mandatos básicos son:

cat - concatena archivos (y los imprime)ex - editor de textols - lista el contenido de directoriosmail - envía y recibe correopasswd - cambia la contraseña de inicio de sesiónsccshelp - visualiza información en el sistema de

control de codificación fuentesmit - herramienta de interfaz de gestión del sistematset - define modalidades de terminalwho - quién es en el sistemawrite - escribe mensajes a otro usuario

Puede encontrar programas acerca del correo mediante el mandato:man -k maile imprimir la documentación del mandato man con: man mailPuede abandonar la sesión escribiendo "exit".

Consulte el mandato help en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Inicio de los cursos de formación asistida por ordenador (mandatolearn)

Puede practicar con la utilización de archivos, editores, macros y otras funciones con el mandato learn ,que proporciona cursos de formación asistida por ordenador. La primera vez que utilice el mandato learn ,se le mostrarán una serie de preguntas con las que podrá determinarse el tipo de formación que desearecibir. Tras la primera utilización del mandato, se le situará en el punto en el finalizó la sesión delmandato learn anterior.

El mandato learn busca la primera lección que contiene el tema que ha especificado. Puede especificarcualquiera de los siguientes temas:

v Archivos

v Editor

v Más archivos

v Macros

v EQN

v C.

Capítulo 12. Herramientas y programas de utilidad varios 255

Page 272: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para tomar la lección en línea que trata acerca de los archivos, escriba:learn files

Pulse Intro.

A continuación, se le solicitará que especifique información adicional.

Consulte el mandato learn en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Recordatorio de salida (mandato leave)

Puede hacer que el sistema le recuerde que debe salir a una hora especificada con el mandato leave . Sele avisará 5 minutos y 1 minuto antes de la hora especificada, luego de nuevo a la hora especificada ycada minuto después de la misma. Cuando finalice la sesión, el mandato leave saldrá justo antes dehaber visualizado el siguiente mensaje.

Si no especifica una hora, el mandato leave le pregunta ¿Cuándo tiene que salir? Una respuestanewline da lugar a la salida del mandato leave ; de lo contrario, se da por supuesto que la respuesta esuna 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 queestán relacionadas con las siguientes 12 horas. Puede utilizar el distintivo + para establecer el número dehoras y minutos que han de transcurrir desde el momento actual hasta la hora en que desee que seactive la alarma.

Nota: El mandato leave pasa por alto las operaciones de interrupción, salida y terminación. Paraeliminar la especificación del mandato leave , debe finalizar la sesión o bien utilizar el mandatokill -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 lasintaxis exacta.

Obtención de los factores de un número (mandato factor)

Puede obtener los factores de números con el mandato factor . Cuando se llama sin haberse especificadoun valor para el parámetro Número, el mandato factor espera hasta que se escribe un número positivomenor que 1E14 (100.000.000.000.000). A continuación graba los factores primos de dicho número ensalida estándar. Muestra cada factor el número apropiado de veces. Para salir, escriba 0 (cero) ocualquier carácter no numérico.

Cuando se llama con un argumento, el mandato factor determina los factores primos del parámetroNúmero, graba el resultado en la salida estándar y sale.

256 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 273: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para calcular los factores primos del número 123, escriba:factor 123

Pulse Intro.

Se visualizará lo siguiente:123341

Consulte el mandato factor en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Conversión de unidades de medida (mandato units)

Puede convertir las cantidades expresadas en una medida en sus equivalentes en otra unidad de medidacon el mandato units . El mandato units es un mandato interactivo. Le solicitará la unidad desde la quedesea efectuar la conversión y la unidad a la que desea efectuar la conversión.

Nota: Este mandato sólo realiza cambios de escala multiplicativos. Es decir, puede convertir desdeun valor a otro cuando la conversión implica una multiplicación. Por ejemplo, no puede convertirgrados Fahrenheit en grados Celsius y viceversa porque, en la conversión, debe añadirse o restarseel valor 32.

El mandato units reconoce lb (abreviatura de ″libra″ en inglés) como unidad de masa, pero considera quepound (″libra″ en inglés, que se aplica al peso o a la moneda) hace referencia a la libra esterlinabritánica, no al peso. Los nombres compuestos se ejecutan juntos (como, por ejemplo, el término ingléslightyear , que significa año luz). Siguiendo con el inglés, las unidades británicas que difieren de susequivalentes 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 quesobregrabe 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:

pi Razón de la circunferencia al diámetroc Velocidad de la luze Carga de un electróng Aceleración de la gravedadforce Equivale a gmole Número de Avogadrowater Presión por unidad de altura de aguaau Unidad astronómica

Por ejemplo, para visualizar los factores para la conversión de pulgadas en centímetros, escriba:units

you have: inyou want: cm

Pulse Intro.

El mandato units devuelve los valores siguientes:

Capítulo 12. Herramientas y programas de utilidad varios 257

Page 274: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

* 2.540000e+00/ 3.937008e-01

La salida le indica que multiplique el número de pulgadas por 2,540000e+00 para obtener centímetros yque 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 x10-1, que equivale a 0,3937008.

Nota: El segundo número siempre es el valor recíproco del primero; por ejemplo, 2,54 equivale a1/0,3937008.

Por ejemplo, para convertir una medida en unidades distintas, escriba:unitsyou have: 5 yearsyou want: microsec

Pulse Intro.

El mandato units devuelve los valores siguientes:* 1.577846e+14/ 6.337753e-15

La salida muestra que 5 years (cinco años) equivale a 1,577846 x 1014 microsegundos y que unmicrosegundo equivale a 6,337753 x 10-15 años.

Por ejemplo, para proporcionar fracciones en las medidas, escriba:unitsyou have: 1|3 miyou want: km

Pulse Intro.

El mandato units devuelve los valores siguientes:* 5.364480e-01/ 1.864114e+00

La barra vertical (|) indica división, por lo tanto, 1|3 significa un tercio. Esto indica que un tercio de millaequivale a 0,536448 kilómetros.

Por ejemplo, para incluir exponentes en las medidas, escriba:unitsyou have: 1.2-5 galyou want: floz

Pulse Intro.

El mandato units devuelve los valores siguientes:* 1.536000e-03/ 6.510417e+02

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-5gal 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:

258 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 275: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

you have: ftyou want: lb

El mandato units devuelve el mensaje y los valores siguientes:conformability3.048000e-01 m4.535924e-01 kg

El mensaje conformability significa que las unidades que ha especificado no pueden convertirse. Lalongitud 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 a0,4535924 kilogramos.

Consulte el mandato units en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Envío de mensajes a otro usuario que ha iniciado la sesión (mandatowrite)

Puede enviar mensajes a otros usuarios a través del sistema en tiempo real con el mandato write .Proporciona comunicación del tipo conversación con otro usuario que tenga la sesión iniciada. Cadausuarios envía y recibe alternativamente mensajes cortos de otra estación de trabajo. Pueden enviarsemensajes largos situando el mensaje completo en un archivo y redirigiendo dicho archivo como entradapara el mandato write .

Cuando se emite el mandato write , éste envía el mensaje siguiente de forma inmediata, junto con unsonido 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 detrabajo. El pitido alerta al emisor de que el mensaje puede comenzar y alerta al destinatario de que seestá 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 detrabajo 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:

Capítulo 12. Herramientas y programas de utilidad varios 259

Page 276: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

write june

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 elmensaje ha terminado. Indica a June que está esperando una respuesta. No pulse Control-D si deseacontinuar.

Ahora June responde escribiendo:write karen

Pulsa la tecla Intro y escribe:Tengo que hacer unas pruebas a las 12:30. ¿Nos vemos a las 3?o

Y usted puede responder:Vale--en la sala de máquinas a las 3.oo

Las letras oo significan ″cambio y fuera″, que indican a June que ya no tiene nada más que decirle. SiJune 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.

Esto escribirá el contenido del archivo message.text en la estación de trabajo de june.

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.

A continuación, pulse la secuencia de teclas Control-D.

Con ello se escribe el mensaje que va a enviarse a la persona que ha iniciado la sesión en la estación detrabajo /dev/console.

Puede utilizar el mandato write para conversar con los usuarios de otros sistemas principales. Puedeidentificar a un usuario de un sistema principal remoto utilizando el distintivo -nNombreSistemaPrincipal oel parámetro Usuario@SistemaPrincipal. Para escribir a un usuario que se encuentran en un sistemaremoto, el daemon writesrv debe estar en ejecución en el sistema principal actual y en el sistemaprincipal remoto.

260 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 277: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Por ejemplo, para enviar un mensaje al usuario spuds que se encuentra en el sistema principal remotopartya, escriba:write -n partya spuds

Pulse Intro.

Escriba:Acaba de llegar la cinta nueva,ven a verme para recogerla.Gracias

Pulse Intro.

A continuación, pulse la secuencia de teclas Control-D.

O bienwrite spuds@partya

Escriba:Acaba de llegar la cinta nueva,ven a verme para recogerla.Gracias

Pulse Intro.

A continuación, pulse la secuencia de teclas Control-D.

Consulte el mandato write en la publicación AIX 5L Version 5.1 Commands Reference para conocer lasintaxis exacta.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

Resumen de mandatos para herramientas y programas de utilidadvarios

apropos Localiza mandatos mediante consulta de palabras clave.cal Muestra una agenda.calendar Graba mensajes recordatorios en la salida estándar.factor Calcula el factor de un número.help Proporciona información de ayuda para nuevos usuarios.

Capítulo 12. Herramientas y programas de utilidad varios 261

Page 278: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

learn Proporciona cursos de formación asistida por ordenador y prácticas para utilizar archivos, editores,macros y otras funciones.

leave Proporciona mensajes recordatorios.units Convierte unidades de una medida a unidades equivalentes en otra medida.write Envía mensajes a otros usuarios del sistema.

Información relacionada“Visión general de los mandatos” en la página 22

“Visión general de los procesos” en la página 32

“Sistemas de archivos” en la página 54

“Visión general de los directorios” en la página 57

“Capítulo 6. Archivos” en la página 69

“Capítulo 9. Seguridad de los archivos y del sistema” en la página 127

“Capítulo 2. Entorno de usuario e información del sistema” en la página 13

262 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 279: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Capítulo 13. Servicio de biblioteca de documentación

IntroducciónEl Servicio de biblioteca de documentación le permite leer, buscar e imprimir documentos HTML en línea.Proporciona una aplicación de biblioteca que aparece en el navegador Web. La aplicación incluye enlacespara leer los documentos instalados y un formulario de búsqueda que puede utilizar para buscar texto.Cuando realiza una búsqueda, una página de resultados visualiza los resultados de la búsqueda conenlaces a los documentos que contienen las palabras de destino de la búsqueda.

Desde AIX 5.1, también puede bajar versiones imprimibles de los manuales utilizando el botón Imprimirherramienta 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 unservidor de búsqueda y una búsqueda específica que sólo busca un conjunto de volúmenes, por ejemplolos manuales de una aplicación.

El servicio de biblioteca de documentación le permite buscar los documentos que se han registrado en elservicio de búsqueda. El registro lo realiza el administrador del sistema. En el servidor de búsqueda, nopuede 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 documentosa la biblioteca de documentación con el fin de que pueda leer, buscar e imprimir los documentos.

Utilización del Servicio de biblioteca de documentaciónPara utilizar la Biblioteca:

v Para leer la documentación que se ha instalado en la biblioteca por omisión del sistema, realice una delas acciones siguientes:

– Escriba docsearch en la línea de mandatos.

– Abra el subpanel de ayuda del escritorio CDE. Pulse en el icono del servicio de búsqueda dedocumentación, que tiene el aspecto de unos binoculares.

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 ocorresponde a una versión más reciente, utilice un navegador Web para abrir el archivo del CDdenominado readme.htm , que se encuentra en el directorio superior del CD. Si dispone deuna versión comprendida entre AIX 4.3.0 y AIX 4.3.2 del CD de Documentación básica, abra elarchivo 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 delocalizació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 almacenadosen el servidor con el nombre que ha especificado en nombre_servidor.

Nota: Sólo será necesario escribir el número_boca si la boca no es el estándar 80.

Por ejemplo, si desea buscar los documentos registrados en un servidor de búsquedadenominado hinson y éste utiliza la boca 80, escriba:http://hinson/cgi-bin/ds_form

© Copyright IBM Corp. 1997, 2001 263

Page 280: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Una vez que el formulario de búsqueda correspondiente a un servidor aparece en el navegador,puede crear una señal en el texto que le lleve de nuevo al servidor. El administrador del sistemacrea una página web que contiene enlaces a todos los servidores de documentación distintos deuna organización.

La documentación también está disponible, para su búsqueda y lectura, en el sitio Internetwww.ibm.com/servers/aix/library. Tenga en cuenta que aunque este sitio contiene los manuales básicosdel sistema operativo, puede que no contenga otra documentación instalada en el servidor dedocumentación local.

v Por lo general, los formularios de búsqueda específica se inician desde los enlaces de búsquedaque se encuentran dentro de los documentos HTML. Suelen aparecer en las páginas de manuales deaplicaciones o en archivos de ayuda. Por ejemplo, existe un enlace de ″búsqueda″ en cada página dela biblioteca. Cuando se pulsa en uno de estos enlaces de búsqueda se inicia un formulario debúsqueda específica que le permite buscar sólo en los volúmenes de la biblioteca.

v Seleccione los volúmenes que desea buscar. Pulse en el recuadro de selección junto al nombre decada volumen mostrado. Por omisión, se busca en todos los volúmenes a no ser que especifique otrovalor.

Tras abrirse la aplicación de biblioteca, puede pulsar en el enlace de Ayuda del extremo superior derechopara obtener instrucciones acerca de la utilización de la biblioteca.

Cómo cambiar el idioma del Servicio de biblioteca de documentaciónPor omisión, cuando abre los iconos del Escritorio de CDE para utilizar el Servicio de búsqueda dedocumentación o la Biblioteca básica del sistema operativo, los documentos que se visualizan aparecenen el mismo idioma que el que utiliza el Escritorio de CDE.

Sin embargo, puede que necesite ver la documentación en un idioma distinto al del escritorio. Porejemplo, el escritorio se ejecuta en el idioma nativo, pero puede que los manuales sólo estén disponiblesen inglés. Puede cambiar el idioma de la documentación para que los documentos aparezcan en unidioma 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 unformulario 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 debúsqueda de documentación o Biblioteca básica.

2. Asegúrese de que se haya instalado documentación para el idioma que desea utilizar.

Puede cambiar el idioma de la documentación ejecutando el mandato siguiente:/usr/bin/chdoclang entorno local

Donde entorno local ha de sustituirse por el nombre del entorno local que constituye el nuevo idioma paravisualizar y buscar documentación. Los nombres de los entornos locales se enumeran en el apartadoLocale 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 delEscritorio para que el valor del idioma de la documentación del archivo $HOME/.profile se leadurante 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

264 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 281: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v Busque la línea que contiene el texto:DTSOURCEPROFILE=true

v Si existen caracteres de comentario (#) al principio de esa línea, suprima sólo los caracteres#, no la línea entera. Si no existen caracteres de comentario, cierre el editor.

v Guarde el archivo .dtprofile que ha cambiado.

v Finalice la sesión y vuelva a iniciarla.

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

Finalice la sesión del escritorio y vuelva a iniciarla.

Después de cambiar el idioma de la documentación, puede suprimir el valor de idioma de forma que ladocumentació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

Finalice la sesión del escritorio y vuelva a iniciarla.

Capítulo 13. Servicio de biblioteca de documentación 265

Page 282: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

266 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 283: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Apéndice A. Acceso a la información con InfoExplorer

Nota: InfoExplorer ha dejado de entregarse con el sistema operativo base. Ahora, la documentaciónpuede verse mediante la utilización del Servicio de biblioteca de documentación (DocumentationLibrary Service). Este apartado se incluye para los usuarios de versiones anteriores que siguenutilizando el programa InfoExplorer de un release anterior.

En este apartado se describen los distintos tipos de documentación que están disponibles en la Bibliotecade base de información de hipertexto y cómo se utiliza InfoExplorer para acceder a la información.

Utilización de la interfaz ASCII de InfoExplorer

La interfaz del programa InfoExplorer ASCII proporciona una guía de aprendizaje para usuarios noiniciados y contiene procedimientos para efectuar otras tareas tal como se describen en la siguiente visióngeneral.

El programa InfoExplorer es la herramienta que se utiliza para adquirir conocimientos acerca de estesistema operativo y de otro software. Como usuario de una interfaz ASCII, tiene acceso a muchosvolúmenes de documentación de software y hardware. Puesto que la información de InfoExplorer eshipertexto, dicha información puede leerse sin tener que cambiar de página. En lugar de ello, puede ver lainformación en la pantalla y seleccionar enlaces para moverse de un artículo a otro. De este modo, puedeelegir su propia vía a través de la documentación hipertexto.

Utilización de las pantallas de InfoExplorerEn la interfaz ASCII InfoExplorer, existen varias pantallas que contienen diferentes tipos de información.Por ejemplo, utilizará algunas pantallas específicamente para desplazarse. Estas pantallas, que incluyenel Índice de temas y tareas y los Libros, son pantallas de navegación. El programa InfoExplorer muestralas pantallas de navegación de una en una. El contenido de esta pantalla se renueva cada vez queselecciona una función que muestra su información en esta ubicación.

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 proporcionaninformació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 tareasespecí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 gruposimple de palabras.

Búsqueda compuesta Gestiona las búsquedas sobre series de búsqueda compuestas en una omá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 deartículos en que se han encontrado.

Glosario Visualiza un término o frase del glosario seleccionado desde una pantalla delectura.

Editor por omisión Le permite definir valores por omisión para distintas funciones deInfoExplorer.

Editor de preferencias Proporciona un método para personalizar las opciones del programaInfoExplorer.

Lista de enlaces Le permite seleccionar un enlace anterior y acceder a la información, suprimirun enlace anterior de la lista, borrar todas las listas o renombrar un enlaceanterior.

© Copyright IBM Corp. 1997, 2001 267

Page 284: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Lista de archivos Le permite cargar un archivo guardado anteriormente, guardar una lista en unarchivo o suprimir un archivo.

Cuando inicie una sesión, el programa InfoExplorer muestra en primer lugar la pantalla de navegación y acontinuación la pantalla de lectura. La pantalla de lectura contiene el artículo ″Bienvenido a la interfazASCII 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úsLa interfaz ASCII InfoExplorer muestra una barra de menús en la parte superior de cada pantalla. Puedeseleccionar 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 deInfoExplorer. Utilizando la ayuda, puede hallar más información acerca de la utilización de la pantallaactual 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 lapalabra 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, incluyendoenlaces a artículos que describen la pantalla, además de funciones disponibles desdedicha pantalla y una lista de menús disponibles con enlaces a descripciones de lasopciones de menú.

Puede seleccionar enlaces para visualizar información que desea leer. Para volver a lapantalla 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 describenaspectos clave del programa y de la documentación de InfoExplorer, junto con enlaces alas ayudas para cada pantalla individual.

IniciaciónNota: InfoExplorer ha dejado de entregarse con el sistema operativo base. Ahora, la documentaciónpuede verse mediante la utilización del Servicio de biblioteca de documentación (DocumentationLibrary Service). Este apartado se incluye para los usuarios de versiones anteriores que siguenutilizando el programa InfoExplorer de un release anterior.

El programa InfoExplorer es una herramienta potente de recuperación con distintas ayudas de navegaciónpor información que le ayudan a localizar y gestionar información. Aprender sólo algunas de estas ayudases todo lo que necesita para comenzar a utilizarlo. Utilice los procedimientos básicos que aprenderá eneste apartado para explorar la base de información de InfoExplorer, donde encontrará información de granutilidad.

Siga la guía de aprendizaje paso a paso utilizando las teclas de avance de página y retroceso de páginao enlaces a procedimientos individuales.

En este apartado puede aprender acerca de:

v “Inicio del programa ASCII InfoExplorer” en la página 269

v “Reconocimiento de los tipos de pantallas” en la página 269

v “Selección de un enlace de hipertexto” en la página 270

268 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 285: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

v “Desplazamiento por la información” en la página 271

v “Selección de una opción de menú” en la página 271

v “Cómo volver a una ubicación anterior” en la página 272

v “Búsqueda de información” en la página 272

v “Impresión de información” en la página 275

v “Acceso a la ayuda” en la página 276

v “Utilización de teclas especiales y de secuencias de teclas” en la página 276

v “Inicio de una biblioteca de InfoExplorer alternativa” en la página 278

v “Detención del programa ASCII InfoExplorer” en la página 278

Inicio del programa ASCII InfoExplorer

Para iniciar el programa InfoExplorer, escriba info en el indicador de mandatos del sistema operativo ypulse la tecla Intro.

Nota: Si desea iniciar el programa ASCII InfoExplorer desde una ventana, escriba info -a en unindicador de mandatos del sistema operativo y pulse la tecla Intro.

El artículo ″Bienvenido a la interfaz ASCII de InfoExplorer″ o bien la “Pantalla de navegación” visualiza lapantalla de lectura. La pantalla de bienvenida le explica cómo efectuar operaciones básicas de pantalla ycómo acceder a la ayuda, copyrights y marcas registradas de InfoExplorer.

Reconocimiento de los tipos de pantallas

En el programa InfoExplorer existen dos tipos principales de pantallas: la “Pantalla de navegación” y la“Pantalla de lectura” en la página 270.

Pantalla de navegaciónLa pantalla de navegación es el punto de partida para encontrar documentación acerca del sistemaoperativo y otros programas disponibles en la estación de trabajo y contiene información destinada aayudarle a encontrar la documentación deseada. La información está organizada por tema y tarea, porlibro o alfabéticamente por mandatos o elemento de consulta de programación. Las rutas primarias denavegació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.

Nota: La información de navegación de este apartado se aplica al programa InfoExplorer. Lainformación de navegación podría o no aplicarse a otras bibliotecas.

La primera línea de la pantalla contiene la barra de menús y la segunda línea muestra una barra de títuloen contraste invertido. El título de la pantalla se muestra en el extremo derecho de la barra de título. Estabarra 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 pantallade navegación a la vez. Cada vez que seleccione un enlace con otro artículo de navegación, el contenidodel 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 ytareas en la pantalla de navegación.

Apéndice A. Acceso a la información con InfoExplorer 269

Page 286: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Pantalla de lecturaLa pantalla de lectura contiene información de procedimientos, conceptual y de consulta. La informaciónde procedimientos explica cómo llevar a cabo una tarea, la información conceptual trata acerca dedistintos temas y la información de consulta proporciona información acerca de mandatos, subrutinas, etc.

Como en la pantalla de navegación, la primera línea de la pantalla muestra las opciones de menú y lasegunda 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ú deltexto del artículo.

Mientras visualiza el programa InfoExplorer mediante la interfaz ASCII, sólo está disponible una pantallade lectura a la vez. Cada vez que seleccione un enlace con otro artículo, el contenido del artículo queseleccione sustituirá el contenido del artículo original. Por ejemplo, si está visualizando el artículo ″Iniciodel programa InfoExplorer (interfaz ASCII)″ y decide visualizar el artículo del mandato info , el artículo delmandato info sustituye al artículo ″Inicio del programa InfoExplorer (interfaz ASCII)″ en la pantalla delectura.

Moverse entre pantallas

Para visualizar la pantalla de navegación desde la pantalla de lectura (o para retroceder a una pantalla delectura actual desde la pantalla de navegación), pulse la tecla Control y, manteniéndola pulsada, pulse latecla w (Control-w). La secuencia de teclas Control-w conmuta entre la pantalla de navegación y lapantalla de lectura. También puede moverse entre las pantallas utilizando opciones de menú disponiblesen la barra de menús.

Antes de continuar, conmute hacia atrás y hacia adelante unas cuantas veces entre las pantallas denavegación y de lectura. Observe las diferencias entre ellas.

Algunos tipos de pantallas adicionales son búsqueda, glosario, archivo y programa de utilidad. Paraobtener más información acerca de los diversos tipos de pantallas, consulte el artículo en línea deInfoExplorer “Para acceder a la ayuda en una pantalla específica” en la página 276.

Selección de un enlace de hipertexto

Imagine que necesita información acerca de cómo imprimir un archivo en una impresora de líneas. Puedecomenzar la búsqueda con una ruta de navegación primaria, por ejemplo la Lista de tareas. Desde laLista de tareas, puede seguir enlaces hipertexto hasta que llegue a la pantalla que contiene la informaciónque desea.

Un enlace hipertexto es una conexión entre una unidad de información y otra. Estos enlaces se visualizancomo texto subrayado. Cuando vaya a un enlace, el enlace cambiará a contraste invertido. Para visualizarla 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. Siel siguiente enlace no está visible actualmente en la pantalla, la pantalla se actualiza para mostrar elenlace. Para retroceder hasta el enlace anterior, pulse la secuencia de teclas Control-b.

Para seleccionar un enlace hipertexto, siga estos pasos:

1. Si el cursor de texto no está en el área de texto de la pantalla, pulse la secuencia de teclas Control-o.

2. Vaya al siguiente enlace hipertexto pulsando el tabulador o la secuencia de teclas Control-f.

3. Vaya al enlace anterior pulsando la secuencia de teclas Control-b.

4. Para seleccionar el enlace, pulse la tecla Intro. El texto destino aparece en la pantalla.

270 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 287: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Practique moviendo el cursor de un enlace a otro con las secuencias de teclas Control-f y Control-b.Antes de continuar con el siguiente apartado, seleccione uno de los enlaces de la pantalla Bienvenido.Recuerde que puede volver a la pantalla de navegación principal pulsando la secuencia de teclasControl-w.

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 mensajele indica que pulse una tecla para continuar. Por ejemplo, los artículos de mandatos contiene diagramasde sintaxis que sólo pueden visualizarse en una pantalla de gráficos. No obstante, puede visualizar laversión de corchetes y llaves de la sintaxis en un terminal ASCII.

Desplazamiento por la información

Puede avanzar o retroceder por el texto que se visualiza en la pantalla de navegación o en la pantalla delectura utilizando las teclas y secuencias de teclas que se han definido para ello. Para obtener másinformación, consulte el apartado ″“Utilización de teclas especiales y de secuencias de teclas” en lapágina 276″.

v Para ir a la pantalla anterior, utilice la tecla Re Pág o la secuencia de teclas Control-P.

v Para ir a la pantalla siguiente, utilice la tecla Av Pág o la secuencia de teclas Control-N.

v Para mover el cursor de texto una línea hacia arriba, pulse la tecla flecha arriba.

v Para mover el cursor de texto una línea hacia abajo, pulse la tecla flecha abajo.

Antes de continuar, pruebe a moverse hacia arriba y hacia abajo en el texto de la pantalla del terminal.

Selección de una opción de menú

Cada pantalla de InfoExplorer contiene una barra de menús que se encuentra en la parte superior de lapantalla. Las barras de menús contienen muchos de los menús que necesita para utilizar funciones deInfoExplorer. Por ejemplo, el menú Visualizar le permite seleccionar el documento de navegación quedesea visualizar en la pantalla y el menú Ayuda proporciona ayuda para utilizar el programa InfoExplorer.

Para seleccionar una opción de menú, efectúe las siguientes operaciones:

1. Active la barra de menús pulsando la secuencia de teclas Control-O.

2. Utilice las teclas de flecha izquierda y flecha derecha para resaltar el título del menú que deseavisualizar y pulse Intro o escriba el carácter subrayado en el título del menú. El menú se muestracomo un panel desplegable con varias opciones.

3. Utilice las flechas arriba y abajo para resaltar una opción de menú y pulse Intro o escriba el caráctersubrayado en la opción de menú. Se llama a la opción que seleccione o se visualiza otro menú en unpanel emergente. Las opciones de menú se visualizan en la barra de menús.

Tras visualizar un menú, puede que desee descartarlo sin seleccionar ninguna opción. Para hacerlo, pulsela 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 teclasde 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ónapropiada.

Apéndice A. Acceso a la información con InfoExplorer 271

Page 288: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Tras visualizar un panel emergente, puede que desee descartarlo sin seleccionar ninguna opción. Paraello, pulse la secuencia de teclas Control-O y seleccione Abandonar en la barra de menús.

Antes de continuar con el siguiente apartado, practique utilizando menús. Intente visualizar el menú Víade acceso y seleccionar la opción Mostrar lista . Aparece un panel emergente que muestra la lista de Víade 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.

Cómo volver a una ubicación anteriorDurante la sesión de InfoExplorer, el programa InfoExplorer mantiene dos tipos de registro de los lugaresen los que ha estado anteriormente; la Lista del histórico y la Lista de vía de acceso. Estas listas lepermiten volver a las ubicaciones anteriores en la base de información.

La lista del histórico registra cada ubicación de la base de información en la que ha estado. Para ver laLista del histórico, visualice el menú .Historico y seleccione la opción Listar todo . Para aprender a utilizarla Lista del histórico, vaya al menú Ayuda y seleccione Lista de ayudas en el menú desplegable. LaBúsqueda de información en InfoExplorer, en la Lista de ayudas, proporciona información acerca de lafunción Histórico.

La Lista de vías realiza el seguimiento de la ruta de navegación que ha utilizado, empezando desde unartí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 sesobregrabará.

El menú Vía de acceso contiene tres opciones: Mostrar lista , Anterior y Siguiente . Utilice la opciónMostrar lista para visualizar la Lista de vías. Utilice las opciones Anterior y Siguiente para saltar a lasiguiente 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 ubicacionesde la vía de acceso. Si se encuentra en una pantalla de navegación primaria, recibirá un mensajeindicando 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 lasopciones Siguiente y Anterior . Recuerde, si retrocede en la vía de acceso a un artículo de navegaciónprimaria (por ejemplo, el Índice de tareas), la lista de vías de acceso se vacía y no puede seguir una víahacia abajo hasta que inicia una nueva vía. Si desea volver a una ubicación que no está en la vía deacceso 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ónprimarias, pero si no sabe cuál es la tarea o mandato o en qué libro encontrar la información, puedebuscar virtualmente cada palabra en la base de información de InfoExplorer. Utilizando el recurso debúsqueda InfoExplorer, puede buscar información por palabra o por frase.

272 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 289: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Están disponibles dos tipos de búsqueda en el programa InfoExplorer: la búsqueda simple y la búsquedacompuesta. La búsqueda simple le permite buscar una palabra o serie de palabras (en orden exacto) enel texto, en los títulos de los artículos o en ambos. (En la versión ASCII de InfoExplorer, la selección Títulode artículo en el menú Buscar le proporciona una búsqueda simple de títulos de artículos). La búsquedacompuesta le permite buscar una palabra, un conjunto de palabras o varios conjuntos de palabras. Puedeespecificar de forma más avanzada la búsqueda con las siguientes opciones:

v Opciones de conexión AND, OR y BUT NOT

v Opciones de proximidad

v Categorías de búsqueda

Puede especificar las bases de información en las que desea buscar tanto para la búsqueda simple comopara 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úsquedacompuesta. Esta selección se aplica a la búsqueda simple y a la compuesta y permanece en vigordurante 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 Valorespor omisión en el menú de información y seleccionando la opción DBselect . Una selección de base deinformación efectuada desde la ventana Valores por omisión se aplica a la búsqueda simple y a labúsqueda compuesta y permanece en vigor para sesiones posteriores de Info. (Las selecciones debase de información temporal efectuadas desde la ventana Búsqueda compuesta pueden alterartemporalmente la selección por omisión durante una sesión de InfoExplorer, pero la selección poromisión se restablecerá cuando reinicie InfoExplorer).

A modo de ejemplo, los pasos siguientes le llevan a una búsqueda simple del mandato qprt y especificancon 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 elsistema se ha configurado para imprimir, puede imprimir una copia de este artículo mediante elmenú de información, seleccionado la opción Imprimir artículo . Utilice la copia impresa para seguirel 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 decoincidencias 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 delsistema y Consulta de mandatos en la lista de la base de información y pulse la tecla Intro. Apareceel panel emergente Buscar: Lista de títulos con la lista de títulos de artículos que contienen la serie debúsqueda (qprt).

Nota: Si sólo uno de los artículos contiene la serie de búsqueda, ese artículo se visualizará enuna 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 enla pantalla de lectura. Observe que la frase ″Mandato qprt″ está resaltada para mostrar en qué partedel 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.

Apéndice A. Acceso a la información con InfoExplorer 273

Page 290: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

7. Seleccione la opción de menú Siguiente coincidencia y pulse la tecla Intro. Se muestra la siguientecoincidencia de ″mandato qprt″. Esta función le permite moverse en la base de información a otroslugares del artículo o a otros artículos en los que se trata acerca de la frase ″mandato qprt″.

8. Para que se visualice la coincidencia anterior, seleccione la opción Coincidencia anterior del menúBuscar y pulse la tecla Intro. Se muestra la coincidencia anterior de ″mandato qprt″.

9. Para que vuelva a visualizarse la lista de títulos, seleccione la opción Mostrar lista de aciertos delmenú Buscar y pulse la tecla Intro. Vuelve a visualizarse la lista de títulos.

Si hay muchas coincidencias, puede ser difícil encontrar la información correcta. Puede que tenga queleer varios artículos para encontrar la información que desea. También puede utilizar una búsquedacompuesta para afinar la búsqueda. Para obtener información acerca de una búsqueda compuesta,utilice la Lista de ayudas de InfoExplorer, que le permite ver instrucciones paso a paso para losprocedimientos de InfoExplorer que se utilizan con más frecuencia. En la Lista de ayudas, seleccioneEfectuar una búsqueda compuesta .

Otro modo de precisar con más exactitud el alcance de la búsqueda es ir al menú de búsquedacompuesta 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 labú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 deinformació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 labú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 debases 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 incluidaactualmente 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 debases de datos.

c. Seleccione la opción Seleccionar . El signo > se visualizará a la izquierda de la base de datosseleccionada.

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 ira la barra de menús y seleccione la opción Abandonar . Vuelve a aparecer el panel emergenteBú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 seconserva hasta que la cambia o hasta que abandona la sesión de InfoExplorer. Esta selección de base dedatos se aplicará tanto a búsquedas simples como compuestas. Puede guardar una selección de base dedatos para sesiones posteriores de InfoExplorer desde la ventana Valores por omisión bajo el menú deinformación.

274 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 291: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Impresión de información

Puede imprimir la siguiente información desde la interfaz ASCII de InfoExplorer:

v “Para imprimir un artículo desde una pantalla de lectura”

v “Para imprimir un artículo desde una pantalla de navegación”

v “Para imprimir referencias desde una pantalla de navegación”

v “Para imprimir artículos desde una lista de coincidencias de búsqueda”

v “Para imprimir notas públicas y privadas”

Nota: Deberá tener una o más impresoras configuradas en el sistema.

Para imprimir un artículo desde una pantalla de lectura1. Pulse la secuencia de teclas Control-O para activar la barra de menús. La opción de menú info es el

valor por omisión y aparece resaltada.

2. Pulse la tecla Intro para que se visualicen las opciones del menú info .

3. Pulse la tecla P para seleccionar la opción Imprimir artículo . Se imprime el artículo visualizadoactualmente en la pantalla de lectura.

Para imprimir un artículo desde una pantalla de navegación1. Pulse la secuencia de teclas Control-O para activar la barra de menús. La opción de menú info es el

valor por omisión y aparece resaltada.

2. Pulse la tecla Intro para que se visualicen las opciones del menú info . La opción Imprimir artículo esel valor por omisión y aparece resaltada.

3. Pulse la tecla Intro. Se imprime el artículo de navegación actual.

Para imprimir referencias desde una pantalla de navegación1. Pulse la secuencia de teclas Control-O para activar la barra de menús. La opción de menú info es el

valor por omisión y aparece resaltada.

2. Pulse la tecla Intro para que se visualicen las opciones del menú info .

3. Pulse la tecla de Flecha hacia abajo hasta que la opción Imprimir referencias aparezca resaltada.

4. Pulse la tecla Intro para imprimir todos los artículos con referencias en la pantalla de navegación.

Para imprimir artículos desde una lista de coincidencias de búsqueda1. Pulse la secuencia de teclas Control-O para activar la barra de menús. La opción info es el valor por

omisión y aparece resaltada.

2. Pulse la tecla S para seleccionar la opción de menú Buscar .

3. Pulse la tecla de la Flecha hacia abajo hasta que la opción Mostrar lista de aciertos aparezcaresaltada y, a continuación, pulse la tecla Intro. Aparece el panel emergente Buscar: Lista de títulos.

4. Pulse la secuencia de teclas Control-O para activar la barra de menús en el panel emergente Buscar:Lista de títulos.

5. Pulse la tecla P para seleccionar la opción Imprimir . Se imprimen todos los artículos con referenciasen el panel emergente Buscar: Lista de títulos.

Para imprimir notas públicas y privadas1. Pulse la secuencia de teclas Control-O para activar la barra de menús. La opción info es el valor por

omisión y aparece resaltada.

2. Pulse la tecla N para seleccionar la opción Notas . La opción Listar todo es el valor por omisión yaparece resaltada.

3. Pulse la tecla Intro para visualizar el panel emergente Lista de notas.

4. Pulse la secuencia de teclas Control-O para activar la barra de menús en el panel emergente Lista denotas.

Apéndice A. Acceso a la información con InfoExplorer 275

Page 292: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

5. Pulse la tecla P para seleccionar la opción Imprimir . Se imprimen todas las notas del panelemergente Lista de notas.

Acceso a la ayuda

Desde una pantalla de InfoExplorer, puede ver información de ayuda acerca de las funciones y opcionesque están disponibles en la pantalla de InfoExplorer que está visualizando o bien puede buscar en unalista de temas para los que se proporciona información de ayuda.

Para acceder a la ayuda en una pantalla específicaEl programa InfoExplorer utiliza muchos tipos de pantallas distintos además de las pantallas denavegación y de lectura básicas, por ejemplo:

v Pantallas de glosario

v Lista de pantallas de enlace

v Pantallas de archivos

v Pantallas de búsqueda simple y compuesta

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ónque 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 deAyuda sustituirá al artículo de lectura actual.

Antes de continuar con el siguiente apartado, pruebe a leer los artículos de ayuda disponibles para laspantallas abiertas actualmente. Utilice la función Vía de acceso para volver a esta pantalla.

Para acceder a la Lista de ayudasEl menú Ayuda proporciona dos opciones de ayuda, la Lista de ayudas y En pantalla . La opción Enpantalla le permite obtener información acerca de la pantalla actual. Para obtener más información acercade esta opción, consulte el apartado ″“Para acceder a la ayuda en una pantalla específica”″. La opciónLista de ayudas del menú Ayuda visualiza una lista de los temas de ayuda de InfoExplorer. Para utilizarla lista de ayudas, 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 el menú Ayuda y pulse la tecla Intro. Se muestra el menúAyuda.

3. Seleccione la opción Lista de ayudas para visualizar la lista de ayudas.

4. Seleccione un tema de ayuda y pulse la tecla Intro.

La lista de ayudas contiene procedimientos paso a paso para una amplia gama de tareas. Antes de ir alsiguiente apartado, seleccione una opción o dos en la lista de ayudas. Observe las que están disponiblese intente utilizar las ayudas para aprender y practicar nuevas técnicas.

Utilización de teclas especiales y de secuencias de teclasEn la interfaz ASCII InfoExplorer, debe utilizar las teclas especiales y las secuencias de teclas paradesplazarse en una pantalla, seleccionar opciones de un menú, acceder a pantallas adicionales e iniciarprocesos. En función del lugar desde el que está trabajando, es decir, desde un área de texto o desdeuna barra de menús, aparecerán distintas teclas y secuencias de teclas activas. Para obtener másinformación acerca de las áreas de texto y de las barras de menús, consulte los apartados “Teclas y

276 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 293: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

secuencias de teclas que se utilizan en las áreas de texto” y “Teclas y secuencias de teclas que seutilizan en las barras de menús”, respectivamente.

Teclas y secuencias de teclas que se utilizan en las áreas de textoPuede utilizar las siguientes teclas y secuencias de teclas en áreas de texto:

Teclas AcciónControl-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 lapantalla de lectura. Si se visualiza la pantalla de lectura, puede pulsar la secuencia deteclas 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 sedesplaza un carácter.

Flecha derecha Mueve el cursor de texto un carácter a la derecha. Si el texto puede desplazarsehorizontalmente y el cursor de texto está en el extremo derecho de la pantalla, el texto sedesplaza un carácter.

Nota: Las teclas de la Flecha hacia la izquierda y hacia la derecha del programaInfoExplorer 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íneasuperior 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 desplazarsehorizontalmente, el texto se desplaza 20 caracteres a la izquierda.

> Mueve el cursor de texto 20 caracteres a la derecha. Si el texto puede desplazarsehorizontalmente, el texto se desplaza 20 caracteres a la derecha.

Teclas y secuencias de teclas que se utilizan en las barras de menúsLas siguientes teclas y secuencias de teclas le ayudan a trabajar con opciones de la barra de menús:

Teclas AcciónControl-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 paradesactivarla, 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 contrasteinvertido.

En barras de menú de pantalla emergente, mueve el cursor desde la barra de menús hastael área de texto si no hay ningún menú desplegable de barra de menús seleccionadoactualmente.

Flecha izquierda Va a la opción anterior de la barra de menús. Si no se muestra un menú desplegable ypulsa la tecla de flecha izquierda, se muestra la opción de barra de menús anterior encontraste invertido.

Si se muestra un menú desplegable y pulsa la tecla de flecha izquierda, se selecciona laopción de barra de menús anterior y se muestra su menú desplegable.

Apéndice A. Acceso a la información con InfoExplorer 277

Page 294: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Teclas AcciónFlecha derecha 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 contrasteinvertido.

Si se muestra un menú desplegable y pulsa la tecla de flecha derecha, se selecciona lasiguiente opción de barra de menús y se muestra se menú desplegable.

Flecha arriba Muestra el menú desplegable correspondiente a la opción de barra de menús o mueve laselección a la opción anterior en un menú desplegable.

Flecha abajo Muestra el menú desplegable correspondiente a la opción de barra de menús seleccionadao mueve la selección a la siguiente opción en un menú desplegable.

Intro o Retorno Activa la operación seleccionada. Por ejemplo, si se muestra una opción de barra de menúsen contraste invertido y pulsa la tecla Intro, se muestra el menú desplegable. Si ya semuestra un menú desplegable y pulsa la tecla Intro, se lleva a cabo la acción apropiada enla opción que se muestra en contraste invertido.

En algunos casos, la barra de menús de una pantalla emergente contiene opciones que inician o detienenun proceso. También es posible utilizar las teclas siguientes para moverse en una pantalla emergente opara circular entre opciones de la pantalla:

Teclas AcciónTabulador 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.

Inicio de una biblioteca de InfoExplorer alternativa

Puede solicitar al programa InfoExplorer que cargue una biblioteca de bases de datos alternativautilizando el distintivo -l con el mandato info . Por ejemplo, si desea iniciar la biblioteca de InfoExplorerque contiene la documentación C++, FORTRAN y la documentación Ada, inicie la biblioteca con elsiguiente mandato:info -l compiler

Detención del programa ASCII InfoExplorer

Para salir del programa InfoExplorer desde la pantalla de navegación o desde la pantalla de lectura,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 el menú Salir y pulse la tecla Intro. Aparecerá el menú Salir.

3. Seleccione la opción Confirmar pulsando Intro. Se muestra el indicador de mandatos del sistemaoperativo y se detiene el programa InfoExplorer.

Personalización del programa ASCII InfoExplorer

Puede personalizar muchas funciones del programa InfoExplorer para que se ajusten a su estilo y susnecesidades. Para hacerlo, defina los valores por omisión y las preferencias de InfoExplorer. Por ejemplo,puede determinar qué bases de información va a utilizar y qué impresora por omisión va a utilizar. Puedeespecificar sus preferencias para aspectos tales como el número de eventos históricos que desea seguir yel tipo de salida de impresión que desea.

278 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 295: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Las diferencias principales entre valores por omisión y preferencias son que el programa inicia la mayoríade los valores por omisión durante el arranque y que pueden especificarse diferentes valores por omisiónpara Bibliotecas distintas, pero las preferencias se aplican a todas las bibliotecas. Cuando cambia algunosvalores por omisión, por ejemplo el artículo de navegación, debe salir y reiniciar el programa. Los valorespor omisión como, por ejemplo, los mandatos de impresión, entran en vigor cuando se guardan. Cuandodefine preferencias, todos los cambios entran en vigor inmediatamente.

Los siguientes apartados describen cómo personalizar la interfaz ASCII de InfoExplorer:

v “Cambio de los valores por omisión en la interfaz ASCII de InfoExplorer”

v “Cambio de las preferencias en la interfaz ASCII de InfoExplorer” en la página 280

Cambio de los valores por omisión en la interfaz ASCII de InfoExplorer

Con el programa InfoExplorer, puede definir muchos valores por omisión. Son los valores que utiliza elprograma InfoExplorer en el arranque. Puede seleccionar Valores por omisión bajo Opciones en elmenú desplegable InfoExplorer para definir valores por omisión para:

v “Designación de un artículo de navegación por omisión”

v “Designación de archivos por omisión”

v “Designación de un archivo de plantilla de notas por omisión”

v “Cambio de la base de datos de búsqueda por omisión” en la página 280

v “Designación de impresoras por omisión” en la página 280

Designación de un artículo de navegación por omisión

Por omisión, el programa InfoExplorer muestra inicialmente el Índice de temas y tareas como artículo denavegación primario. Puede cambiar este valor por omisión al artículo de navegación que se adapte mejora sus objetivos. A continuación, en el arranque, el programa InfoExplorer muestra automáticamente elnuevo artículo de navegación por omisión.

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.

Designación de archivos por omisión

Puede que desee disponer de una guía para seguir una vía específica mientras utiliza el programaInfoExplorer o puede que desee volver a rastrear la vía de una sesión anterior. Para gestionar esteaspecto, puede designar un archivo histórico específico por omisión. De este modo, cuando utilice laopción Histórico , el archivo histórico por omisión o la guía le guiarán a la vía designada.

También puede designar un archivo de señales o un archivo de notas como archivo de señales o denotas 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.

Designación de un archivo de plantilla de notas por omisión

Cuando cree una nota en la documentación hipertexto, la pantalla del editor estará inicialmente en blanco.Puede escribir la nota en la ventana en blanco. Para utilizar un formato concreto para escribir notas,puede especificar una plantilla de notas. Si ha creado y guardado muchas plantillas de notas, puededesignar una de ellas como valor por omisión. A continuación, cuando utilice la opción Nota , el programaInfoExplorer visualizará la plantilla de notas por omisión.

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.

Apéndice A. Acceso a la información con InfoExplorer 279

Page 296: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Cambio de la base de datos de búsqueda por omisión

Por omisión, cuando efectúe búsquedas con el programa InfoExplorer, la búsqueda incluirá las bases deinformación cargadas con el programa. No obstante, no siempre es necesario incluir todas las bases deinformación en la búsqueda. Para que sus búsquedas sean más eficaces, puede especificar en qué basesde información debe buscarse durante sesiones actuales y futuras. También puede restablecer laselección de base de información a su formato original (valor por omisión del sistema) de forma que seincluyan de nuevo en la búsqueda las bases de información cargadas con el programa.

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.

Designación de impresoras por omisión

Algunas impresoras están mejor definidas para impresión simple o para impresión de alta calidad. En elprograma InfoExplorer, puede designar una impresora por omisión para los distintos tipos de impresión:simple o de alta calidad. La opción Impresión de alta calidad utiliza el programa troff para convertir undocumento en salida para fotocomposición. Cuando emita un mandato de impresión para una pantalla, laimpresora que ha designado recibe automáticamente dicho mandato determinado. Si no especifica unacola de impresión, la acción por omisión es utilizar la primera cola que se especifica en el archivo/etc/qconfig .

Por ejemplo, si ha designado la impresora daves3812 y si en las preferencias ha establecido la impresiónde alta calidad, cuando elija la opción Imprimir , el trabajo de impresión se enviará automáticamente a esaimpresora.

Nota: El programa de formateo de documentos troff debe estar instalado en el sistema para poderutilizar 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.

Cambio de las preferencias en la interfaz ASCII de InfoExplorer

Con el programa InfoExplorer, puede definir muchas preferencias. Utilice la opción Preferencias en elmenú desplegable de información para establecer sus preferencias para:

v “Cambio del tamaño de la lista del histórico”

v “Elección del editor de notas”

v “Cambio de la salida de impresión” en la página 281

Cambio del tamaño de la lista del histórico

El tamaño de una lista del histórico puede oscilar entre 0 (cero) y 1000 eventos. El valor por omisión delsistema para el tamaño de la lista del histórico es de 100 eventos. Puede cambiar el tamaño por omisiónpara que se adapte a su situación particular. A continuación puede aplicar los cambios únicamente a lasesión actual o guardarlos para sesiones actuales y posteriores.

Para obtener información acerca de procedimientos, consulte Definir preferencias (InfoExplorer ASCII) enla ayuda en línea de InfoExplorer.

Elección del editor de notas

Existen varios editores de notas disponibles en la interfaz InfoExplorer ASCII, incluyendo INed y vi. Eleditor de notas por omisión del sistema es vi. Si prefiere utilizar INed u otro editor para escribir sus notas,puede cambiar el valor por omisión. A continuación puede aplicar los cambios únicamente a la sesiónactual o guardarlos para sesiones actuales y posteriores.

280 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 297: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Para obtener información acerca de procedimientos, consulte Definir preferencias (InfoExplorer ASCII) enla ayuda en línea de InfoExplorer.

Cambio de la salida de impresión

Existen dos tipos de salida de impresión disponible en la interfaz InfoExplorer ASCII: simple y de altacalidad. El valor por omisión del sistema para salida de impresión es impresión simple, que no aceptaresaltados o diferencias de fonts. Si prefiere utilizar impresión de alta calidad, puede cambia el valor poromisión.

Nota: El programa para formatear documentos troff deberá haberse instalado en el sistema parapoder utilizar la función de impresión de alta calidad. El programa troff convierte un documento ensalida 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) enla ayuda en línea de InfoExplorer.

Recursos de X disponibles para el programa InfoExplorer

Puede personalizar el color de la ventana, su posición y su tamaño en el programa InfoExplorerestableciendo los recursos de X en el archivo .Xdefaults . Esto puede hacerse para los tipos de ventanassiguientes:

Tipo de ventana Nombre de recursoLista de señales blistTopLevelShellCitas citTopLevelShellBúsqueda compuesta compoundTopLevelShellSelección de bases de datos dbSelectionTopLevelShellEditor de valores por omisión defTopLevelShellDocumento (lectura) docTopLevelShellArchivo (enlace de archivo) fileTopLevelShellSelección de archivos fileSelTopLevelShellNota a pie de página footTopLevelShellGlosario glossaryTopLevelShellGráficos graphicTopLevelShellLista del histórico hlistTopLevelShellIntroducción introTopLevelShellDefinición de biblioteca libinstTopLevelShellSelección de bibliotecas libSelTopLevelShellLista de títulos tlistTopLevelShellMensaje messageTopLevelShellLista de coincidencias mlSelectionTopLevelShellNavegación navTopLevelShellEditor de notas neditTopLevelShellLista de notas nlistTopLevelShellContorno outlineTopLevelShellLista de vías de acceso plistTopLevelShellPreferencias prefTopLevelShellReferencias refTopLevelShellBúsqueda simple searchTopLevelShell

El nombre de recurso de nivel más alto en InfoExplorer es Info-gr. Por ejemplo, para cambiar la anchurade la ventana de navegación, añada el nombre de recurso siguiente al archivo .xdefaults :

Apéndice A. Acceso a la información con InfoExplorer 281

Page 298: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Info_gr.navTopLevelShell.width: 800

Para que se visualicen los ISOfonts, añada el nombre de recurso siguiente al archivo .xdefaults :Info_gr.fontfilestr: isofonts

282 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 299: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Apéndice B. Avisos

Esta información se ha desarrollado para productos y servicios que se ofrecen en EE.UU.Es posible que IBM no ofrezca los productos, servicios o características que se describen en estedocumento en otros países. Consulte con el representante local de IBM para obtener información sobrelos productos y servicios que están actualmente disponibles en su área. Cualquier referencia a unproducto, programa o servicio IBM no pretende afirmar ni implica que sólo se pueda utilizar dichoproducto, programa o servicio IBM. En su lugar se puede utilizar cualquier producto, programa o serviciofuncionalmente equivalente que no infrinja los derechos de propiedad intelectual de IBM. Sin embargo, esresponsabilidad del usuario la evaluación y la verificación del funcionamiento de cualquier producto,programa o servicio que no sea de IBM.IBM puede tener patentes o solicitudes de patentes pendientes que afecten a los temas que se describenen este documento. El suministro de este documento no proporciona ninguna licencia sobre estaspatentes. Puede enviar consultas sobre patentes a:IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785EE.UU.

Para consultas sobre licencias relacionadas con información de doble byte (DBCS), póngase en contactocon el Departamento de Propiedad Intelectual de IBM de su país o envíe las consultas, por escrito a:IBM World Trade Asia CorporationLicensing2-31 Roppongi 3-chome, Minato-kuTokio 106, Japón

El párrafo siguiente no se aplica al Reino Unido ni a ningún otro país en el que tales disposicionesentren en contradicción con la ley local: INTERNATIONAL BUSINESS MACHINES CORPORATIONPROPORCIONA ESTA PUBLICACIÓN "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, NI EXPLÍCITA NIIMPLÍCITA, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS DE NOINCUMPLIMIENTO, 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 operacionescomerciales, 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 serealizarán modificaciones en la información aquí contenida; dichos cambios se incorporarán en nuevasediciones 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ásadecuado 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 lafinalidad de habilitar: (i) el intercambio de información entre programas creados independientemente yotros programas (incluido éste) y (ii) la utilización mutua de la información que se ha intercambiado,deben ponerse en contacto con:IBM CorporationDept. LRAS/Bldg. 00311400 Burnet RoadAustin, TX 78758-3498EE.UU.Esta información puede estar disponible, sujeta a los términos y condiciones apropiados, incluyendo enalgunos casos, el pago de una tarifa.El programa bajo licencia que se describe en este documento y todo el material bajo licencia disponible

© Copyright IBM Corp. 1997, 2001 283

Page 300: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

para el mismo los proporciona IBM bajo los términos del IBM Customer Agreement, el IBM InternationalProgram License Agreement o cualquier acuerdo entre IBM y el usuario.

La información sobre productos no IBM se ha obtenido de los suministradores de dichos productos, desus anuncios publicados u otras fuentes disponibles públicamente. IBM no ha probado dichos productos yno puede confirmar la exactitud del rendimiento, la compatibilidad o cualquier otra información relacionadacon productos no IBM. Las preguntas sobre las posibilidades de los productos no IBM deben dirigirse alos suministradores de dichos productos.

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 ydirecciones utilizados en una empresa real es una mera coincidencia.

284 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 301: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Índice

Aagenda

visualización 253alias

mandatoshell Korn o POSIX 170

alias de mandatosshell Korn o POSIX 170

sustitución de la tilde 171archivo

árboles 54descriptores 46permisos 130

archivo .env 144archivo /etc/environment 143archivo /etc/profile 142archivo .mwmrc 147archivo .profile 143, 144archivo .Xdefaults 146archivo .xinitrc 145archivo de entorno 143archivo raíz 55archivos

adición de una sola línea de texto 49archivador 124ASCII 70binarios 70búsqueda de una serie 80cálculo del número

bytes 82líneas 82palabras 82

cambiodesde un archivo enlazado 87permisos 133propiedad 129

cambio del nombre 75clasificación de texto 80columnas, eliminación 85comodines 72comparación 66, 81compresión 118concatenación 45convenios de denominación 71copia 75

de cinta o disco 117de la pantalla 50desde el DOS 90en el DOS 90

corte de campos seleccionados de 83creación con redirección desde el teclado 45definición 53descompresión 120desempaquetado 120ejecutables 70eliminación 74empaquetado 118

archivos (continuación)enlace 86, 87enlazados, eliminación 89entorno 143expansión 120expresiones de coincidencia

búsqueda 76expresiones normales 73formato

para impresión 106para visualización 78

fusión de las líneas de varios 84grabación en la salida

desde el punto especificado 83identificación del tipo 78localización de secciones 25manejo 73metacaracteres 72modalidad de acceso

establecimiento 87modalidades de acceso 130movimiento 75nombres de vías de acceso 59, 71numeración de líneas 85pegado de texto 84permisos 71propiedad 87, 129realización de la copia de seguridad 121recuperación del almacenamiento 124restauración

utilización del mandato smit 124restauración de la copia de seguridad 123supresión 74supresión del DOS 91tipos

directorio 70especiales 70normales 70visualización 78

unión 45visión general 69visualización

contenido 78primeras líneas 82últimas líneas 83

archivos ASCIIimpresión en una impresora PostScript 107

archivos de arranqueshell C 228sistema 142

archivos de DOSconversión 89copia 90listado del contenido 91supresión 91

archivos de inicio de sesiónarchivo .env 144archivo /etc/environment 143

© Copyright IBM Corp. 1997, 2001 285

Page 302: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

archivos de inicio de sesión (continuación)archivo /etc/profile 142archivo .profile 143, 144

archivos de perfilutilización 142

archivos de recursosmodificación 146, 147

archivos de textobúsqueda de series 80clasificación 80columnas

eliminación 85concatenación 45creación desde la entrada de teclado 45líneas

numeración 85secciones

corte 83pegado 84

archivos enlazadoseliminación 89

archivos PostScriptconversión de ASCII 109

argumentos 24aritmética

conversión de unidades 257obtención de factores de números 256

aritmética de enteros 177arranque

control de ventanas y aplicaciones en 145ASCII a PostScript

automatización de la conversión 109conversión de archivos 109

Bbackup

cintasventajas de 113

cómo se hace 121compresión de archivos antes de 118directrices 111finalidad de 111mandato 121utilización del mandato smit 122

bibliotecapreferida

interfaz de ventanas 155bloqueo del terminal 139borra el contenido de la pantalla 49búsqueda

base de información por omisióninterfaz ASCII 280

palabras clave 253búsqueda de palabras clave

mandato apropos 253bytes

cálculo del número de 82

Ccalendar

mandato 254cambio del nombre

archivos 75directorios 61

caracteres delimitadoresshell Bourne 213shell Korn o POSIX 168

CDRFS 55cintas

comprobación de la coherencia 118copia en o desde 117

clasesusuario 130

coladispositivo 96print 95

comodines 72comparación de archivos 81componente de fondo

impresora 97compresión de archivos 118concatenación de archivos de texto 45concatenación por conductos

definición 22, 47conductos

definición 47consola

visualización del nombre 14contraseñas

cambio o establecimiento 9directrices 8establecimiento en nulas 10

control de accesosedición de información 139establecimiento de información 138listas 136permisos ampliados 135visualización de información 138

control de trabajosshell C 249shell Korn o POSIX 199

controles de accesolistas 134

convenios de denominaciónarchivos 71directorios 59

conversión de unidades de medidamandato units 257

copiaarchivos de cinta o disco 117archivos en cinta o disco 116en o desde cinta 117en o desde disquetes 116

copia de la pantalla en un archivo 50correlaciones

teclado 16correlaciones del teclado

listado de las disponibles actualmente 16corte de secciones 83

286 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 303: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Ddescartar la salida 46directorio x (inicial) 60directorio $HOME 60directorios 58

abreviaturas 60cambio 62cambio de los permisos 133cambio del nombre 61cambio del propietario 129comparación del contenido 66convenios de denominación 59copia 63creación 61definición 53eliminación 65enlace 86especificación con abreviaturas 60estructura 58inicial 59listado de archivos 64listado de los archivos de DOS 91modalidades de acceso 130movimiento 61nombres de vías de acceso 59organización 58padre 59raíz

definición 53subdirectorios 58supresión 65tipos 58trabajo 59visión general 57visualización

actual 62contenido 64

directorios .. (doble punto) 60directorios . (punto) 60dispositivo /dev/rfd0 113dispositivo /dev/rmt0

dispositivo de cintasutilización 113

dispositivosvisualización de información acerca de 13

disquetescopia en o desde 116formato 114manejo 113

distintivosen mandatos 23

documento de entrada en línea 47, 181documentos de entrada en línea 47

Eedición

en líneashell Korn o POSIX 200

edición en líneashell Korn o POSIX 200

edición en línea (continuación)modalidad de edición vi 203modalidad emacs 201

edición en línea del shell Kornmodalidad de edición vi 203modalidad emacs 201

editor ed 73editor emacs 201editor InEd 73editor vi 203editores 73, 200eliminación de delimitadores

shell Korn o POSIX 180enlaces

creación 87eliminación 89fijos 87simbólicos 87tipos 87visión general 86

entornoestablecimiento

usuario 143sistema 13visualización del actual 17

entrada estándarcopia en un archivo 48definición 44redirección 46

espaciovisualización del disponible 56

estado de la salidashell Korn o POSIX 183

evaluación aritméticashell Korn o POSIX 177

expresionesbúsqueda de archivos con coincidencia 76

expresiones normales 73

Ffile

mandato 78filtros

definición 47fin de sesión

cómo se hace 4font

cambio 150interfaz de ventanas 154

fontslistado de los disponibles para utilizarse 15

formaciónformación asistida por ordenador 255

formación asistida por ordenador 255formateo de disquetes 114formato de texto

caracteres ampliados de un solo byte 31soporte de caracteres de varios bytes 31soporte internacional de caracteres 30

función de automantenimientointerfaz de ventanas 155

Índice 287

Page 304: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Ggestión de horarios

creación de recordatorios 256grabación de mensajes de recordatorio 254

Hhelp

mandato 255visualización de información 255

históricoedición 29lista

establecimiento del tamaño 280suceso

cambio del tamaño 155sustitución

shell C 238histórico de mandatos

shell Korn o POSIX 185history

mandato 26

IID

usuario 129ID de usuario de inicio de sesión 128idiomas

bidireccionales 19idiomas bidireccionales 19imagen

preferencia de visualización 155impresión 95, 105

archivos ASCII en una impresora PostScript 107formateo de archivos para 106liberación de trabajos de impresión 104movimiento de trabajos de impresión 105retención de trabajos de impresión 104

impresión desde InfoExplorer 275impresora PostScript

impresión de archivos ASCII 107impresoras 95

cancelación de un trabajo 101cola 95componente de fondo 97condiciones de estado 103dispositivo de cola 96inicio de un trabajo 98locales 97qdaemon 96reales 96remotas 97spooler 96valor por omisión

interfaz ASCII 280interfaz de ventanas 154

virtuales 96visualización del estado de un trabajo 103

impresoras locales 97

impresoras reales 96impresoras virtuales 96indicador

cambio del sistema 151inicio

shell Bourne 210shell C 227shell Korn o POSIX 185windows Window Manager 145X 144

inicio de sesióncómo se hace 2ID de usuario, como otro 3mandato 3mensajes

supresión 4nombre

visualización 5remoto 1varios en el mismo sistema 3

interfaz ASCIIpersonalización

visión general 278valores por omisión

visión general 279visión general 267

interfaz ASCII de InfoExplorerayuda 268, 276bibliotecas alternativas, inicio 278búsqueda 272detención 278enlaces de hipertexto

selección 270impresión 275movimiento por el texto 271opciones de menú, selección 271pantallas

moverse entre 270tipos 269

salida 278interfaz de ventana

recursos de X disponibles en 281interfaz de ventanas

personalización 152

JJFS 55

Llectura del visor de tres dígitos 3línea de texto

adición a un archivo 49líneas

cálculo del número de 82lista de mandatos 101

> 44>> 45<<<< 46| 47acledit 139

288 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 305: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

lista de mandatos 101 (continuación)aclget 138aclput 138aixterm 19alias 29apropos 253at 38, 39atq 39backup 121banner 51bsh 161, 210cal 253calendar 254capture 50cat 45, 79cd 59, 62clear 49colrm 85compress 118cp 63, 75cpio -i 117csh 161, 227cut 83chfont 150chmod 133chown 129chpq 109del 89df 56diff 81dircmp 66dosdel 91dosdir 91dosread 90doswrite 90echo 49env 17exit 4export 149factor 256fc 186fdformat 114file 78fin de sesión 4find 76flcopy 116format 114fsck 115grep 48, 80grupos 129head 82help 255history 26id 7inicio de sesión 3kill 40ksh 161, 185

mandatos incorporados especiales 187, 188,190, 191, 192, 193

mandatos incorporados normales 193, 194, 195,196, 197

lista de mandatos 101 (continuación)learn 255leave 256ln 87lock 139logname 6ls 64lscfg 13lscons 14lsdisp 15lsfont 15lsgroup 132lskbd 16lslpp 16man 25mandato cpio -o 116mkdir 61more 79mv 75mvdir 61mwm 145nice 36nl 85pack 118page 79passwd 9paste 84pg 79pr 106printenv 18ps 34psh 161, 185pwd 62qcan 101qchk 101qhld 104qmov 105qpri 103qprt 98r 28renice 36restore 123rm 74, 89rmdir 65rsh 161Rsh 161, 211script 50sh 161shutdown 5smit 25, 100, 122sort 80stty 17, 151su 3tail 83tapechk 118tar 124tcopy 117tee 48touch 4tsh 161tty 15

Índice 289

Page 306: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

lista de mandatos 101 (continuación)uname 6uncompress 120units 257unpack 120wc 82whatis 26whereis 25who 7who am i 6whoami 5write 259xlock 139

logoutmandato 4

Mmandato acledit 139mandato aclget 138mandato aclput 138mandato aixterm 19mandato alias 29mandato apropos 253mandato at 38, 39, 40mandato atq 39mandato banner 51mandato bsh 161, 210mandato cal 253mandato capture 50mandato cat 45, 79mandato cd 59, 62mandato clear 49mandato colrm 85mandato compress 118mandato cp 63, 75mandato cpio -i 117mandato cpio -o 116mandato csh 161, 227mandato cut 83mandato chfont 150mandato chmod 133mandato chown 129mandato chpq 109mandato del 89mandato df 56mandato diff 81mandato dircmp 66mandato dosdel 91mandato dosdir 91mandato dosread 90mandato doswrite 90mandato echo 49mandato env 17mandato exit 4mandato export 149mandato factor 256mandato fc 186mandato fdformat 114mandato find 76mandato flcopy 116

mandato format 114mandato fsck 115mandato Gestor del sistema basado en la Web 104mandato grep 48, 80mandato groups 129mandato head 82mandato id 7mandato kill 40mandato ksh 161, 185mandato learn 255mandato leave 256mandato ln 87mandato lock 139mandato logname 6mandato ls 64mandato lscfg 13mandato lscons 14mandato lsdisp 15mandato lsfont 15mandato lsgroup 132mandato lskbd 16mandato lslpp 16mandato man 25mandato mkdir 61mandato more 79mandato mv 75mandato mvdir 61mandato mwm 145mandato nice 36mandato nl 85mandato pack 118mandato page 79mandato passwd 9mandato paste 84mandato pg 79mandato pr 106mandato printenv 18mandato ps 34mandato psh 161, 185mandato pwd 62mandato qcan 101mandato qchk 101mandato qhld 104mandato qmov 105mandato qpri 103mandato qprt 98mandato r (repeat) 28mandato renice 36mandato restore 123mandato rm 74, 89mandato rmdir 65mandato rsh 161mandato Rsh 161, 211mandato script 50mandato sh 161mandato shutdown 5mandato smit 25, 100, 122mandato sort 80mandato stty 17, 151mandato su 3mandato tail 83

290 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 307: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

mandato tapechk 118mandato tar 124mandato tcopy 117mandato tee 48mandato touch 4mandato tsh 161mandato tty 15mandato uname 6mandato uncompress 120mandato units 257mandato unpack 120

finalidad de 118mandato wc 82mandato whatis 26mandato whereis 25mandato who 7mandato who am i 6mandato whoami 5mandato write 259mandato xlock 139mandatos

aliascreación 29

distintivosutilización 23

entrada 22espacios entre 22formatear texto 30función

descripción 26guardar los entrados 26histórico, edición 29incorporados 186

shell Bourne 215shell C 229

información acerca devisualización 25

mandatos largos en varias líneasentrada 23

nombre del mandatodefinición 23

nombres abreviadoscreación 29

parámetros 24repetición 28sensibles a las mayúsculas y las minúsculas 23sentencias de uso 24shell Bourne 212shell C 229shell Korn o POSIX 165sintaxis 22sustitución de series 28varios mandatos en una línea

entrada 22visión general 22

mandatos especialesshell Bourne 215

mandatos incorporados 186shell Bourne 215shell C 229

mandatos para formatear texto 30

manejo de señalesshell Bourne 214shell C 229shell Korn o POSIX 200

mensajesenvío a la salida estándar 49envío de mensajes a otros usuarios 259visualización en pantalla 49

mensajes de inicio de sesión, supresión 4mensajes de recordatorio

mandato calendar 254mensajes en tiempo real

envío de mensajes a otros usuarios 259metacaracteres 72modalidades de acceso

archivos 130clases de usuarios 130control 130directorios 130información del grupo

visualización 132permisos base 135representación de

numérica 131simbólica 130

valor por omisiónrepresentación numérica para 131representación simbólica para 130

modificadoresen mandatos 23

NNFS 55nombre abreviado de los mandatos

creación 29nombres, visualización

inicio de sesión 5sistema operativo 6

nombres de recursosinterfaz de ventana 281

nombres de vías de accesoabsolutos 60, 71definición 71directorio 59

notasestablecimiento del editor preferido

interfaz ASCII 280impresión

InfoExplorer 275plantilla por omisión

interfaz ASCII 279número de identificación de proceso 32número de inodo 58, 70, 86número de referencia de nodo de índice 58número PID

descripción 32

Índice 291

Page 308: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Oobtención de factores de números

mandato factor 256opciones

en mandatos 23operador de redirección de adición (>>) 45operador de redirección de entrada (<<<<) 46operador de redirección de salida (>) 44

Ppáginas de manual

localización mediante búsquedas de palabrasclave 253

palabrascálculo del número de 82

palabras reservadasshell Korn o POSIX 170

pantallasborrar 49copia de la visualización en un archivo 48copia en un archivo 50designación de la navegación por omisión 279listado de las disponibles en el sistema 15visualización de texto en una pantalla cada vez 79visualización del texto en letras grandes 51

parámetrosen mandatos 24shell Korn o POSIX 172

parámetros de posiciónshell Bourne 224

patrones de coincidenciashell Bourne 225shell Korn o POSIX 179

permisosampliados 135archivo 133base 135directorio 133

permisos ampliados 135permisos base 135personalización

entorno del sistema 149InfoExplorer

interfaz ASCII 278interfaz de ventanas 152

preferenciasvisión general

interfaz de ventanas 154proceso daemon

descripción 33proceso zombie 33procesos

cambio de la prioridad 36cancelación 36

proceso en primer plano 36daemon 33descripción 32detención 37

proceso en segundo plano 40eliminación de la planificación 40

procesos (continuación)en primer plano 33en segundo plano 33establecimiento de la prioridad inicial 36inicio 33listado de los planificados 39planificación para procesarlos posteriormente 38reinicio de uno detenido 37visualización de todos los activos 34visualización del estado 35zombie 33

procesos en primer planodefinición 33

procesos en segundo planodefinición 33

productos de softwarevisualización de información acerca de 16

programacopia de la salida en un archivo 48

programa ASCII InfoExplorerartículo de navegación

designación de valores por omisión 279base de datos de búsqueda

cambio del valor por omisión 280editor de notas

elección 280impresoras

designación por omisión 280personalización 278preferencias

cambio de valores 280salida de impresión

cambio 281valores por omisión

cambio 279programa de ventanas InfoExplorer

personalización 152programa InfoExplorer

detención 278inicio 269salida 278visión general

interfaz ASCII 267

Qqdaemon 96

Rrecordatorios de salida

mandato leave 256recurso de coproceso

shell Korn o POSIX 182recursos

descripción 146recursos de X

interfaz de ventana 281red

visualización del nombrecon el mandato uname 7

292 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 309: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

redirecciónentrada estándar 46salida a un archivo 44salida de error estándar 46salida estándar 44

redirección de E/Sshell Bourne 226shell C 248shell Korn o POSIX 181

redirección de entrada 44redirección de entrada y salida 226redirección de la entrada y la salida

desde coprocesos 183referencias

impresión desde las pantallas de InfoExplorer 275remotas

impresoras 97remoto

inicio de sesión 1

Ssalida

descartar con el archivo /dev/null 46redirección a un archivo 44

salida de error estándarredirección 46

salida estándaradición a un archivo 45definición 44redirección 44

seguridadamenazas 127archivo 127sistema 127

sentencias de usopara mandatos 24

seriesbúsqueda en los archivos de texto 80

shellprogramas 164scripts

creación 164especificación de un shell 164

variablesexportación 149

shell Bournecaracteres delimitadores 213entorno 210inicio 210mandatos

incorporados 215lista 214utilización 212

mandatos especiales 215manejo de señales 214palabras reservadas 214parámetros de posición 224patrones de coincidencia 225redirección de la entrada y la salida 226sustitución condicional 223

shell Bourne (continuación)sustitución de mandatos 219sustitución del nombre del archivo 225variables 221

definidas por el usuario 220especiales predefinidas 222sustitución 220

shell Ccontrol de trabajos 249expresiones 236inicio 227limitaciones 228mandatos

incorporados 229utilización 229

manejo de señales 229operadores 236redirección de la entrada y la salida 248sustitución de alias 241sustitución de mandatos 237sustitución de variables 242sustitución del histórico 238sustitución del nombre del archivo 244variables predefinidas y de entorno 246

shell estándarexpresiones condicionales 198

Shell Korn 206shell Korn o shell POSIX

alias de mandatos 170sustitución de la tilde 171

control de trabajos 199coprocesos

redirección de la entrada y salida desde 183delimitadores 168edición 200eliminación de delimitadores 180entorno 184estado de la salida 183evaluación aritmética 177expresiones condicionales 198histórico de mandatos 185inicio 185mandatos

compuestos 166funciones 167incorporados 186utilización 165

mandatos incorporados 186manejo de señales 200palabras reservadas 170patrones de coincidencia 179recurso de coproceso 182redirección de la entrada y la salida 181subdivisión de campos 179sustitución de mandatos 176sustitución de parámetros 172sustitución del nombre del archivo 179variables

definidas por el usuario 175predefinidas 174

Shell ksh93 206

Índice 293

Page 310: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

shell POSIX 184Shell POSIX 206shell restringido

inicio 211shells

Bourneentorno 210inicio 210mandatos incorporados 215parámetros de posición 224redirección de la entrada y la salida 226sustitución condicional 223sustitución de mandatos 219sustitución de variables 220sustitución del nombre del archivo 225variables 221variables definidas por el usuario 220variables especiales predefinidas 222

Ccontrol de trabajos 249inicio 227mandatos incorporados 229manejo de señales 229redirección de la entrada y la salida 248sustitución de alias 241sustitución de mandatos 237sustitución de variables 242sustitución del histórico 238sustitución del nombre del archivo 244variables predefinidas y de entorno 246

conceptos 159disponibles 161fiable, inicio 161funciones 160Korn o POSIX

control de trabajos 199delimitadores 168edición en línea 200, 201, 203entorno 184estado de la salida 183evaluación aritmética 177expresiones condicionales 198inicio 185mandato 170, 176, 185mandatos compuestos 166mandatos incorporados 186manejo de señales 200palabras reservadas 170parámetros 172recurso de coproceso 182redirección de la entrada y la salida 181sustitución del nombre del archivo 179utilización de mandatos 165

restringidoinicio 211

scriptsespecificación de un shell 164

scripts de shellcreación 164

terminologíadefiniciones 162

shells (continuación)tipos 161

Shells 206sistema

archivos de arranque 142encendido 2entorno 13gestión

tareas de los sistemas de archivos 54indicador

cambio 151personalización del entorno 149seguridad 127shutdown 5variables por omisión 142visualización del nombre 6

sistema de archivos de CD-ROM (CDRFS) 55sistema de archivos de diario (JFS) 55sistema operativo

finalización de la sesión 4inicio de sesión 2visualización del nombre

con el mandato uname 6sistemas de archivos

comprobación de la coherencia 115definición 53ejemplo

ilustración 71espacio disponible

visualización 56estructura 55raíz 55realización de reparaciones interactivas 115tipos

sistema de archivos de diario (JFS) 55sistemas de archivos de red (NFS) 55

visión general 54sistemas de archivos de red (NFS) 55SMIT

impresióncontrol de 97

soporte de caracteres de varios bytesformato de texto 31

soporte internacional de caracteresformato de texto 30

spooler de impresión 96supresión

archivos 74directorios 65

sustitución condicionalshell Bourne 223

sustitución de aliasshell C 241

sustitución de la tildecreación de alias de mandatos

shell Korn o POSIX 171sustitución de mandatos

shell Bourne 219shell C 237shell Korn o POSIX 176

294 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 311: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

sustitución de variablesshell Bourne 220shell C 242shell Korn o POSIX 174

sustitución del nombre del archivoshell Bourne 225shell C 244shell Korn o POSIX 179

Tteclas de control

cambio 151visualización de valores 17

terminalbloqueo 139reserva

utilización del mandato lock 139visualización de valores 18visualización del nombre 15

textoadición a un archivo 49visualización en letras grandes 51

tipossistema de archivos de CD-ROM (CDRFS) 55

tipos de archivos de impresiónalteración temporal de la determinación

automática 109trabajos

eliminación de la planificación 40listado de los planificados 39planificación 38

trabajos de impresióncancelación 101definición 95especificación de la prioridad 103formateo de archivos para 106inicio 98liberación 104movimiento 105retención 104visualización del estado 101

Uunidades de medida

conversión 257usuario

clases 130grupos

definición 129visualización de información 132

IDcambio por otro 3

usuariosenvío de mensajes a otros 259visualización del ID del sistema 7visualización del sistema actual 7

Vvalores por omisión

archivo de señales de InfoExplorerinterfaz ASCII 279interfaz de ventanas 153

archivo histórico de InfoExplorerinterfaz ASCII 279interfaz de ventanas 153

archivos de notas de InfoExplorerinterfaz ASCII 279interfaz de ventanas 153

artículo de navegación de InfoExplorerinterfaz ASCII 279interfaz de ventanas 153

bases de información de InfoExplorerinterfaz ASCII 280interfaz de ventanas 154

impresoras de InfoExplorerinterfaz ASCII 280interfaz de ventanas 154

plantilla de notas de InfoExplorerinterfaz ASCII 279interfaz de ventanas 153, 279

variablesexportación de shell 149shell Bourne 221

definidas por el usuario 220especiales predefinidas 222

shell Cpredefinidas y de entorno 246

shell Korn o POSIXdefinidas por el usuario 175predefinidas 174

variables de entornovisualización de valores 18

vías de accesodirectorio 59

visor de tres dígitos 3visualización

agenda 253archivos

primeras líneas 82últimas líneas 83

contenido del archivo 78directorio de archivos

actual 62contenido 64

fonts disponibles 15ID de usuario 7información de ayuda 255información de control de accesos 138información del grupo de usuario 132mensajes de recordatorio 254nombre de inicio de sesión 5nombre de la consola 14nombre del sistema 6nombre del terminal 15pantallas disponibles 15productos de software 16texto de la pantalla en letras grandes 51

Índice 295

Page 312: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Wwindows Window Manager

inicio 145

XX Window System

inicio 144, 145

296 Guía del usuario del sistema: Sistema operativo y dispositivos

Page 313: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Hoja de Comentarios

AIX 5L Versión 5.1Guía del usuario del sistema: Sistema operativo y dispositivos

Número de Publicación SC10-9309-03

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 loscomentarios que nos envíe deben estar relacionados exclusivamente con la información contenida en este manualy 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 susucursal 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 comentariosen la forma que considere apropiada sin incurrir por ello en ninguna obligación con el remitente.

Comentarios:

Gracias por su colaboración.

Para enviar sus comentarios:v Envíelos por correo a la dirección indicada en el reverso.v Envíelos por correo electrónico a: [email protected]

Si desea obtener respuesta de IBM, rellene la información siguiente:

Nombre Dirección

Compañía

Número de teléfono Dirección de e-mail

Page 314: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

Hoja de ComentariosSC10-9309-03

SC10-9309-03

IBM

IBM S.A.National Language Solutions CenterAvda. Diagonal, 571Edif. ″L’Illa″Barcelona 08029España

Page 315: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada
Page 316: beta.redes-linux.combeta.redes-linux.com/otros_sistemas/Aix/usrosdev.pdf · Resumen de mandatos para la redirección de entrada y salida................51 Información relacionada

IBM

SC10-9309-03