Wie kann ich Hilfe zu Terminalbefehlen erhalten?

33

Ich sehe oft Dinge wie

read Weitere Informationen finden Sie in der Manpage von xyz . sehenman xyz

info xyz

also frage ich mich:

  • Wie kann ich generell Hilfe zu Terminalbefehlen bekommen?
  • Was genau sind diese Man- und Infoseiten ?
  • Wie kann ich sie finden und anzeigen?
Dessert
quelle
Ich möchte auch tldr.sh erwähnen , ein Versuch, Manpages zu vereinfachen und besser darzustellen.
Nein, mein richtiger Name wird nicht angezeigt
@ Nodon'tshownmyrealname Würdest du eine Antwort über schreiben tldr? Sie könnten auch erwähnen cheatund vielleicht betrügen .
Dessert

Antworten:

44

Was ist eine Manpage ?

Eine Manpage (kurz für Manualpage) ist die traditionelle Form der Softwaredokumentation auf einem Unix-ähnlichen Betriebssystem wie Ubuntu. Für die allermeisten Befehle und Programme gibt es eine Manpage, die die Optionen auflistet und deren Verwendung erklärt.

Wie kann ich Manpages finden und anzeigen?

Offline in einem Terminal

Handbuchseiten werden automatisch zusammen mit den darin beschriebenen Befehlen auf Ihrem System installiert. Zum Anzeigen und Durchsuchen von Manpages gibt es den Befehl man:

man mv

Zeigt die Manpage von mvwhile an

man -k mv

durchsucht Namen und Kurzbeschreibungen aller installierten Manpages nach dem String mv. POSIX Erweiterte Reguläre Ausdrücke sind erlaubt und es ist eine Suche , so dass diese auch zB finden git-mvund semver, wenn Sie genau suchen möchten mvbenutzen ^mv$statt.

Siehe Was ist der Unterschied zwischen "Mann" und "Mann (#)"? um über Manpage-Abschnitte zu lesen. Weitere Informationen finden Sie in mander Manpage. ;)

Wie kann ich beeinflussen, wie eine Manpage angezeigt wird?

Das Standardprogramm zum Anzeigen von Manpages ist less. Dieser sogenannte Pager bietet eine hilfreiche Suchfunktion, bei der nur /der Suchbegriff gefolgt wird, z

/--version

und drücken Sie Enter. Dadurch wird jeder Befund markiert und zum ersten gescrollt. Drücken Sie N, um zum nächsten Ergebnis zu gelangen, und ⇧ Shift+ N, um zum vorherigen Ergebnis zu gelangen (siehe Wie kann ich in einer Manpage suchen? ). Eine Liste der Befehle drücken H, zum Beenden lessdrücken Q.

Daneben lessgibt es noch andere Pager : pg, mostund w3mnur um drei aufzulisten . Ich empfehle most: Es kommt mit einem sehr nützlichen Färbung von Schlüsselwörtern einen Mann Seite machen viel einfacher zu lesen und zu navigieren, für sich selbst sehen:

Der meiste Screenshot zeigt die Manpage von mv

Verwenden Sie die folgende -POption, um eine Manpage in einem anderen als dem Standard-Pager anzuzeigen :

man -P most mv

Wenn Sie die Standard-Pager- Manpages ändern möchten, werden zwei Optionen angezeigt:

  • Ändern Sie den Standard-Pager nur von man

    export MANPAGER=most
    

    Um die Änderung dauerhaft zu machen, fügen Sie diesen Befehl Ihrer ~/.bashrcDatei hinzu.

  • Ändern Sie den Standard-Pager Ihres gesamten Systems

    sudo update-alternatives --config pager
    

Fans können sogar (ab) vimals das verwenden MANPAGER, siehe diesen Artikel von muru .

Manpages werden in der Schriftart angezeigt, die in den Einstellungen Ihres Terminalemulators angegeben ist. Wenn Sie regelmäßig mit dem Terminal arbeiten, möchten Sie möglicherweise diese Schriftart ändern. Ich kann Hack nur empfehlen - eine Schriftart, die für den Quellcode entwickelt wurde. Der Screenshot oben zeigt die Schönheit.

Offline über GUI

Eine schöne und einfache Möglichkeit, Manpages mit einer einfachen GUI anzuzeigen, ist das vorinstallierte yelpProgramm. Um eine Manpage mit yelpexecute yelp man:PROGRAModer zu starten gnome-help man:PROGRAM, zB:

yelp man:mv

Sie können Hilfeseiten auch mit Ihrem bevorzugten Browser anzeigen. Siehe Wie öffne ich Hilfeseiten in einem Webbrowser? zB für man mvin firefox:

man -Hfirefox mv

Last but not least können Sie konvertieren man - Seiten zu PDF und betrachten Sie sie mit Ihrem bevorzugten PDF - Viewer finden Sie unter : Gibt es eine Möglichkeit Info / Mann - Seiten zu PDF drucken?

Online

http://manpages.ubuntu.com

Sie können die Manpages der Programme anzeigen, die über die Repositorys aller derzeit unterstützten Ubuntu-Versionen verfügbar sind, und zwar mit der Kurz-URL manpg.es/PROGRAM, z . B. http://manpg.es/mv . Dies öffnet mvdie Manpage für die neueste Ubuntu-Version. Sie können eine andere Version in der oberen Leiste auswählen. Zum Suchen nach Manpages können Sie zB http://manpages.ubuntu.com/cgi-bin/search.py?q=mv verwenden .

Wie oben erläutert, mankönnen nur Manpages der auf dem System installierten Software angezeigt werden. Das Paket enthält Manpages von http://manpages.ubuntu.com mit einem Terminal-Pager .dmanbikeshed

Andere Quellen

Wenn Sie Dokumentationen aus anderen Online-Quellen lesen, sollten Sie die Programmversion im Auge behalten. Die meisten Programme haben eine --versionOption, die die Version des betreffenden Programms anzeigt, z

$ mv --version
mv (GNU coreutils) 8.25

Es gibt viele Websites, die sich der einfachen Verfügbarkeit von Manpages verschrieben haben. Ich werde nur die beiden vorstellen, die mir am besten gefallen:

  • man7.org wird mit nützlichen Syntax-Hervorhebungen geliefert , enthält jedoch nur die letzte veröffentlichte Version des Programms
  • manpag.es hostet Manpages von Ubuntu-Releases, die seit langem EOL sind

Quelle nicht bereits verlinkt: https://wiki.ubuntuusers.de/man/

Dessert
quelle
Ein weiterer hilfreicher Trick (zumindest wenn Sie ein Programmierer sind) besteht darin, ein kleines Skript zu schreiben, um die Ausgabe von man in den Texteditor Ihrer Wahl zu schreiben. ZB (\ n ist newline) #! / Bin / tcsh \ n set name = $ argv [$ # argv] \ n set file = /tmp/man.$name.out\n / usr / bin / man $ * | col -bx> $ file \ n (Pfad zu Ihrem Editor) $ file \ n rm $ file \ n Mit einem ähnlichen, aber editorspezifischen Makro können Sie man aus dem Editor heraus aufrufen, was sehr hilfreich ist.
Jamesqf
@jamesqf Interessant, warum machst du das und wann benutzt du das? Da Redakteure in der Regel in der Lage sind, von stdin zu lesen, können Sie es zu zB man $*|col -bx|nano -oder vereinfachen man $*|col -bx|kate -i.
Dessert
@jamesqf , wenn Sie ein Mann Seite in eine Textdatei exportieren , um leicht zu suchen oder zu navigieren, sollten Sie wirklich in Betracht ziehen , einen Blick auf die „Zusammenfassung der LESS Commands“ page.It kann durch Eingabe ‚h‘ in geöffnet werden less( manVerwendung lessBefehl für Paginierung so funktioniert es manauch)
Ludovic Ronsin
@Ludovic Ronsin: Ich mache das aus zwei Gründen in meinem Editor und nicht in weniger. Erstens, weil ich die Befehle meines Editors kenne (die weitaus leistungsfähiger sind als die weniger Befehle) und mich nicht darum kümmern muss, noch einen weiteren Befehlssatz zu lernen, den ich in verschiedenen Kontexten unweigerlich verwirren würde. Zweitens, weil ich die Editor-Version mit einem Tastendruck verbinden kann (Alt-m, wie es passiert) und dadurch Hilfe bei jedem Funktionsaufruf mit einer Manpage bekomme. Warum ich es so mache, habe ich vor über 20 Jahren geschrieben und es hat gut genug funktioniert.
Jamesqf
@jamesqf würde nur PAGER = "vim -" tun?
d33tah
13

Die Grundlagen wurden bereits behandelt, aber eine Website, von der ich denke, dass sie hilfreich ist, um Ihnen zu sagen, was ein Befehl tut, ist https://explainshell.com , die einen Befehl in seine Abschnitte aufteilt und zeigt, was jedes Bit tut.

Bildbeschreibung hier eingeben

Qwertie
quelle
1
+1 Das ist absolut nicht das, wonach ich gesucht habe, als ich dieses Q & A geschrieben habe, aber es ist eine großartige Ressource, von der ich nichts wusste - vielen Dank! Da die anderen Antworten absichtlich ein Hauptthema abdecken, erweitern Sie Ihre Antwort möglicherweise auf Online-Tools im Allgemeinen. shellcheck.net in den Sinn kommt ...
Dessert
12

Was ist eine Infoseite ?

Neben

man program-name

es gibt oft auch

info program-name

Manchmal sind sie gleich (Duplikate), aber manchmal enthält eine dieser Seiten mehr Informationen. Beispielsweise

info ddrescue

enthält mehr Informationen als

man ddrescue

und

info date

enthält mehr Informationen als

man date

Das Gleichgewicht zwischen manund infohängt von der Politik der Menschen ab, die das jeweilige Programm [Paket] pflegen.

Weitere Informationen finden Sie unter diesem Link.

unix.stackexchange.com/questions/19451/differenz zwischen-help-info-und-man-command

Sudodus
quelle
11

Was ist der helpBefehl?

helpZeigt hilfreiche Informationen zu bashintegrierten Befehlen an. Es bietet nur Hilfe für Bash-Shell-Befehle. Sie können verwendet werden, typeum zu bestimmen , ob ein Befehl ein solches eingebaut ist, zum Beispiel type echogegenüber type rm.

Es wird mit einem Muster als Argument aufgerufen:

help if

Zeigt die Hilfeseite für den ifBefehl an. Wenn Sie nur an der Syntax eines Befehls interessiert sind, verwenden Sie die -sOption, wenn Sie helpeine Ausgabe im manSeitenformat erstellen möchten -m. Um lange Hilfetexte bequem anzuzeigen, können Sie die Ausgabe an Ihren bevorzugten Pager weiterleiten (siehe den Abschnitt „Wie kann ich Einfluss nehmen ?“ Dieser Antwort ):

help -m if | less

Vergleich mit manundinfo

Sie können die folgenden Befehle ausführen und vergleichen:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Wie in diesem Beispiel gibt es Programme, die sowohl als integriertes als auch als normales Programm verfügbar sind (siehe Warum gibt es ein / bin / echo und warum möchte ich es verwenden? ). In diesem Fall enthält die Manpage normalerweise ein Notiz, die darauf hinweist.

Weitere Informationen finden Sie unter diesem Link: Unterschied zwischen Hilfe, Info und man-Befehl · U & L

die Option eines Programms -hund / oder--help

Normalerweise ist es eingebaute Hilfe in den Programmen zur Verfügung , sich über mindestens eine der Optionen -h, --helpoder -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Wenn beide Optionen -hund --helpexistieren, sind sie oft gleichwertig, aber manchmal Sie bekommen ‚mehr Hilfe‘ mit --help, -H, --longhelp, --help-alloder ähnliche Befehle. Dieses Verhalten ist in der man/ infoSeite des Programms dokumentiert .

Normalerweise gibt es mehr Informationen über manund info, aber manchmal gibt es exklusive Informationen über -h. Führen Sie und vergleichen Sie die Ausgabe von

man lsblk

und

lsblk -h

Einige Programme wie df, tarund rsyncverwenden Sie die Option -hfür etwas anderes. Dies wird auf der Seite man/ infojedes Programms beschrieben.

Auch hier können Sie die Ausgabe an Ihren bevorzugten Pager leiten, z.

lsblk -h | less
Sudodus
quelle
Vielen Dank für die Erwähnung --help, das ist oft das Einzige, was ich bei den meisten Befehlen brauche, und immer das Erste, was ich versuche.
JPhi1618
6

Was ist ein Tutorial und wie finde ich ein nützliches

Wenn Sie einige Erfahrung von Linux haben, die man Seiten, Info - Seiten und Hilfe sind Optionen sehr nützlich. Am Anfang kann es jedoch schwierig sein, sie zu verstehen. Sie benötigen detailliertere Hilfe, um loszulegen.

Ausführliche Hilfe finden Sie in Tutorials ,

  • Detaillierte Erklärung zur Verwendung eines Befehls
  • Beispiele

In der Regel finden Sie Tutorials über das Internet, manchmal finden Sie ein nützliches Tutorial auf der Manpage oder der Infoseite.

  • Probieren Sie einige Suchbegriffe aus, wenn Sie beispielsweise die Suchmaschine Ihres Webbrowsers verwenden

    • Auf der Suche nach bestimmten Werkzeugen

      • Nano-Tutorial
      • sed Tutorial
      • imagemagick Tutorial
      • rsync Tutorial
    • Aufgaben suchen (und Tutorials für verschiedene Tools finden)

      • Tutorial zum Linux-Texteditor
      • Linux Batch-Modus Bild-Editor-Tutorial

Schauen Sie sich kurz einige der Links an, die Sie finden, und beginnen Sie mit einem Tutorial, das genau zu Ihnen passt .

  • man rsync Es ist so detailliert, dass ich es als Tutorial verwenden kann, aber Sie möchten möglicherweise weitere Details (und suchen nach einem Tutorial über das Internet).
  • info ddrescue hat ein gutes eingebautes Tutorial.
Sudodus
quelle
Perfekt, danke für deinen ständigen Beitrag - ich glaube, diese Frage wird eine sehr nützliche Quelle werden, auf die Anfänger verweisen können. Ich werde der Frage einen Inhaltsindex hinzufügen und die Antworten mit dem Scrollen verknüpfen.
Dessert
1
@ Dessert, Dies ist eine gute Initiative von Ihnen, und ich bin froh, dazu beizutragen :-)
Sudodus
2

Mein Favorit ist commandlinefu.com , habe eine Funktion in deiner .bashrcoder .zshrcso

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Lass es uns versuchen cmd mount cd, ich habe meine Funktion aufgerufen cmd, du kannst sie so nennen, wie du willst

Bildbeschreibung hier eingeben

Die obige Funktion durchsucht die Commandlinefu-Website. Es handelt sich um eine Community-gesteuerte Website, ähnlich wie hier. Benutzer haben die Möglichkeit, Befehle zu aktualisieren und so weiter. Dann zeigt es die Top-Ergebnisse wie im Bild.

oder gibt es eine neue Art und Weise , dass durch den Einsatz zu tun dies .

http://samirahmed.github.io/fu/

Hier ist ein Tutorial .

Lass es uns tun fu cron

Bildbeschreibung hier eingeben

Lynob
quelle
1

Finden Sie heraus, wie Sie ein Terminalfenster öffnen und den Befehl ausgeben man man. Geben Sie die Leertaste ein, um zum nächsten Bildschirm zu gelangen, wenn unten "Mehr" angezeigt wird. Sie lesen die Handbuchseite für das Handbuch-Leseprogramm man!

Es gibt ein sehr kleines Henne-Ei-Problem, mit dem Sie fertig werden müssen. Der manBefehl hilft Ihnen, das Handbuch zu jedem Befehl im System zu lesen. Die manAusgabe verwendet jedoch einen anderen Befehl namens more. Sie können auch lesen man more, um zusätzliche Navigationsbefehle für zu lernen more.

Und das ist alles! Ich habe alles über Unix gelernt, indem ich die Manpages für Hunderte von Befehlen gelesen habe.

Douglas Held
quelle
3
Unter Ubuntu manverwendet lessstandardmäßig nicht more.
muru
0

Viele haben es manbereits erwähnt . Ein kleines cooles Feature, das nur manwenigen bewusst ist

man -t $ (manpage) > manpage.ps

Hierdurch wird eine PostScript-Datei für die Handbuchseite erstellt. PostScript kann einfach in PDF konvertiert werden. Dies führt zu einer viel schöneren Formatierung als die Standardversion des Befehlszeilenterminals von man.

Beispielsweise:

man -t man> man.ps

pstopdf man.ps

Ich habe es gerade auf Ubuntu (und es sollte auf anderen Linuxen funktionieren) und Mac OS getestet.

Oleg Lobachev
quelle