Quiero encontrar todas las páginas man para los comandos que comienzan con wh
. Pero no entiendo por qué la siguiente palabra clave no funciona.
man -f "wh"
También si pongo
man chmod
en la página de manual de chmod
, tiene la palabra "simbólico", así que puse
man -f "symbolic"
pero chmod
el comando no aparece en los resultados.
En resumen, ¿cómo encuentro/busco comandos o descripciones de comandos por contenido de palabras internas? Sé cómo encontrar determinadas palabras después de obtener la página de manual, usando /
caracteres, pero quiero encontrar todas las páginas de manual con la palabra de búsqueda.
Respuesta1
Puede utilizar el -k
interruptor para buscar todas las páginas de manual que contienen wh
su nombre o sus breves descripciones. Luego simplemente busque los que comienzan con wh
. El comando apropos
es equivalente a man -k
.
Ejemplo
$ man -k wh | grep "^wh"
what (1p) - identify SCCS files (DEVELOPMENT)
whatis (1) - display manual page descriptions
whereis (1) - locate the binary, source, and manual page files for a command
which (1) - shows the full path of (shell) commands.
while (n) - Execute script repeatedly as long as a condition is met
whiptail (1) - display dialog boxes from shell scripts
whirlwindwarp (6x) - crazy moving stars
whline (3x) - create curses borders, horizontal and vertical lines
whline_set (3x) - create curses borders or lines using complex characters and renditions
who (1) - show who is logged on
who (1p) - display who is on the system
whoami (1) - print effective userid
whois (1) - client for the whois service
Buscando en las páginas man
Si está decidido a buscar en las páginas de manual realizando una búsqueda de texto completo, puede utilizar el -K
interruptor. Esa es una K mayúscula.
Ejemplo
$ man -w -K symbolic | head -10
/usr/local/share/man/man1/mimeopen.1
/usr/local/share/man/man1/mimetype.1
/usr/local/share/man/man1/ptksh.1
/usr/share/man/man1/as.1.gz
/usr/share/man/man1/atop.1.gz
/usr/share/man/man1/atopsar.1.gz
/usr/share/man/man1/attr.1.gz
/usr/share/man/man1/autoreconf.1.gz
/usr/share/man/man1/bakefilize.1.gz
/usr/share/man/man1/bash.1.gz
Sin embargo, este método no le proporciona el nombre de la página de manual ni una breve descripción. Solo muestra el nombre real del archivo en el que está almacenada la página de manual, que suele ser el nombre del comando.
Respuesta2
man -f wh
(sinónimo de whatis
) muestra la descripción breve (de una línea) del comando wh
. La bandera -f
indica man
que se muestre solo la primera línea y no toda la página. Eso no es lo que buscas.
El comando apropos wh
(sinónimo de man -k wh
) enumera las páginas man cuya breve descripción contiene la cadena wh
. Si desea combinar una búsqueda en la descripción breve con un patrón en el nombre del comando, puede filtrar los resultados apropos
con grep
. Para restringir a los comandos del usuario (es decir, la sección 1) y no mostrar los comandos del administrador, las funciones de la biblioteca C, etc., pase -S 1
. Si desea comandos tanto de usuario como de administrador, pase -S 1:8
.
apropos symbolic | grep '^wh'
Para buscar en páginas man completas, con mandb (la man
implementación más común en Linux), use -K
(mayúscula K
, a diferencia de minúsculas k
) apropos
. Esto puede llevar mucho tiempo si tiene muchas páginas de manual instaladas; considere pasar la --regex
opción para restringir la búsqueda a páginas man cuya descripción de una línea coincida con una expresión regular.
man -K -S 1:8 --regex 'change.*file' symbolic
Respuesta3
man -k '^symbolic$'
Esto mostrará el nombre de la aplicación y el número de página en la que se encuentra la palabra simbólico. Deshazte del $ si quieres algo que comience con simbólico.