Académique Documents
Professionnel Documents
Culture Documents
Las IGUs son útiles, pero para descubrir el verdadero potencial de Linux®, no hay nada mejor que la
línea de comando. En este artículo, Ian Shields le presenta algunos de los características más importantes
del shell bash, principalmente los características importantes para la certificación LPI. Al terminar
este artículo usted dominará el uso de los comandos básicos de Linux como echo y exit, estableciendo
variables de entorno, y recogiendo información del sistema. [Las primeras dos notas siguientes al listado
8 han sido actualizadas para corregir las IDs (PIDs) del proceso. -Ed.]
Vea la series roadmap para obtener una descripción de y un link a cada uno de los artículos de esta
serie. La guía básica se encuentra en marcha y refleja los últimos (Abril de 2009) objetivos para los
exámenes LPIC-1: a medida que completamos los artículos, los agregamos a la guía básica. Mientras
tanto, sin embargo, usted puede encontrar versiones anteriores de contenido similar, que sirven de
soporte para objetivos LPIC-1 anteriores previos a Abril de 2009, en nuestros LPI certification exam
prep tutorials.
Requisitos previos
Para aprovechar al máximo los artículos de esta serie, usted debería poseer conocimiento básico
sobre Linux y tener un sistema de trabajo Linux en el que poder practicar los comandos explicados
en este artículo. En ocasiones, versiones diferentes de un mismo programa muestran los resultados en
formatos diferentes, por lo cual los resultados pueden no siempre ser idénticos a los de los listados y
figuras presentados en este artículo.
Visión general
Este artículo le brinda una breve introducción a algunas de las características más importantes del shell bash,
y abarca los siguientes temas:
Este artículo lo ayuda a preparar los Objetivos 103.8 del Tema 103 del examen 101 de Administración Nivel
Junior de Linux (LPIC-1). Este objetivo tiene un valor de ponderación de 4. El contenido de este artículo
corresponde a los objetivos del examen 101 de Abril de 2009 objectives for exam 101. Siempre debería
consultar los objetivos para conocer los requisitos definitivos.
El shell bash
El shell bash es uno de los numerosos shells disponibles para Linux. También denominado Bourne-again
shell, en honor a Stephen Bourne, creador del shell inicial (/bin/sh). Bash es básicamente compatible con
sh, pero además proporciona varias mejoras tanto en las capacidades de las funciones como en las de
programación. Bash incorpora características del shell Korn (ksh) y del shell C (csh), y and ha sido pensado
para ser compatible con el shell POSIX.
Antes de ahondar en bash, recuerde que un shell es un programa que acepta y ejecuta comandos. También
soporta construcciones de de programación que permiten la construcción de comandos complejos a partir
de partes más pequeñas. Estos comandos complejos, o scripts, pueden guardarse para convertirse en nuevos
comandos. De hecho, muchos de los comandos en un sistema Linux típico son scripts.
Los shells tienen algunos comandos incorporados como cd, break, y exec. Otros comandos son externos.
• stdin es el flujo de entrada estándar, que proporciona los datos de entrada a los comandos.
• stdout es el flujo de salida estándar, que muestra los datos de salida de los comandos.
• stderr es el flujo de error estándar, que muestra los datos de salida de error de los comandos.
Los flujos de entrada proporcionan datos de entrada a los programas, generalmente a partir de la pulsación
de las teclas de la terminal. Los flujos de salida imprimen caracteres de texto, generalmente a la terminal. La
terminal era en un principio una máquina de escribir ASCII o una terminal de visualización, pero ahora por
lo general se trata de una ventana o un escritorio gráfico.
podrá encontrar más detalles sobre la forma de redireccionar estos flujos estándar de entrada/salida.
De aquí en adelante, asumiremos que usted sabe cómo lograr el aviso del shell. De lo contrario, el artículo
developerWorks "Basic tasks for new Linux developers" muestra cómo hacer esto y otras cosas.
Si usted utiliza un sistema Linux sin escritorio gráfico, o si usted abre la ventana de una terminal en un
escritorio gráfico, usted verá un aviso, quizá igual a los señalados en el Listado 1.
Si usted inicia sesión como usuario raíz (o super usuario), el aviso que visualice puede ser similar a alguno
de los mostrados en el Listado 2.
El poder que tiene el usuario raíz es importante, por lo cual hay que ser cuidadoso al utilizarlo. Al tener
privilegios raíz, la mayoría de los prompts tienen añadido un signo numeral (#). Los privilegios de usuarios
comunes suelen estar delineados con un carácter diferente, generalmente un signo de dólar ($). Su prompt
actual puede ser diferente a los ejemplos presentados en este artículo. Su prompt puede incluir su nombre de
usuario, nombre de host, directorio actual, fecha u hora de impresión del host, y demás.
Estos artículos incluyen ejemplos de códigos copiados y pegados de sistemas Linux reales por medio de los
prompts predeterminados de dichos sistemas. Nuestros prompts raíces poseen un # añadido, por lo cual usted
puede distinguirlos de los prompts de usuarios comunes, los cuales tienen un $ añadido. Esta convención es
consistente con muchos libros que tratan el tema. Si le parece que algo no funciona, verifique el prompt que
aparece en el ejemplo.
Comandos y secuencias
Entonces ahora que tenemos un prompt, veamos qué puede hacer con él. La función principal del shell es
interpretar los comandos de manera que usted pueda interactuar con su sistema Linux. En los sistemas Linux
(y UNIX®), los comandos tienen un nombre de comando, y cuentan con opciones y parámetros. Algunos
comandos no poseen ni opciones ni parámetros, y otros tienen sólo uno de los dos..
Cuando una línea contiene un carácter #, el resto de los caracteres de la línea se ignora. Entonces, un carácter
# puede indicar tanto un comentario como un prompt raíz. El contexto indicará de cuál de los dos se trata.
Echo
El comando echo imprime sus argumentos (o hace eco de los mismos) a la terminal tal como se muestra en el
Listado 3.
En el tercer ejemplo del Listado 3, todos los espacios sobrantes se comprimieron en un único espacio en los
datos de entrada. Para evitar esto, usted necesita colocar comillas utilizando comillas dobles (") o simples
('). Bash utiliza el espacio en blanco, como los espacios vacíos, las tabulaciones, y los caracteres de las
líneas nuevas, para separar las líneas de entrada en tokens, las que luego se pasan al comando. Al colocar las
cadenas entre comillas se conserva el espacio vacío adicional y se convierte a la cadena en un único token.
En el ejemplo anterior, cada token posterior al nombre del comando es un parámetro, por lo tanto tenemos 1,
2, 4, y 1 parámetro respectivamente.
El comando echo tiene un par de opciones. Normalmente echo anexa un carácter de línea nueva a los datos
de salida. Utilice la opción -n para suprimirlo. Utilice la opción -e para permitir que ciertos caracteres de
escape de barra invertida tengan un significado especial. Algunos de ellos pueden observarse en el Cuadro 1.
\a Alerta (campana)
\b Barra invertida
\c Suprimir nuevas líneas añadidas (cumple la misma función que la opción -n)
\n Nueva línea
\r Retorno de carro
\t Tabulación horizontal
Para que las secuencias descriptas más arriba sean correctamente administradas por el comando echo o
alguno de los muchos comandos que utilizan caracteres de control de escape similares, deben colocar
las secuencias de escape entre comillas o incluirlas en una cadena entre comillas, salvo que usted utilice
una segunda barra invertida para que el shell conserve una para el comando. El listado 4 muestra algunos
ejemplos de los distintos usos de \.
Tenga en cuenta que bash muestra un prompt especial (>) al ingresar una línea entre comillas simples. Su
flujo de entrada continúa en una segunda línea e incluye el carácter de la línea nueva.
• |
• &
• ;
• (
• )
• <
• >
Analizaramos algunos de estos con más detalle en otras partes de este artículo. Por ahora, tenga en cuenta
que si desea incluir un metacaracter en su texto, debe colocarlo entre comillas o como carácter de escape
mediante una barra invertida (\) como se observa en el Listado 4.
La nueva línea y ciertos metacaracteres o pares de metacaracteres también sirven como operadores de
control. Estos son:
• ||
• &&
• &
• ;
• ;;
• |
• (
• )
La secuencia de comando más sencilla se compone sólo de dos comandos separados por un punto y coma
(;). Cada comando se ejecuta en secuencia. En los entornos programables los comandos devuelven un aviso
de éxito o falla; los comandos de Linux por lo general devuelven un valor de cero en los caso de éxito y un
valor distinto a cero en caso de falla. Usted puede introducir algún procesamiento condicional en su lista
utilizando && y los operadores de control ||. Si usted separa dos comandos con el operador de control && el
segundo se ejecuta sólo si el primero devuelve un valor de salida de cero. Si usted separa los comandos con
||, el segundo comando se ejecuta sólo si el primero devuelve un código de salida distinto de cero. El Listado
5 muestra algunas secuencias de comandos que utilizan el comando echo. Estas no son muy interesantes
porque el retorno de echo es cero, pero más adelante, cuando podamos utilizar más comandos veremos más
ejemplos de esto.
Exit
Usted puede terminar un shell utilizando el comando exit Usted puede opcionalmente proporcionar un código
de salida como parámetro. Si usted está ejecutando su shell en una ventana terminal en un escritorio gráfico,
su ventana se cerrará. De manera similar, si usted está conectado a un sistema remoto utilizando ssh o telnet
(por ejemplo), su conexión se interrumpirá. En el shell bash usted puede mantener presionada presionar la
tecla Ctrl y presionar la tecla d para salir.
Analicemos otro operador de control. Si usted adjunta un comando o una lista de comandos entre paréntesis,
se ejecuta el comando o la secuencia en un sub shell, y el comando exit saldrá del subshell en lugar de salir
de salir del shell en el cual usted está trabajando. El Listado 6 muestra un ejemplo simple de && y de || junto
con otros dos códigos exit diferentes.
Variables de entorno
Al ejecutar en un shell bash, muchas elementos constituyen su entorno, como la forma de su prompt, su
directorio principal, su directorio de trabajo, el nombre de su shell, los archivos que ha abierto, las funciones
que ha definido, etc. Su entorno incluye muchas variables que pueden haber sido establecidas por bash o
por usted. El shell bash también le permite tener variables shell, que usted puede exportar a su entorno para
ser utilizadas en otros procesos que se están ejecutando en el shell o por otros shells que usted puede haber
generado desde el shell actual.
Tanto las variables de entorno como las variables shell tienen un nombre. Usted hace referencia al valor
de una variable colocando '$' delante de su nombre. Algunas de las variables de entorno bash que usted
encontrará se pueden observar en el Cuadro 2.
PPID La id de proceso del proceso que inició este proceso (que es, la id del proceso
primario)
El Listado 7 muestra lo que usted podría ver en algunos de estas variables bash comunes.
• Utilice el comando
chsh -s /bin/bash
para cambiar su shell predefinido. El nuevo shell tendrá efecto la próxima vez que usted inicie
sesión.
• Utilice el comando
su - $USER -s /bin/bash
para crear otro proceso como un proceso secundario del shell actual. El nuevo proceso será un
shell de inicio de sesión que utiliza bash.
• Cree una id con un shell bash predeterminada para utilizarla en la preparación del examen LPI.
Usted puede crear o establecer una variable shell escribiendo un nombre seguido inmediatamente por un
signo igual (=). Si la variable existe, usted la modificará para asignar el nuevo valor. Las variables son
capaces de distinguir mayúsculas de minúsculas, por lo tanto var1 y VAR1 son variables diferentes. Por
convención, las variables, particularmente las exportadas, se escriben en mayúscula, pero este no es un
requisito. En teoria, $$ y $? son parámetros shell, no variables. Éstos sólo pueden referenciarse; usted no
puede asignarles un valor.
Al crear una variable shell, usted a menudo deseará exportarla al entorno de manera que esté disponible para
otros procesos que usted inicie desde este shell. Las variables que usted exporta no se encuentran disponibles
para un shell primario. Usted utiliza el comando export para exportar el nombre de una variable. Como un
atajo en bash, usted puede asignar un valor y exportar una variable en un sólo paso.
Para ilustrar la asignación y la exportación, ejecutemos el comando bash desde el shell bash y luego
ejecutemos el shell korn (ksh) desde el nuevo shell bash. Utilizaremos el comando ps para mostrar
la información sobre el comando que se está ejecutando. Analizaremos más en profundidad nuestro
conocimiento de ps en otro de los artículos de esta serie. Vea Temas relacionados for the roadmap..............de
las series).
Notas:
Todas las referencias de variables presentadas hasta ahora terminan en espacios en blanco, por lo cual ha
sido fácil determinar donde terminaban las mismas. De hecho, los nombres de las variables pueden estar
compuestos sólo de letras, números o el carácter guión bajo. El shell sabe que el nombre de una variable
termina cuando encuentra otro carácter. Aveces es necesario utilizar variables en expresiones en las cuales el
significado es ambiguo. En tales casos, usted puede utilizar llaves para delinear el nombre de una variable tal
como se muestra en el Listado 10.
Env
El comando env sin ninguna opción ni parámetro muestra las variables del entorno actual. Usted puede
utilizar este comando también para ejecutar un comando en un entorno personalizado. La opción -i (o
simplemente -) limpia el entorno actual antes de ejecutar el comando, mientras que la opción -u desactiva las
variables de entorno que usted no desea pasar.
El Listado 11 muestra la salida parcial del comando env sin ningún parámetro y luego tres ejemplos de
invocación de shells diferentes sin el entorno primario. Observe todo esto cuidadosamente antes de nuestro
análisis.
Nota: Si su sistema no tiene el ksh (Korn) o los shells tcsh instalados, usted necesitará instalarlos para
realizar estos ejercicios.
Observe que bash ha establecido la variable SHELL, pero no la exportó al entorno, aunque existen otras tres
variables que ha creado bash en el entorno. En el ejemplo de ksh, tenemos dos variables de entorno, pero
nuestro intento de hacer eco del valor de la variable SHELL genera una línea en blanco. Finalmente, tcsh no
ha creado ninguna variable de entorno y produce un error ante el intento de referenciar el valor del SHELL.
Entonces, considerando nuestro intento por mostrar el valor de nuestra variable SHELL en estos shells de
inicio de sesión:
1. Al iniciar el bash, éste activó la variable SHELL, pero no la exportó automáticamente al entorno.
2. Al iniciar el ksh, éste no activó la variable SHELL. Sin embargo, referenciar una variable de entorno
indefinida es equivalente a referenciar una con un valor vacío.
3. Al iniciar el tcsh, éste no activó la variable SHELL. En este caso, el comportamiento predefinido es
diferente al del ksh (y al del bash), dado que se informa un error al intentar utilizar una variable que no
existe.
Usted puede utilizar el comando unset para desactivar una variable y quitarla de la lista de variables shell.
Si la variable se exportó al entorno, éste la removerá del entorno. Usted puede utilizar el comando set para
controlar muchos aspectos del modo de trabajo de bash (o de otros shells). Set es un comando incorporado
a shell, de modo que varias opciones son específicas para shell. En bash, la opción -u hace que bash informe
errores en caso de variables indefinidas en lugar de tratarlas como definidas pero vacías. Usted puede activar
las diferentes opciones de set con un - y desactivarlas con un +. Usted puede visualizar que se encuentran
activas utilizando echo $-.
Si utiliza el comando set sin ninguna opción, éste le mostrará todas las variables shell y sus respectivos
valores (si los hubiera). También existe otro comando, declare, que se puede utilizar para crear, exportar,
y visualizar valores de variables shell. Usted puede conocer el resto de las opciones de set y del comando
declare utilizando las paginas de los manuales. Más adelante analizaremos las páginas de los manuales.
Exec
El último comando que debemos analizar es exec. El comando exec puede utilizarse para ejecutar otro
programa que reemplace el shell actual. En el Listado 13 se inicia un shell bash secundario y luego se utiliza
exec para reemplazarlo por un shell Korn. Luego de salir del shell Korn, usted vuelve al shell bash original
(en este ejemplo, PID 2852).
Opción Descripción
El listado 14 es de un sistema Fedora 11 ejecutándose en una CPU Intel.® El comando uname se encuentra
disponible en la mayoría de los sistemas UNIX® y en los similares a UNIX, al igual que en los sistemas
Linux. La información impresa dependerá de la distribución y la versión de Linux así como del tipo de
máquina en la cual se ejecute. El Listado 15 muestra los datos de salida de un sistema AMD Athlon 64
ejecutando Ubuntu 9.04.
Historial de comandos
Si usted está escribiendo comandos mientras lee esto, notará que utiliza un mismo comando varias veces, ya
sea exactamente igual o con pequeñas modificaciones. La buena noticia es que el bash shell puede guardar
un historial de sus comandos. El historial se encuentra activado por defecto. Usted puede desactivarlo
utilizando el comando set +o history y volver a activarlo utilizando set -o history. Una variable de entorno
denominada HISTSIZE le dice al bash cuantas líneas del historial guardar. Otra serie de configuraciones
controla el modo de trabajo y la administración del historial. Si desea obtener más información diríjase a las
páginas del manual del bash.
Algunos de los comandos que se pueden utilizar mediante las funciones del historial son:
history
Muestra todo el historial
history N
Muestra las últimas líneas N del historial
history -d N
Elimina la línea N de su historial; usted podría hacer esto si la línea contiene una clave, por ejemplo
!!
Muestra el comando más reciente
!N
Muestra el N comando del historial
!-N
Muestra el comando que se encuentra N comandos atrás en el historial (!-1 es equivalente a !!)
!#
Muestra el comando que usted está escribiendo actualmente
!string
Muestra el comando más reciente que inicia con string
!?string?
Muestra el comando más reciente que contiene string
Usted puede usar también dos puntos (:) seguidos de ciertos valores para acceder a una parte o comando del
historial, o modificarlo. El Listado 16 grafica algunas de las capacidades del historial.
También es posible editar el historial de manera interactiva. El shell bash utiliza la biblioteca readline para
administrar la edición y el historial de los comandos. Por defecto, las teclas y las combinaciones de teclas
utilizadas para moverse dentro del historial o editar las líneas son similares a aquellas utilizadas en el editor
Emacs de GNU . Las combinaciones de pulsaciones de teclas en Emacs por lo general son expresadas como
C-x o M-x, donde x es una tecla común y C y M son las teclas Control y Meta, respectivamente. En un
sistema de PC típico, la tecla Ctrl es equivalente a la tecla Control en Emacs, y la tecla Alt es equivalente
a la tecla Meta. En el Cuadro 3 se pueden observar algunas de las funciones de edición del historial a las
que se puede acceder. Además las combinaciones de teclas que se observan en el Cuadro 3, las teclas de
movimiento del cursor, como las flechas derecha, izquierda, arriba, y abajo, y las teclas Inicio y Fin por
lo general están configuradas para funcionar de una forma lógica. Las funciones adicionales así como el
modo de personalizar estas opciones utilizando un fichero de inicio readline (generalmente inputrc en su
directorio) pueden encontrarse en las páginas de los manuales.
Si desea administrar el historial utilizando el modo de edición tipo vi, utilice el comando set -o vi para pasar
al modo vi. Vuelva al modo emacs utilizando set -o emacs. Al recuperar un comando en modo vi, inicialmente
estará en el modo insert de vi. El editor de vi es explicado en otro de los artículos de esta serie. (Vea Temas
relacionados for the series roadmap).
Si desea saber cuál es el comando que se ejecutará si escribe una cadena en particular, utilice el comando
which o type . El Listado 17 muestra mi ruta predeterminada junto con las ubicaciones de varios comandos.
Tenga en cuenta que la mayoría de los directorios de la ruta terminan en /bin. Esta es una convención
común, pero no es un requerimiento como puede observarse desde /usr/lib/ccache. El comando which
informó que el comando ls es un alias y que el comando set no pudo encontrarse. En este caso, interpretamos
que esto significa que no existe o que se trata de un comando incorporado. El comando type informa que
el comando ls es un alias, pero identifica al comando set como un comando incorporado al shell. También
informa que hay un comando echo incorporado, además del encontrado en /bin por which. Los comandos
también producen datos de salida en diferentes órdenes.
Hemos observado que el comando ls utilizado para listar el contenido de los directorios, es un alias. Los
alias son una forma práctica de configurar algunos comandos para utilizar diferentes series de elementos
predefinidos o para proporcionar alternativas a los nombres de los comandos. En nuestro ejemplo, la opción
--color=tty hace que el listado de directorio sea codificado por colores según el tipo de archivo o directorio.
Pruebe ejecutar dircolors --print-database para ver cómo la codificación por color es controlada y qué colores se
utilizan para cada tipo de archivo.
Cada uno de estos comandos posee opciones adicionales. Según su necesidad, usted puede utilizar uno u
otro comando. Yo tiendo a utilizar which cuando estoy muy seguro de encontrar un ejecutable y sólo necesito
la especificación de su ruta completa. Yo creo que type me proporciona información más precisa, aveces
necesaria sobre el script de un shell.
• Rutas Absolutas que son aquellas que comienzn con /, como aquellas que vimos en el Listado 17 (/bin/
bash, /bin/env, etc).
• Rutas Relativas varían según el tipo de directorio de trabajo actual, según lo informado por el comando
pwd Estos comandos no comienzan con /, pero si contienen al menos una /.
Usted puede utilizar rutas absolutas sin importar cuál sea el directorio en el cual está trabajando actualmente,
pero probablemente utilizará rutas relativas sólo si un comando se encuentra cerca de su directorio actual.
Supongamos que usted está desarrollando una nueva versión del clásico programa "Hello World!" en un
subdirectorio de su directorio principal denominado mytestbin. Usted podría utilizar una ruta alternativa para
ejecutar su comando como mytestbin/hello. Existen dos nombres especiales que usted puede utilizar en una
ruta; un sólo punto (.) se refiere al directorio actual, y un par de puntos (..) se refiere al directorio primario
actual. Dado que su directorio principal por lo general no se encuentra en su RUTA (y generalmente no
debería estarlo), usted necesitará proporcionar explícitamente una ruta para cualquier ejecutable que desee
ejecutar desde su directorio principal. Por ejemplo, si tuviera una copia de su programa hello en su directorio
principal, usted podría ejecutarla utilizando el comando ./hello. Usted puede usar tanto . como .. como parte
de una ruta absoluta, aunque un sólo . no es muy útil en tal caso. Usted puede también usar una virgulilla (~)
para referirse a su directorio principal ~nombre de usuario para referirse al directorio principal del usuario
denominado nombre de usuario. En el Listado 18 se pueden encontrar algunos ejemplos de esto.
En cuanto a los comandos, existe también una variable de entorno, CDPATH, que contiene una serie de
directorios separados por dos puntos que deberían buscarse (además del directorio actual de trabajo) al
resolver rutas relativas. Si en la resolución se utilizó una ruta de CDPATH, cd imprimirá la ruta completa del
directorio resultante como datos de salida. Normalmente, un cambio de directorio exitoso genera solamente
un prompt nuevo y posiblemente modificado. En el Listado 19 pueden encontrarse algunos ejemplos de esto.
La Figura 1 muestra algunos de los elementos típicos de las páginas de los manuales:
• Un encabezado con el nombre del comando seguido de su correspondiente número de sección entre
paréntesis
• El nombre del comando y los comandos relacionados al mismo descriptos en la misma página del
manual
• Un resumen de las opciones y los parámetros aplicables al comando
• Una breve descripción del comando
• Información detallada de cada una de las opciones
Pueden encontrarse otras secciones sobre el uso, el modo de informar las fallas, información sobre el autor, y
una lista de los comandos relacionados. Por ejemplo, las páginas del manual man nos dicen que los comandos
relacionados (y sus secciones del manual) son:
apropos(1), whatis(1), less(1), groff(1), y man.conf(5).
Existen ocho secciones en las páginas de los manuales comunes. Los manuales comunes por lo general se
instalan al instalar un paquete, por lo tanto si usted no ha instalado ningún paquete probablemente no tenga
las páginas del manual correspondientes. De modo similar, algunas de las secciones del manual pueden estar
vacías o casi vacías. Las secciones típicas de los manuales y los ejemplos que estas contienen son:
Otras secciones que podrían encontrarse son 9 relacionada con documentación del kernel de Linux, n
relacionada con la nueva documentación, o relacionada con la documentación antigua, y l relacionada con la
documentación local.
Algunas entradas aparecen en múltiples secciones. Nuestros ejemplos muestran mkdir en las secciones 1 y 2,
y tty en las secciones 1 y 4. Usted puede especificar una sección determinada, por ejemplo, man 4 tty o man 2
mkdir, o usted puede especificar la opción -a para listar todas las secciones del manual que sean pertinentes
Usted puede haber observado en la figura que man posee muchas opciones para explorar por si mismo. Por el
momento, echemos un vistazo a algunos de los comandos "Ver también" relacionados con man.
Ver también
Dos comandos importantes relacionados con man son whatis y apropos. El comando whatis busca en las páginas
de los manuales el nombre que se le da y muestra la información del nombre desde la página del manual
correspondiente. El comando apropos realiza una búsqueda de palabras claves de manuales y listas que
contienen dicha palabra. El Listado 20 muestra estos comandos.
Por cierto, si no puede encontrar las páginas del manual correpondientes a man.conf, pruebe ejecutando man
man.config.
Los datos de salida de las páginas del comando man se visualizan utilizando un programa de paginación. En
la mayoría de los sistemas Linux, es probable que sea el programa less . Otra alternativa pod`ía ser el antiguo
programa more . Si desea imprimir la página, especifique la opción -t para formatear la página para impresión
utilizando el programa groff o troff .
El paginador less posee varios comandos que ayudan a buscar cadenas en los datos de salida visualizados.
Utilice man less para conocer más sobre / (buscar hacia adelante), ? (buscar hacia atrás), y n (repetir la última
búsqueda), entre otros.
Existen además algunas interfaces gráficas en las páginas de los manuales, como por ejemplo xman (from the
XFree86 Project) y yelp (the Gnome 2.0 help browser).
Si no puede encontrar ayuda para utilizar un comando determinado, pruebe ejecutando el comando con
la opción --help . Esto puede proporcionar la ayuda que necesita para utilizar el comando, o decirle cómo
obtenerla.
Sobre el autor
Ian Shields
Ian Shields trabaja en varios proyectos de Linux para la zona Linux de developerWorks. Es
programador sénior en IBM en Research Triangle Park, NC. Se unió a IBM en Canberra,
Australia, como ingeniero de sistemas en 1973 y desde entonces viene trabajando con sistemas
de comunicaciones e informática ubicua en Montreal, Canadá, y RTP, NC. Tiene varias
patentes. Tiene diplomatura en matemática pura y filosofía por la Universidad Nacional de
Australia. Tiene maestría y doctorado en ciencia de computación por la Universidad del
Estado de North Carolina. Puede contactar a Ian a través de ishields@us.ibm.com.