Suche alle Befehle mit wh, Suche nach einem Teil des Schlüsselworts in der Manpage

Suche alle Befehle mit wh, Suche nach einem Teil des Schlüsselworts in der Manpage

Ich möchte alle Manpages für Befehle finden, die mit beginnen wh. Aber ich verstehe nicht, warum das folgende Schlüsselwort nicht funktioniert.

  man -f "wh"

Auch wenn ich

  man chmod

in der Manpage von chmodsteht das Wort "symbolisch", also habe ich

  man -f "symbolic"

aber chmodder Befehl wird nicht in den Ergebnissen angezeigt.

Kurz gesagt, wie finde/durchsuche ich Befehle oder Befehlsbeschreibungen anhand des Wortinhalts? Ich weiß, wie ich bestimmte Wörter finde, nachdem ich die Manpage mithilfe von /Zeichen erhalten habe, aber ich möchte alle Manpages mit dem Suchwort finden.

Antwort1

Mit dem Schalter können Sie -kalle Manpages finden, die whentweder im Namen oder in der Kurzbeschreibung enthalten sind. Suchen Sie dann einfach nach denen, die mit beginnen wh. Der Befehl aproposentspricht man -k.

Beispiel

$ 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

Durchsuchen der Manpages

Wenn Sie unbedingt eine Volltextsuche in den Manpages durchführen möchten, können Sie den -KSchalter verwenden. Das ist ein großes K.

Beispiel

$ 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

Diese Methode gibt Ihnen allerdings weder den Namen der Manpage noch die Kurzbeschreibung. Sie zeigt Ihnen nur den tatsächlichen Namen der Datei, in der die Manpage gespeichert ist. Normalerweise ist das der Name des Befehls.

Antwort2

man -f wh(synonym mit whatis) zeigt die kurze (einzeilige) Beschreibung des Befehls an wh. Das Flag -fweist darauf hin man, nur die erste Zeile und nicht die ganze Seite anzuzeigen. Das ist nicht das, wonach Sie suchen.

Der Befehl apropos wh(synonym mit man -k wh) listet die Manpages auf, deren Kurzbeschreibung die Zeichenfolge enthält wh. Wenn Sie eine Suche in der Kurzbeschreibung mit einem Muster für den Befehlsnamen kombinieren möchten, können Sie die Ergebnisse aproposmit filtern grep. Um die Suche auf Benutzerbefehle (also Abschnitt 1) ​​zu beschränken und keine Administratorbefehle, C-Bibliotheksfunktionen usw. anzuzeigen, geben Sie ein -S 1. Wenn Sie sowohl Benutzer- als auch Administratorbefehle möchten, geben Sie ein -S 1:8.

apropos symbolic | grep '^wh'

Um mit mandb (der gebräuchlichsten manImplementierung unter Linux) in ganzen Manpages zu suchen, verwenden Sie -K(Großbuchstaben Kstatt Kleinbuchstaben k) apropos. Dies kann sehr lange dauern, wenn Sie viele Manpages installiert haben. Überlegen Sie, ob Sie die --regexOption angeben, um die Suche auf Manpages zu beschränken, deren einzeilige Beschreibung mit einem regulären Ausdruck übereinstimmt.

man -K -S 1:8 --regex 'change.*file' symbolic

Antwort3

man -k '^symbolic$'

Dadurch werden der App-Name und die Seitenzahl aufgelistet, auf der das Wort „symbolisch“ steht. Entfernen Sie das $, wenn Sie etwas möchten, das mit „symbolisch“ beginnt.

verwandte Informationen