it-swarm.com.de

Tricks und Tipps zum Auffinden von Informationen in Manpages

Hat jemand Tricks und Tipps, um Informationen in Manpages zu finden?

82
Casebash

Beachten Sie die Abschnittsnummer: Angenommen, Sie möchten Hilfe zu printf. Es gibt mindestens zwei davon: in Shell und in C. Die Bash-Version von printf befindet sich in Abschnitt 1, die C-Version in Abschnitt 3 oder 3C. Wenn Sie nicht wissen, welche Sie möchten, geben Sie man -a printf Ein. Alle Handbuchseiten werden angezeigt.

Wenn Sie nach dem Format von printf mit allen% -Codes suchen und es nicht auf der Manpage printf angezeigt wird, können Sie zu verwandten Manpages springen, die unter SIEHE AUCH Absatz aufgeführt sind. Möglicherweise finden Sie so etwas wie formats(5), was darauf hindeutet, dass Sie man 5 formats Eingeben.

Wenn Sie sich darüber ärgern, dass man printf Ihnen printf (1) gibt und Sie nur printf (3) möchten, müssen Sie die Reihenfolge der gescannten Verzeichnisse in der Umgebungsvariablen MANPATH ändern und diese einfügen für C-Sprache vor denen für Shell-Befehle. Dies kann auch passieren, wenn Fortran- oder TCL/Tk-Manpages vor C-Manpages aufgeführt sind.

Wenn Sie nicht wissen, wo Sie anfangen sollen, geben Sie man intro Oder man -s <section> intro Ein. Dies gibt Ihnen eine Zusammenfassung der Befehle des angeforderten Abschnitts.

Abschnitte sind gut definiert:

  • 1 ist für Shell-Befehle,
  • 2 ist für Systemaufrufe,
  • 3 dient zum Programmieren von Schnittstellen (manchmal 3C für C, 3F für Fortran ...)
  • 5 ist für Dateiformate und andere Regeln wie Printf- oder Regex-Formate.

Last but not least: Informationen in Manpages sind nicht redundant. Lesen Sie sie daher sorgfältig von Anfang bis Ende durch, um Ihre Chancen zu erhöhen, das zu finden, was Sie benötigen.

51
mouviciel

Geben Sie einen Schrägstrich / Ein und geben Sie dann die zu suchende Zeichenfolge ein. Drücken Sie dann n, um zum nächsten Element zu gelangen

58

man -k Suche

Dadurch erhalten Sie eine Liste aller Manpages, die sich auf 'Suche' beziehen.

37
Kristof Provost

Vergessen Sie nicht, wie @Steven D sagt, die info Seiten.

Lassen Sie sich außerdem nicht von den info -Seiten einschüchtern. Ich kenne viele Leute, die die Infoseiten wegen des eingebauten Navigationssystems nicht benutzen. Meine Lieblingslösung besteht darin, die Infoseiten durch less zu leiten:

info gpg |less

Auf diese Weise kann ich mit meinem Lieblings-Pager durch die info -Seiten navigieren. Die info Seiten verhalten sich jetzt genauso wie die man Seiten.

20

Das Dienstprogramm apropos ist sehr praktisch, um die entsprechende Manpage zu finden.

18
Hank Gay

Der Standard-Pager zum Lesen einer Manpage ist less. Es gibt eine Dokumentation zu lesshier .

Bestimmtes:

  • Scrollen Sie um eine Seite nach oben/unten: b /. space
  • Scrollen Sie eine halbe Seite nach oben/unten: u /. d
  • Vorwärts/rückwärts suchen: / /. ?Geben Sie dann einen regulären Ausdruck ein,
    • dann dann schlagen n zum nächsten Spiel gehen oder
    • shiftN zum vorherigen Spiel gehen.
    • Wenn die Seite mit uninteressanten Übereinstimmungen bedeckt ist, klicken Sie auf space um zur nächsten Seite zu gelangen.
  • Fügen Sie eine hinzu @ vor dem regulären Ausdruck von Anfang an suchen.
16
Casebash

Überprüfen Sie immer, was sich im Abschnitt SIEHE AUCH befindet. Die in diesem Abschnitt auf der Seite info gezeigten Befehle können ausgewählt werden, indem Sie den Cursor auf den gewünschten Befehl setzen und dann die Eingabetaste drücken. Häufig finde ich auf diese Weise andere nützliche Befehle oder Funktionen.

8
Neth

Wenn Sie mit Ihrem Editor besser vertraut sind als mit dem Standard-Pager, können Sie MANPAGER in Ihrer Umgebung festlegen. Zum Beispiel habe ich diese Zeile in meinem ~/.bashrc:

export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
7
Rob Hoelz

Ich nehme an, die Verwendung von most Pager ist eine gute Idee. Dieser Pager ist sehr leistungsfähig, aber das Hauptmerkmal für mich - das Anzeigen farbiger Manpages. Diese Funktion verbessert die Wahrnehmung von Klartext und erleichtert die Suche nach benötigten Informationen.

Schauen Sie sich den beigefügten Screenshot an, der Text sieht sehr schön aus, nicht wahr?

most pager

4
dr.

Unter Linux man können Sie man -K string (beachten Sie den Großbuchstaben K), um eine Brute-Force-Suche nach einem bestimmten Begriff durchzuführen

   -K, --global-apropos
          Search for text in all manual  pages.   This  is  a  brute-force
          search,  and is likely to take some time; if you can, you should
          specify a section to reduce the number of pages that need to  be
          searched.   Search terms may be simple strings (the default), or
          regular expressions if the --regex option is used.

sehr nützlich, wenn Sie nicht wissen, wo Sie suchen sollen.

4
enzotib

Ignorieren Sie nicht die info Seiten. Viele GNU Tools haben weitaus umfangreichere Infoseiten als Manpages. Oft wird im Abschnitt SIEHE AUCH angegeben: "Die vollständige Dokumentation für foo wird als Texinfo-Handbuch gepflegt. "Dies gilt insbesondere für alles im GNU coreutils-Paket).

Wenn Sie ein Emacs-Benutzer sind, vergessen Sie nicht, dass Sie Informationen und Handbuchseiten lesen können, ohne Ihren Editor zu verlassen: M-x info und M-x woman.

3
Steven D

Für diese längeren, komplexeren Manpages finde ich es viel einfacher, sie von einem Computer weg zu lesen (seltsam, ich weiß), und deshalb habe ich diese Funktionen in meinem .bashrc

# Print man pages 
manp() { man -t "[email protected]" | lpr -pPrinter; }

# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "[email protected]" | ps2pdf - /tmp/manpdf_$1.pdf && \
    xdg-open /tmp/manpdf_$1.pdf ;}
3
jasonwryan

Aus Kristofs Antwort, wenn Sie (d. H.) man -k chmod Sie erhalten eine Liste der Möglichkeiten. Beachten Sie die Nummer in Klammern. Dies bedeutet den Abschnitt, nach dem auf den Handbuchseiten gesucht werden muss:

Unter UNIX können Sie versuchen:

man -s1 chmod Es wird die Manpage für den Befehl chmod angezeigt

man -s2 chmod Es wird die Manpage für die C lib-Funktion chmod () angezeigt.

Unter Linux sollten Sie -s zum -S

2
jyz

Ähnlich, aber etwas anders als Rob Hoelz 'Antwort,

Fügen Sie Folgendes in Ihr ~/.vimrc:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

Jetzt ist vimman ein ausgezeichneter Manpage-Viewer und :Man aus Vim heraus (oder einfach K über ein Schlüsselwort drücken) ist ein ausgezeichneter Manpage-Browser.

2
ephemient

Anzeigen von Manpages in einer benutzerfreundlichen grafischen Anwendung:

konqueror man:(command)

Für das Inhaltsverzeichnis der obersten Ebene:

konqueror man:

Eigenschaften:

  • Wenn Sie einen Befehl eingeben, der in mehreren Abschnitten übereinstimmt, gelangen Sie zu einer Disambiguierungsseite
  • Es ist eine grafische Anwendung, sodass Sie sich keine kryptischen Schlüsselsequenzen merken müssen, um auf der Seite zu navigieren
  • Es enthält Hyperlinks zu verwandten Seiten (einschließlich "Siehe auch" -Seiten).
  • Sie können verwandte Seiten in separaten Registerkarten öffnen
2
nobar

Dayum, Leute! Was ist mit den verschlungenen Antworten?! Was ist mit der Einfachheit passiert, die der Schlüssel zur Brillanz ist, und was nicht? Die meisten Ihrer vi/vim-Tasten funktionieren gut:

/ Oder ? - Suche vorwärts oder rückwärts (wie einige der Jungs bereits erwähnt haben). Im ersteren Fall wird ein Kleinbuchstabe n vorwärts durch Übereinstimmungen scrollen, ein Großbuchstabe N wird rückwärts gehen. Für letzteres gilt das Gegenteil - das Fragezeichen.

Etwas komplexere Suche durch reguläre Ausdrücke. Der Unterschied zwischen man (oder less) und VIM) besteht darin, dass Sie das Escape-Zeichen () verwenden müssen, um Metazeichen in Ihrem Ausdruck zu deklarieren, wenn Sie letzteres verwenden Die gute Nachricht ist, dass wenn Sie das erstere verwenden (man oder less) - nicht so sehr. Sie können dies also leicht verwenden, wenn Sie beispielsweise ein iptables manpage für mehrere Begriffe wie folgt: /(iptables|rules). Wenn Sie mit regulären Ausdrücken nicht vertraut sind, bedeutet dies "Suche nach Instanzen von Wörtern iptables OR = rules ". Nachdem Sie dies eingegeben und n gedrückt gehalten haben, scrollen Sie durch die abwechselnden Ergebnisse der Suche, wobei die Ergebnisse für Sie mit verschiedenen Farben hervorgehoben werden (eigentlich zwei. Haha). Wenn ja Wenn Sie versuchen, die Seite zu überfliegen und sich auf bestimmte Begriffe oder Konzepte konzentrieren möchten, werden Sie nichts verpassen!

Und für eine schnellere Navigation stehen natürlich Ihre regulären vi Standbies weiterhin (kein Wortspiel beabsichtigt): gg oder G - Anfang/Ende des Dokuments; (Korrektur! In man können Sie alle unten genannten Tasten ohne Strg verwenden. Dies gilt nur für vi). Ctrl + u or d - Scrollen Sie nach oben oder unten. Ctrl + b or f - Gleiches, nur in größeren Sprüngen. "Seite vorwärts oder rückwärts"; e oder y - scrollen Sie um eine einzelne Zeile, aber ich denke, die meisten Leute würden lieber nur die Pfeiltasten verwenden. Wenn Sie jedoch "1337" bleiben und "niemals die Ausgangsreihe verlassen" möchten (wie ich es tue, lol), ist dies der richtige Weg.

Ich versuche zu sagen, dass UNIX zwei Hauptvarianten von Tastaturprogrammsteuerelementen hat, die beide Teile der Bibliothek readline sind: vi und emacs. Steigern Sie Ihre Fähigkeiten in einem (aber vorzugsweise in beiden) und es wird Ihr Leben viel weniger kompliziert machen. Die meisten CLI-Programme unter UNIX verwenden eines davon. BASH verwendet standardmäßig Emacs-Steuerelemente, kann jedoch einfach durch Eingabe von set -o vi auf "vi mode" gesetzt werden. Das Gleiche gilt für reguläre Ausdrücke, aber das wird weit vom Thema entfernt sein. Ich würde sogar sagen, dass beide die "Verkehrssprache" von UNIX sind.

2
Max

Um effizient nach einem Einzelzeichenwechsel zu suchen, zum Beispiel -u können Sie häufig verwenden:

/^ *-u($|\s)

Spart viel Zeit, wenn viele Optionen das Präfix '-u' haben.

1
matt

Die meisten von uns setzen die Variable PATH. Dies zeigt Ihnen, wie Sie den Man-Suchpfad automatisch an Ihren Befehlssuchpfad anpassen können.

Angenommen, Sie fügen Ihren Pfad hinzu, um Ihre persönlichen, arbeitsspezifischen und lokal installierten Dienstprogramme wie export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:. Als Nebeneffekt man foo zeigt die unter ~/man,/workgroup/man oder/opt/local/man gespeicherten Manpages nicht an.

Um dies zu beheben, verwende ich den Befehl manpath, um den Manpage-Suchpfad automatisch festzulegen. Zum Beispiel hat mein ~/.bashrc Folgendes. Dies funktioniert für mich auf hundert verschiedenen Systemen, auf denen alles von FreeBSD 4.x, Darwin und CentOS 5 ausgeführt wird:

### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin

### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null

Einige Systeme (wie Apple Leopard) setzen den MANPATH automatisch, aber das bedeutet, dass Ihr System die Variable MANPATH anstelle von manpath verwendet. Infolgedessen werden Manpages für ' MacPorts '(/ opt/local/man) werden ignoriert. Ich möchte dies selbst steuern, also deaktiviere ich MANPATH:

unset MANPATH
manpath >/dev/null
1

man -a printf ist standardmäßig man 1 auf meinem Linux Mint-Rechner. whatis printf gibt mir die relevanten Informationen.

1
stu

Wenn Sie nach Informationen zu einem integrierten bash suchen (z. B. time, disown, set oder [[), anstatt durch die detaillierte bash Infoseite oder man bash können Sie help {builtin-keyword} und erhalten schnell grundlegende Syntaxinformationen.

1
LawrenceC

Ich benutze nur grep. Wenn ich mich fragen würde, was die -s Option des Befehls read tat, ich würde diese Befehle der Reihe nach versuchen, bis ich eine Antwort bekam:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

In diesem Fall lieferte nur der Befehl info eine eindeutige Antwort. Diese ausgezeichnete Antwort gibt die Details zu den verschiedenen Hilfesystemen an.

1
Cees Timmerman

Wenn Sie sich darüber ärgern, dass man printf Ihnen printf (1) gibt und Sie nur printf (3) möchten, können Sie man sagen, dass Sie printf aus Abschnitt 3 möchten, indem Sie den Abschnitt vor printf setzen, wie folgt: man 3 printf, ohne die Reihenfolge der gescannten Verzeichnisse in der Umgebungsvariablen MANPATH ändern und die Verzeichnisse für die Sprache C vor die Verzeichnisse für Shell-Befehle setzen zu müssen.

1
Li Lo

Und für diejenigen, die gerne Man- und Infoseiten auf einem Touchscreen lesen, können Sie Man/Info an Yad oder Zenity weiterleiten und alle GTK3-Goodies wie native Fingerscrolls verwenden. Funktioniert auch hervorragend mit refular Bildschirm und Maus:

man cat |yad --text-info 

Sie können auch Zenity verwenden oder yad-Optionen hinzufügen wie:

man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &

Tipp: Mit show uri yoh können Sie mit Maus/Finger auf Weblinks in Manpages klicken.

0
George Vasiliou

(enter image description here Wenn Sie aufgrund des weißen Textes Schwierigkeiten haben, die Manpages zu lesen, können Sie sie einfärben. Die meisten Manpages werden mit less geöffnet. Für less verwende ich die folgenden Farbeinstellungen in .bashrc von hier :

man() {
    LESS_TERMCAP_md=$'\e[01;31m' \red
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \green
    command man "[email protected]"
}

Dies ist für Bash und Zsh. Für most, fish, xterm und rxvt siehe den obigen Link.

Zur weiteren Lektüre:

0
vikram99

Der Befehl apropos (1) wird zum Durchsuchen von Manpages verwendet. Die meisten Implementierungen von apropos (1) suchen jedoch nur im Abschnitt NAME, was sehr einschränkend ist.

NetBSD verfügt über eine Volltextsuchimplementierung von apropos (1), mit der der gesamte Inhalt von Manpages durchsucht werden kann. Es gibt auch eine webbasierte Oberfläche dafür: man-k.org , die Sie ausprobieren können.

0