man page (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Las páginas man (abreviatura de "páginas del manual") son una extensa documentación que viene preinstalada en casi todos los sistemas operativos derivados de UNIX más importantes incluyendo Arch Linux. El comando para mostrarlas es man.

Contrario a su ámbito, las páginas del manual están diseñadas para ser documentos autocontenidos, limitándose consecuentemente a enlazar a otras páginas del manual cuando se discuten temas relacionados. Esto contrasta bastante con los archivos info con conocimiento de hipervínculos, el intento de GNU para remplazar el formato tradicional de las páginas del manual.

Acceder a las páginas del manual

Para leer una página de manual, introduzca:

$ man nombre_de_página

Los manuales se ordenan en varias secciones:

  1. Comandos generales
  2. Llamadas al sistema (funciones proveídas por el kernel)
  3. Llamadas a librerías (funciones de la librería de C)
  4. Ficheros especiales (normalmente se encuentran /dev) y controladores
  5. Formatos de archivos y convenciones
  6. Juegos
  7. Miscelánea (incluye convenciones)
  8. Comandos de administración de sistemas (normalmente requiere privilegios de superusuario) y demonios

Generalmente, para indicar las páginas del manual se suelen usar el nombre seguido del número entre paréntesis de la sección a la que pertenece. A menudo , existen múltiples páginas del manual con el mismo nombre, como man(1) y man(7). En este caso, pásele a man como argumentos el número de sección seguido del nombre, por ejemplo:

$ man 5 passwd

para leer la página del manual sobre /etc/passwd, en vez de la página sobre el propio comando passwd.

Descripciones de una línea de las páginas del manual pueden mostrarse usando el comando whatis. Por ejemplo, para una breve descripción de las páginas de secciones del manual sobre ls, escriba:

$ whatis ls
ls (1p)              - lista el contenido de directorios
ls (1)               - lista el contenido de directorios

Formato

Todas las páginas del manual siguen un formato prácticamente estándar, lo que ayude a navegar por ellas. Algunas secciones que suelen estar presentes son:

  • NAME - El nombre del comando y una frase de una línea que enuncie su propósito.
  • SYNOPSIS - Una lista de las opciones y argumentos que toman el comando o los parámetros que la función toma y su fichero de cabecera.
  • DESCRIPTION - Una descripción más detallada del propósito y mecanismos del comando o función.
  • EXAMPLES - Ejemplos comunes, generalmente del más simple al más complejo.
  • OPTIONS - Descripciones de cada una de las opciones que toma el comando y que hacen.
  • EXIT STATUS - El significado de los distintos códigos de salida.
  • FILES - Fichero relacionados con el comando o función.
  • BUGS - Problemas que el comando o función que están pendientes de ser subsanados. También conocido como KNOWN BUGS.
  • SEE ALSO - Una lista de comandos o funciones relacionadas.
  • AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY - Información sobre el programa, su pasado, sus términos de uso, y su creador.
Nota: He dejado a propósito los nombres de las secciones en inglés porque no existe un paquete en los repositorios oficiales actualizado con la traducción al español. Creo que, de esta manera, será más fácil hacer indicaciones usando los nombres de las distintas secciones.

Buscando manuales

Aunque el comando man permite a los usuarios mostrar las páginas del manual, surge un problema que es cuando uno no se sabe en primera instancia el nombre exacto de la página del manual. Afortunadamente, los parámetros -k o --apropos pueden usarse para buscar en las descripciones de las páginas del manual por apariciones de una palabra clave dada.

La característica de búsqueda es proporcionada por una caché dedicada. Por defecto puede no tener ninguna cache creada y todas sus búsquedas generarán el resultado nada apropiado. Puede generar o actualizar la cache ejecutando

# mandb

Es recomendable ejecutarlo cada vez que se instala una nueva página del manual.

Ahora puede iniciar su búsqueda. Por ejemplo, para buscar páginas del manual relacionadas con "password":

$ man -k password

o:

$ man --apropos password

Esto es equivalente a llamar al comando apropos:

$ apropos password

La palabra clave suministrada es interpretada como una expresión regular por defecto.

Si quiere hacer una búsqueda en profundidad mediante coincidencia de las palabras clave a lo largo de los artículos, puede usar la opción -K:

$ man -K password

Páginas del manual coloreadas

Las páginas del manual a color permiten una presentación más clara y una lectura del contenido más fácil. Existen dos métodos predominantes para conseguir páginas del manual en color: usando less, u optar por most.

Usando less (Recomendado)

Fuente: Colores de less para páginas del manual | Linux Tidbits

Este método tiene la ventaja que less tiene un conjunto de características mas grande que most, y es el usado por defecto para visualizar las páginas del manual.

Añada lo siguiente a su archivo de configuración del intérprete de órdenes. Para Bash sería:

~/.bashrc
man() {
    env LESS_TERMCAP_mb=$'\E[01;31m' \
    LESS_TERMCAP_md=$'\E[01;38;5;74m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[38;5;246m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[04;38;5;146m' \
    man "$@"
}

Para ver los cambios en las páginas del manual (sin reiniciar bash o linux), puede ejecutar:

# source ~/.bashrc

Para Fish un fichero de configuración sería:

~/.config/fish/config.fish
set -xU LESS_TERMCAP_mb (printf "\e[01;31m")      # iniciar parpadeo
set -xU LESS_TERMCAP_md (printf "\e[01;31m")      # iniciar negrita
set -xU LESS_TERMCAP_me (printf "\e[0m")          # finalizar modo
set -xU LESS_TERMCAP_se (printf "\e[0m")          # finalizar modo resaltado
set -xU LESS_TERMCAP_so (printf "\e[01;44;33m")   # iniciar modo resaltado - caja de información
set -xU LESS_TERMCAP_ue (printf "\e[0m")          # finalizar subrayado
set -xU LESS_TERMCAP_us (printf "\e[01;32m")      # comenzar subrayado

Para ver los cambios en las páginas del manual (sin reiniciar fish o linux), puede ejecutar:

# source ~/.config/fish/config.fish

Para personalizar los colores, vea Código escape ANSI para más referencias.

Usando most (No recomendado)

La función básica de 'most' es similar a less y more, pero tiene un conjunto de características más pequeño. Configurando most para usar colores es más fácil que usar less, pero es necesario configuraciones adicionales para hacer que most se comporte como less. Instale el paquete most de los repositorios oficiales.

Edite /etc/man_db.conf, descomente la definición del visualizador(pager) y cámbielo a:

DEFINE     pager     most -s

Pruebe la nueva configuración con:

$ man _cualquier\_página\_del\_manual_

Modificar los valores de colores requiere editar ~/.mostrc (crear el fichero si no está presente) o editar /etc/most.conf para cambios de todo el sistema. Ejemplo de ~/.mostrc:

% Configuración de colores
color normal lightgray black
color status yellow blue
color underline yellow black
color overstrike brightblue black

Otro ejemplo mostrando atajos de teclado similares a less (saltar a línea está configurado con 'J'):

% atajos de teclado estilo less
unsetkey "^K"
unsetkey "g"
unsetkey "G"
unsetkey ":"

setkey next_file ":n"
setkey find_file ":e"
setkey next_file ":p"
setkey toggle_options ":o"
setkey toggle_case ":c"
setkey delete_file ":d"
setkey exit ":q"

setkey bob "g"
setkey eob "G"
setkey down "e"
setkey down "E"
setkey down "j"
setkey down "^N"
setkey up "y"
setkey up "^Y"
setkey up "k"
setkey up "^P"
setkey up "^K"
setkey page_down "f"
setkey page_down "^F"
setkey page_up "b"
setkey page_up "^B"
setkey other_window "z"
setkey other_window "w"
setkey search_backward "?"
setkey bob "p"
setkey goto_mark "'"
setkey find_file "E"
setkey edit "v"

Páginas del manual a color en xterm o rxvt-unicode

Fuente: Fichero de recursos XFree para el programa XTerm[enlace roto 2020-08-04][enlace roto 2013-09-10]

Una manera rápida de añadir color a páginas del manual en xterm/uxterm o rxvt-unicode es modificar el fichero ~/.Xresources.

xterm

*VT100.colorBDMode:     true
*VT100.colorBD:         red
*VT100.colorULMode:     true
*VT100.colorUL:         cyan

que reemplaza las decoraciones con colores. Añada también:

*VT100.veryBoldColors: 6

Si quiere colores y decoraciones (negrita o subrayado) al mismo tiempo. Vea xterm(1) para una descripción del recurso veryBoldColors.

rxvt-unicode

URxvt.colorIT:      #87af5f
URxvt.colorBD:      #d7d7d7
URxvt.colorUL:      #87afd7

Ejecute:

$ xrdb -load ~/.Xresources

Lance una nueva instancia de xterm/uxterm o rxvt-unicode y debería poder ver las páginas del manual a color. Esta combinación pone colores a palabras en negrita y subrayadas en xterm/uxterm o texto en negrita, subrayado, y en cursiva en rxvt-unicode. Puede jugar con las diferentes variaciones de estos atributos (vea las fuentes[enlace roto 2020-08-04] de este item).

Leyendo páginas del manual locales

En vez de usar la interfaz estándar, usar navegadores como lynx y Firefox para ver las páginas del manual permite a los usuarios sacarle partido al principal beneficio de las páginas info: el texto con hipervínculos.

Los usuarios de KDE pueden leer las páginas del manual en Konqueror con:

man:<name>

Existen dos alternativas en los repositorios oficiales:

1. xorg-xman proporciona una vista categorizada de las páginas del manual en X.

2. El navegador de ayuda de GNOME yelp, es una manera más clara pero tiene algunas dependencias.

Convertir a HTML legible por el navegador

mandoc

Instale mandoc desde AUR. Para convertir una página, por ejemplo free(1):

$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html

Ahora abra el fichero llamado free.html en su navegador favorito.

man2html

Primero, instale man2html desde los repositorios oficiales.

Ahora, convierta de esta forma una página del manual:

$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html

Otro uso para man2html es exportar texto a un formato virgen listo para imprimir:

$ man free | man2html -bare > ~/free.txt

man -H

La implementación GNU de man en los repositorios de Arch también tiene la habilidad de hacer esto mismo por si solo:

$ man -H free

Esto buscará la variable de entorno BROWSER para determinar que navegador usa por defecto. Puede invalidar este comportamiento pasándole el binario a la opción -H.

roffit

Primero instale roffitAUR desde AUR.

Para convertir una página del manual:

$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html

Convertir a PDF

Las páginas del manual siempre han sido imprimibles: están escritas en troff, que esencialmente es un lenguaje de composición tipográfica. Si tiene ghostscript instalado, convertir una página de manual a PDF es realmente sencillo: man -t <manpage> | ps2pdf - <pdf>. Esta búsqueda de imágenes en google debería darle una idea de como queda el resultado; Puede no ser a gusto de todos.

Advertencia: Las fuentes están generalmente limitadas a Times a tamaños prefijados. No tiene hipervínculos. Algunas páginas del manual fueron específicamente diseñadas para verlas en terminal, y por ello no se visualizarán correctamente en PS o en PDF.

El siguiente script en perl convierte las páginas del manual a PDFs, cachea los PDFs en el directorio $HOME/.manpdf/, y llama a un visor de PDFs, concretamente mupdf.

Uso: manpdf [<section>] <manpage>
#!/usr/bin/perl
use File::stat;

$pdfdir = $ENV{"HOME"}."/.manpdf";
-d $pdfdir || mkdir $pdfdir || die "No se pudo crear $pdfdir";
$manpage = $ARGV[0];
chop($manpath = `man -w $manpage`);
die if $?;

$maninfo = stat($manpath) or die;
$manpath =~ s@.*/man./(.*)(\.(gz|bz2))?$@$1@;
$pdfpath = "$pdfdir/$manpath.pdf";
$pdftime = 0;
if (-f $pdfpath) {
    $pdfinfo = stat($pdfpath) or die;
    $pdftime = $pdfinfo->mtime;
}
if (!-f $pdfpath || $maninfo->mtime > $pdftime) {
    system "man -t $manpage | ps2pdf -dPDFSETTINGS=/screen - $pdfpath";
}
die if !-f $pdfpath;
if (!fork) {
    open(STDOUT, "/dev/null");
    open(STDERR, "/dev/null");
    exec "mupdf", "-r", "96", $pdfpath;
    #exec "acroread", $pdfpath;
}

Páginas del manual online

Existen numerosas bases de datos de páginas de manual online, incluyendo:

Advertencia: Algunas distribuciones proporcionan páginas de manual parcheadas u obsoletas que difieren de aquellas proporcionadas por Arch. Sea cauto al usar páginas de manual online.

Páginas del manual de especial interés

A continuación se muestra una lista no exhaustiva de páginas de especial interés que podrían ayudarle a comprender muchas cosas en mayor profundidad. Algunas de ellas podrían servir como buena referencia(como la tabla ascii).

  • ascii(7)
  • boot(7)
  • charsets(7)
  • chmod(1)
  • credentials(7)
  • fstab(5)
  • hier(7)
  • systemd(1)
  • locale(1P)(5)(7)
  • printf(3)
  • proc(5)
  • regex(7)
  • signal(7)
  • term(5)(7)
  • termcap(5)
  • terminfo(5)
  • utf-8(7)

De formas más general, eche un vistazo a las páginas de la categoría 7:

$ man -s 7 -k ".*" 

Páginas específicas de Arch Linux:

  • archlinux(7)
  • mkinitcpio(8)
  • pacman(8)
  • pacman-key(8)
  • pacman.conf(5)

Véase también