Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 103 LPIC-1 - Usos de La Linia de Comandos PDF
Tema 103 LPIC-1 - Usos de La Linia de Comandos PDF
Esta sección proporciona una breve introducción a algunas de las principales características del shell bash y se detiene
especialmente en las características más importantes a fines de la certificación. Sin embargo, shell es un entorno muy rico y se
recomienda explorarlo con mayor profundidad. Existen muchos manuales excelentes dedicados a shells de UNIX y Linux y al
shell bash en particular.
El shell bash
El shell bash es uno de los numerosos shells disponibles para Linux. También recibe el nombre de Bourne-againshell, 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 funciones como en las de programación. Bash incorpora características del shell
Korn (ksh) y del shell C (csh) y está diseñado en conformidad con el estándar POSIX.
Antes de ahondar en bash, recuerde que un shell es un programa que acepta y ejecuta comandos. También soporta
construcciones 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 como archivos para convertirse en comandos en sí mismos. De hecho,
muchos de los comandos dentro de un típico sistema Linux son scripts.
Los shells tienen una serie de comandos incorporados como cd,breakyexec. Otros comandos son externos.
stdin es el flujo de entrada estándar y proporciona los datos de entrada a los comandos.
stdout es el flujo de salida estándar y muestra los datos de salida de los comandos.
stderr es el flujo de error estándar y muestra datos de salida de error de los comandos.
Los flujos de entrada proporcionan datos de entrada a los programas, normalmente a partir de la pulsación de teclas de la
terminal. Los flujos de salida imprimen caracteres de texto, normalmente a una terminal. La terminal originalmente era un
typewriter ASCII o una terminal de visualización, pero en la actualidad es más frecuente que se trate de una ventana en un
escritorio gráfico. En una sección posterior de este tutorial, Flujos, canalizaciones y redireccionamientos, se analiza con
mayor profundidad el redireccionamiento de estos flujos de entrada/salida estándar. A continuación, esta sección se centrará
en el redireccionamiento en el nivel superior.
En adelante, este tutorial considerará que usted sabe cómo obtener un shell prompt. De lo contrario, consulte el artículo de
developerWorks "Basic tasks for new Linux developers" que le explicará éste y muchos temas más.
Si usted usa un sistema Linux sin escritorio gráfico o si abre una ventana de terminal en un escritorio gráfico, visualizará un
prompt igual o similar a alguno de los mostrados en el Listado 1.
Si inicia sesión como usuario root (o superusuario), su prompt probablemente sea como el mostrado en el Listado 2.
El usuario root tiene mucho poder, por lo cual se recomienda ser cuidadoso al usarlo. Con privilegios root, la mayoría de los
prompts incluirán un signo numeral (#) añadido. Los privilegios de usuarios comunes suelen delinearse con un carácter
diferente, a veces un signo de moneda ($). Su prompt puede ser distinto a los ejemplos proporcionados en este tutorial. Su
prompt podría incluir su nombre de usuario, nombre de host, directorio actual, fecha u hora de impresión del prompt, etc.
Comandos y secuencias
Ahora que tenemos el prompt, veamos qué podemos hacer con él. La principal función de shell es interpretar los comandos
para permitirle interactuar con su sistema Linux. En los sistemas Linux (e UNIX), los comandos tienen un nombre de
comando y cuentan con opciones y parámetros. Algunos comandos no tienen ni opciones ni parámetros, otros tienen opciones
pero carecen de parámetros, y otros carecen de opciones pero tienen parámetros.
Cuando una línea contiene un carácter #, todo el resto de los caracteres de la línea se ignoran. Entonces, el carácter # puede
estar indicando tanto un comentario como un prompt root. El contexto indicará claramente de qué caso se trata.
Echo
El comandoechoimprime sus argumentos (o hace eco de ellos) a la terminal, como muestra el Listado 3.
En el tercer ejemplo del Listado 3, todos los espacios sobrantes se comprimieron en un único espacio en los datos de salida.
Para que esto no suceda, debe colocar comillas en las cadenas, ya sean dobles (") o simples ('). Bash usa el espacio en blanco,
como los espacios vacíos, las tabulaciones y los caracteres de nueva línea, para separar la línea de entrada en tokens, que
luego se pasan al comando. Colocar las cadenas entre comillas conserva el espacio vacío adicional y convierte a toda la
cadena en un único token. En el ejemplo anterior, cada token posterior al nombre de comando es un parámetro, por lo tanto,
tenemos los parámetros 1, 2, 4 y 1, respectivamente.
El comando echo tiene algunas opciones. Generalmente, echo anexará a los datos de salida un carácter de nueva línea
añadido. Use la opción-npara suprimirlo. Use la opción-epara permitir que ciertos caracteres de escape de barra invertida
tengan un significado especial. La Tabla 3 muestra algunos caracteres de este tipo.
Tabla 3. Caracteres echo y de escape
Secuencia Función
de escape
\a Alerta (campana)
\b Retroceso
\c Suprimir nueva línea añadida (cumple la misma función que la opción -n)
\f Avance de página (limpia la pantalla de un visor de video)
\n Nueva línea
\r Retorno de carro
\t Tabulación horizontal
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 3 of 13
Obsérvese que bash muestra un prompt especial (>) cuando se ingresa una línea con comillas sin cerrar. El flujo de entrada
continúa en una segunda línea incluye el carácter de nueva línea.
Metacaracteres y operadores de control del shell bash
Bash tiene varios metacaracteres, que, cuando no aparecen entre comillas, sirven para separar los datos de entrada en
palabras. Además del espacio en blanco, estos son '|', '&', ';', '(', ')', '<' y '>'. Explicaremos algunos de estos caracteres con
mayor profundidad en otras secciones de este tutorial. Por el momento, considere que si desea incluir un metacarácter como
parte del texto, éste deberá aparecer o bien entre comillas o como carácter de escape, usando una barra invertida (\), como
muestra el Listado 4.
La nueva línea y ciertos metacaracteres o pares de metacaracteres también pueden usarse como operadores de control. Estos
son '||', '&&', '&', ';', ';;', '|'' '(' y ')'. Algunos de estos operadores de control permiten crear secuencias o listas de comandos.
La secuencia de comandos más sencilla se compone de tan solo dos comandos separados por un punto y coma (;). Cada
comando se ejecuta en secuencia. En entornos programables, los comandos devuelven una indicación de éxito o falla. Los
comandos Linux suelen devolver un valor cero en casos de éxito y un valor distinto a cero en casos de fallas. Puede ingresar
algún tipo de procesamiento condicional en su lista usando los operadores de control && y ||. Si separa dos comandos con el
operador de control &&, el segundo se ejecutará si y sólo si el primero devuelve un valor de salida de cero. Si separa los
comandos con ||, el segundo se ejecutará sólo si el primero devuelve un código de salida distinto a cero. El Listado 5 muestra
algunas secuencias de comandos que usan el comando echo. Estas primeras no son demasiado interesantes porque, en ellas,
echo devuelve 0. Más adelante mostraremos otros ejemplos que permiten usar una mayor variedad de comandos.
Exit
Un shell puede cerrarse usando el comandoexit. Puede proporcionar un código exit como parámetro, si así lo desea. Si está
ejecutando el shell en una ventana de terminal en un escritorio gráfico, la ventana se cerrará. Asimismo, si está conectado con
un sistema remoto usando, por ejemplo, ssh o telnet, su conexión finalizará. En el shell bash, también puede presionar la
teclaCtrljunto con la tecla d para salir.
Analicemos otro operador de control. Si adjunta un comando o una lista de comandos entre paréntesis, el comando o la
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 4 of 13
secuencia se ejecutará en un subshell, es decir que el comando exit saldrá del subshell en lugar de salir del shell en el que está
trabajando. El Listado 6 muestra un ejemplo simple de secuencias y de && y ||.
Variables de entorno
Cuando se ejecuta en un shell bash, el entorno se constituye de varios elementos, como la forma del prompt, su directorio
principal, su directorio en funcionamiento, el nombre de su shell, los archivos que ha abierto, las funciones que ha definido,
etc. Su entorno incluye numerosas variables que pueden haber sido establecidas por bash o por usted. El shell bash también le
permite tener variables shell, que podrá exportar a su entorno para que sean usadas por otros procesos que se ejecutan en el
shell u otros shells que usted puede haber generado a partir del shell actual.
Tanto las variables de entorno como las variables de shell tienen un nombre. El valor de una variable se referencia usando '$'
antes del nombre. La Tabla 4 muestra algunas de las variables de entorno bash más comunes.
Tabla 4. Algunas variables de entorno bash comunes
Nombre Función
USER Nombre del usuario que inició sesión
UID Identificador de usuario numérico del usuario que inició sesión
HOME Directorio principal del usuario
PWD Directorio en funcionamiento
SHELL Nombre del shell
$ Identificador de proceso (o PID) del proceso de shell bash (u otro) en ejecución
PPID Identificador de proceso del proceso que inició este proceso (es decir, el
identificador del proceso primario)
? Código de salida del último comando
El Listado 7 muestra lo que probablemente verá en algunas de estas variables bash comunes.
usa el comandoexport. Como atajo, con bash es durante la preparación para el examen de LPI.
posible asignar un valor y exportar una variable
en un sólo paso.
Para ejemplificar las operaciones de asignación y exportación, ejecutemos el comando bash en el shell bash y luego
ejecutemos el shell Korn (ksh) desde el nuevo shell bash. Usaremos el comandopspara visualizar información acerca del
comando que se encuentra en ejecución. Ampliaremos nuestros conocimientos depscuando expliquemos el estado de
procesos más adelante en este tutorial.
Notas:
1. Al inicio de esta secuencia, el shell bash tenía el PID 30576.
2. El segundo shell bash tiene el PID 16353, y su shell primario es PID 30576, el shell bash original.
3. Creamos VAR1, VAR2 y VAR3 en el segundo shell bash, pero solamente exportamos VAR2 y VAR3.
4. En el shell Korn, creamos VAR4. El comandoechomostró valores únicamente para VAR2, VAR3 y VAR4;
confirmando que VAR1 no se exportó ¿Le sorprendió ver que el valor de la variable SHELL no cambió pese al cambio
del prompt? No siempre se puede esperar que SHELL le informe bajo qué shell está ejecutando, pero el comandopssí
le indicará el comando real. Observe quepscoloca un guión (-) enfrente del primer shell bash para indicar que se trata
del shell de inicio de sesión.
5. Volviendo al segundo shell bash, vemos a VAR1, VAR2 y VAR3.
6. Y, por último, al volver al shell original, vemos que ninguna de nuestras nuevas variables existe aún.
Anteriormente señalamos que se podían usar comillas simples o dobles. Hay una gran diferencia entre las dos. El shell
expande las variables shell que se encuentran entre comillas dobles ($quot;), y no realiza la expansion si se usan comillas
simples ('). En el ejemplo anterior, iniciamos otro shell dentro de nuestro shell y obtuvimos un nuevo identificador de proceso.
Con la opción-c, es posible pasar un comando al otro shell, el cual ejecutará el comando y volverá. Si pasamos una cadena
entre comillas como comando, el shell externo quitará las comillas y pasará la cadena. Si usamos comillas dobles, la
expansión de variables se realizará antes de que se pase la cadena, por lo cual los resultados pueden no ser los esperados.
Como el shell y el comando se ejecutarán en otro proceso, tendrán otro PID. El Listado 9 ejemplifica estos conceptos. El PID
del shell bash de nivel superior se encuentra resaltado.
|-------- XML error: La línea anterior es más larga que 90 caracteres ---------|
ian]$ bash -c 'echo Expand in child $$ $PPID' Expand in child
1929719244
Hasta ahora, todas nuestras referencias de variables terminaron con espacio en blanco y esto nos indicó dónde terminaba el
nombre de variable. En realidad, los nombres de variables sólo pueden estar compuestos por letras, números o el carácter
guión bajo y, por consiguiente, el shell sabe que un nombre de variable ha terminado cuando encuentra un carácter de otro
tipo. A veces es necesario usar variables en expresiones cuyo significado resulta ambiguo. En estos casos, puede usar llaves
para delimitar un nombre de variable, como muestra el Listado 10.
Env
El comandoenvsin opciones ni parámetros muestra las variables del entorno actual. También puede usarse 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-udesactiva las variables de entorno que usted no desee pasar.
El Listado 11 muestra datos de salida parciales del comandoenvsin ningún parámetro y luego tres ejemplos de invocación de
diferentes shells sin el entorno primario. Observe con atención estos ejemplos antes de pasar a la explicación.
Observe que bash estableció la variable SHELL pero no la exportó al entorno, aunque sí creó otras tres variables 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 devuelve una línea en blanco. Finalmente, tcsh no creó ninguna variable de entorno y produce un error ante el intento
de referenciar el valor de SHELL.
Unset y set
El Listado 11 mostró distintos comportamientos de los shells en el manejo de variables y entornos. Si bien este tutorial se
centra en bash, cabe destacar que no todos los shells se comportan de la misma manera. Además, los shells se comportan de
diferentes maneras dependiendo de si se trata de shells de inicio de sesión o no. Por el momento, nos quedaremos con el
concepto de que un shell de inicio de sesión es el shell que se obtiene cuando se inicia sesión en un sistema; es posible iniciar
otros shells para que se comporten como shells de inicio de sesión si lo desea. Los tres shells que se iniciaron en el ejemplo
anterior usandoenv -ino eran shells de inicio de sesión. Pruebe pasar la opción-lal comando shell propiamente dicho para
ver las diferencias que obtendría con un shell de inicio de sesión.
Analicemos nuestro intento de visualizar el valor de la variable SHELL en estos shells que no son shells de inicio de sesión:
1. Cuando se inició bash, éste activó la variable SHELL, pero no la exportó automáticamente al entorno.
2. Cuando se inició ksh, éste no activó la variable SHELL. Sin embargo, la referenciación de una variable de entorno no
definida resulta equivalente a la referenciación de una variable con valor vacío.
3. Cuando se inició tcsh, éste no activó la variable SHELL. En este caso, el comportamiento predeterminado es diferente
al de ksh (y bash), ya que el error se informa ante el intento de usar una variable.
Puede usar el comandounsetpara desactivar una variable y quitarla de la lista de variables shell. Si la variable se exportó al
entorno, esta operación también la quitará del entorno. Puede usar el comandosetpara controlar varias facetas del
funcionamiento de bash (o de otros shells). Set es un comando incorporado a shell, por lo tanto, sus distintas opciones son
específicas para shell. En bash, la opción-uhace que bash informe un error en casos de variables no definidas en lugar de
tratarlas como variables definidas pero vacías. Puede activar las distintas opciones desetcon-y desactivarlas con+. Para
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 7 of 13
Si usa el comandosetsin opciones, éste mostrará todas las variables shell con sus valores (de haberlos). También se puede
usar otro comando,declare, para crear, exportar y visualizar valores de variables shell. Puede investigar el resto de las
opciones desety del comandodeclaremediante las páginas man. Nos referiremos a las páginas man más adelante en esta
sección.
Exec
El último comando que explicaremos en esta sección esexec. Puede usar el comandoexecpara ejecutar otro programa que
reemplace al shell actual. En el Listado 13 se inicia un shell bash secundario y luego se usaexecpara reemplazarlo por un
shell Korn. Luego de salir del shell Korn, se vuelve al shell bash original (en este ejemplo, PID 22985).
Historial de comandos
Si usted está ingresando comandos mientras sigue este tutorial, probablemente habrá notado que se usó varias veces un mismo
comando, o un mismo comando con cambios mínimos. Una buena noticia es que el shell bash puede mantener un historial de
sus comandos. El historial está activado de manera predeterminada. Puede desactivarlo usando el comandoset +o
historyy volverlo a activar usandoset -o history. La variable de entorno denominada HISTSIZE le indica a bash la
cantidad de líneas a mantener en el historial. Otra serie de configuraciones controlan el funcionamiento y la gestión del
historial. Para obtener información completa acerca de este tema, consulte las páginas man de bash.
Algunos de los comandos que pueden usarse con la facilidad de historial son:
history
Muestra todo el historial
history N
Muestra las últimas líneasNde su historial
history -dN
Elimina una líneaNde su historial; puede usar este comando cuando, por ejemplo, una línea contiene una contraseña
!!
Muestra el comando más reciente
!N
Muestra el comando del historial en la posiciónN
!-N
Muestra el comando que se encuentraNcomandos atrás en el historial (!-1 es equivalente a !!)
!#
Muestra el comando actual que está ingresando en el momento
!string
Muestra el comando más reciente que comienza constring
!?string?
Muestra el comando más reciente que contienestring
Además, puede usar los dos puntos (:) seguidos por ciertos valores para acceder o para modificar una parte o un comando de
su historial. El Listado 14 muestra algunas capacidades del historial.
También es posible editar el historial de forma interactiva. El shell bash usa la biblioteca readline para gestionar la edición y
el historial de comandos. Las teclas y combinaciones de teclas predeterminadas para desplazarse dentro del historial o las
líneas de edición son similares a las usadas en el editor Emacs de GNU. Las combinaciones de pulsación de teclas Emacs
suelen expresarse de la siguiente manera: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 funciona como la tecla Control de Emacs y la tecla Alt Funciona
como la tecla Meta. La Tabla 5 resume algunas de las funciones de edición del historial disponibles. Además de las
combinaciones de teclas mostradas en la Tabla 5, las teclas de movimiento del cursor (flechas derecha, izquierda, arriba y
abajo) y las teclas Home (Inicio) y End (Fin) generalmente están configuradas para funcionar de manera lógica. Consulte las
páginas man para obtener información acerca de funciones adicionales y de cómo personalizar estas opciones usando un
archivo readline init (generalmente, inputrc de su directorio principal).
Tabla 5. Edición del historial con comandos emacs
Rutas
Algunos comandos bash están incorporados, mientras que otros son externos. Analicemos ahora los comandos externos, cómo
ejecutarlos y cómo saber si un comando es interno.
¿Dónde encuentra los comandos el shell?
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 9 of 13
Los comandos externos son simplemente archivos que se encuentran dentro de su sistema de archivos. La sección posterior,
Gestión básica de archivos, de este tutorial y del tutorial para el Tema 104 abordan el tema en mayor profundidad. En sistemas
Linux y UNIX, se accede a todos los archivos como parte de un mismo gran árbol con raíz en /. En los ejemplos
proporcionados hasta el momento, nuestro directorio actual fue el directorio principal del usuario. Los usuarios no root suelen
tener un directorio dentro del /home directory (directorio principal), por ejemplo: /home/ian, en mi caso. El directorio
principal de root suele ser /root. Al ingresar un nombre de comando, bash busca dicho comando en suruta, la cual es una lista
de directorios separados por comas dentro de la variable de entorno PATH.
Si desea saber qué comando se ejecutará si ingresa una cadena en particular, use el comandowhichotype. El Listado 15
muestra mi ruta predeterminada junto con las ubicaciones de varios comandos.
Obsérvese que todos los directorios incluidos en la ruta terminan en /bin. Esta es una convención común, pero no es un
requisito. El comandowhichinformó que el comandolses unaliasy que no se pudo encontrar el comandoset. En este caso,
interpretamos que, o bien el comando no existe, o se trata de un comando incorporado. El comandotypeinforma que el
comandolses unaliaspero identifica al comandosetcomo un comando incorporado a shell. También informa que existe un
comandoechoincorporado además del quewhichencontró en /bin. Los dos comandos también producen datos de salida en
diferentes órdenes.
Vimos que el comandols, usado para listar el contenido de directorios, es unalias. Los alias son una forma práctica de
configurar algunos comandos para usar diferentes conjuntos de elementos predeterminados o para proporcionar un nombre
alternativo a un comando. En nuestro ejemplo, la opción--color=ttyhace que los listados de directorios aparezcan
codificados por colores en base al tipo de archivo o directorio. Pruebe ejecutardircolors --print-databasepara ver
cómo se controlan los códigos por color y qué color se usa para cada tipo de archivo.
Estos comandos tienen otras opciones adicionales. Elija el comando que mejor responda a sus necesidades. Personalmente,
suelo usarwhichcuando estoy casi seguro de que encontraré el ejecutable y solamente necesito obtener su especificación de
ruta completa. Creo quetypeproporciona información más precisa, que puede ser necesaria en un shell script.
Puede usar rutas absolutas sin importar cuál sea su directorio en funcionamiento, pero probablemente sólo pueda usar rutas
relativas cuando el comando esté cerca de su directorio actual. Supongamos que nos encontramos desarrollando una nueva
versión del clásico programa "Hello World!" en un subdirectorio de su directorio principal llamado mytestbin. Podría usar la
ruta relativa para ejecutar sus comandos comomytestbin/hello. Puede usar dos nombres especiales en una ruta; un sólo
punto (.) hace referencia al directorio actual, y dos puntos seguidos (..) hace referencia al directorio actual primario. Debido a
que su directorio principal no suele ni (por lo general) debe estar en su PATH, deberá explicitar una ruta para todo ejecutable
que quiera ejecutar desde su directorio principal. Por ejemplo, si tuviera una copia del programa hello en su directorio
principal, podría ejecutarlo usando el comando./hello. Puede usar tanto. como .. como parte de una ruta absoluta, aunque
un sólo . no resulta demasiado útil en un caso como éste. También puede usar una virgulilla (~) para referirse a su propio
directorio principal y ~usernamepara referirse al directorio principal del usuario llamadousername. El Listado 16 muestra
algunos ejemplos.
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 10 of 13
Sustitución de comandos
El shell bash tiene una capacidad muy potente que permite usar los resultados de un comando como datos de entrada de otro
comando; esto se denominasustitución de comandos. La sustitución de comandos puede llevarse a cabo ingresando entre
acentos graves (`) el comando cuyos resultados se desean usar. Esta forma se sigue usando con frecuencia; sin embargo, una
opción que resulta más sencilla cuando se trabaja con comandos anidados múltiples es ingresar el comando entre $( y ).
En el tutorial anterior, "LPI exam 101 prep (topic 102): Linux installation and package management," vimos que el
comandorpmpodía indicar de cuál paquete proviene un comando; en ese caso, usamos la capacidad de sustitución de
comandos, que resultó una técnica práctica. Ahora realmente comprendemos lo que estábamos haciendo.
La sustitución de comandos es una herramienta muy valiosa en los shell scripts y también resulta útil en la línea de comandos.
El Listado 18 muestra un ejemplo de cómo obtener una ruta absoluta de un directorio desde una ruta relativa, cómo averiguar
qué RPM proporciona el comando /bin/echo y cómo listar (como root) los rótulos de tres particiones en un disco duro. Por
último, se usa el comandoseqpara generar una secuencia de números enteros.
Páginas man
El último tema de esta sección del tutorial explica cómo obtener documentación de comandos Linux a través de páginas
manuales y otras fuentes de documentación.
Páginas y secciones manuales
La principal (y tradicional) fuente de documentación son laspáginas manuales, a las cuales se puede acceder usando el
comandoman. La Figura 1 muestra la página manual del comandoman. Use el comandoman manpara visualizar esta
información.
Un encabezado con el nombre del comando seguido por su correspondiente número de sección entre paréntesis
El nombre del comando y de todos los comandos relacionados que se describen en esta página man
Una sinopsis 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 existir otras secciones que proporcionen descripciones del uso, expliquen cómo informar errores y brinden
información acerca del autor y una lista de comandos relacionados (de haberlos). Por ejemplo, la página man demannos
informa que los comandos relacionados (y sus secciones manuales) son:
Al observar la figura anterior, probablemente haya notado quemantiene numerosas opciones. Puede estudiar dichas opciones
por su cuenta. Por el momento, nos referiremos a algunos de los comandos incluidos en "See also" (Ver también) que se
relacionan conman.
See also
Dos comandos importantes relacionados conmansonwhatisyapropos. El comandowhatisbusca páginas man con el nombre
por usted ingresado y muestra la información de nombres de las páginas manuales pertinentes. El comandoaproposrealiza
una búsqueda de palabras claves en las páginas manuales y lista las que contienen las palabras claves ingresadas. El Listado
19 muestra estos comandos.
Por cierto, si no logra encontrar la página manual de man.conf, inténtelo ejecutandoman man.config.
Los datos de salida de las páginas del comandomanse visualizan usando un programa de paginación. En la mayoría de los
sistemas Linux, suele ser el programaless. Otra posibilidad es un programa más antiguo llamadomore. Si desea imprimir la
página, especifique la opción-tpara dar formato de impresión a la página usando el programagroffotroff.
El paginador less tiene varios comandos para buscar cadenas dentro de los datos de salida mostrados. Useman lesspara
conocer más acerca de/(buscar hacia delante),?(buscar hacia atrás), yn(repetir última búsqueda), entre muchos otros
comandos.
Preparación para el examen 101 de LPI: Comandos GNU y UNIX Page 13 of 13