it-swarm.com.de

Wie lerne ich mithilfe von Manpages, wie man Befehle verwendet?

Bei der Untersuchung eines anderen Problems bin ich auf einen Befehl gestoßen ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

dass ich mehr darüber erfahren wollte. Also lief ich man xargs und erhalten die folgende Ausgabe:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

Ich versuche, die Dokumentation besser zu nutzen, um mehr über Linux-Programme zu erfahren, aber dieser Abschnitt "Synopsis" ist für neue Benutzer einschüchternd. Es sieht buchstäblich aus wie Kauderwelsch im Vergleich zu man locate oder man free.

Bisher verstehe ich, dass eckige Klammern optional und verschachtelte Klammern Optionen in optional bedeuten. Aber wie soll ich damit einen gültigen Befehl auslösen?

Ich bitte hier nicht um Hilfe bei xargs. Ich suche Hilfe beim Interpretieren einer Manpage, um komplizierte Befehle zu verstehen. Ich möchte aufhören, Google-indizierte Web-Blogs und persönliche Hilfe von anderen zu meinem ersten Ansatz zum Erlernen von Linux-Befehlen zu machen.

93
user1717828

Nun, dies ist meine ganz persönliche Art, Manpages zu lesen:

Der Manpager

Wenn Sie eine Manpage mit dem Befehl man öffnen, wird die Ausgabe durch die Befehle less oder more oder einen anderen Befehl angezeigt/gerendert, der als Pager festgelegt wird (Manpager).

Wenn Sie Linux verwenden, wird Ihnen wahrscheinlich Ihre Man-Infrastruktur bereitgestellt, die bereits für die Verwendung von /usr/bin/less -is Konfiguriert ist (es sei denn, Sie haben eine minimale Distribution installiert), als man(1) Abschnitt Optionen:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

Unter FreeBSD und OpenBSD müssen Sie lediglich die Umgebungsvariable MANPAGER bearbeiten, da meistens more verwendet wird und einige Funktionen wie Suche und Texthervorhebung fehlen könnten.

Es gibt eine gute Antwort auf die Frage, welche Unterschiede more, less und most haben hier (nie verwendet most) . Die Möglichkeit, rückwärts und seitenweise vorwärts zu scrollen Space oder in beide Richtungen nach Linie mit  oder (auch unter Verwendung von vi -Bindungen j und k) ist beim Durchsuchen von Manpages unerlässlich. Drücken Sie h Verwenden Sie less, um die Zusammenfassung der verfügbaren Befehle anzuzeigen.

Und deshalb schlage ich vor, dass Sie less als Ihren Mann-Pager verwenden. less haben einige wesentliche Funktionen, die während dieser Antwort verwendet werden.

Wie ist ein Befehl formatiert?

tility Conventions : Die Open Group Base-Spezifikationen, Ausgabe 7 - IEEE Std 1003.1, Ausgabe 2013. Sie sollten diesen Link besuchen, bevor Sie versuchen, eine Manpage zu verstehen. Diese Online-Referenz beschreibt die Argumentensyntax der Standarddienstprogramme und führt die in POSIX.1-2017 verwendete Terminologie zur Beschreibung der von den Dienstprogrammen verarbeiteten Argumente ein. Dadurch werden Sie auch indirekt über die wahre Bedeutung von Wörtern wie Parametern, Argumenten, Argumentoptionen ... informiert.

Der Kopf einer Manpage sieht für Sie weniger kryptisch aus, nachdem Sie die Notation der Dienstprogrammkonventionen verstanden haben:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

Denken Sie daran, was Sie tun möchten.

Wenn Sie über xargs recherchiert haben, haben Sie es zu einem bestimmten Zweck getan, oder? Sie hatten ein spezielles Bedürfnis, die Standardausgabe zu lesen und Befehle basierend auf dieser Ausgabe auszuführen.

Aber wenn ich nicht weiß, welchen Befehl ich will?

Verwenden Sie man -k Oder apropos (sie sind äquivalent). Wenn ich nicht weiß, wie ich eine Datei finde: man -k file | grep search. Lesen Sie die Beschreibungen und finden Sie eine, die Ihren Anforderungen besser entspricht. Beispiel:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos arbeitet standardmäßig mit regulären Ausdrücken (man apropos, Lesen Sie die Beschreibung und finden Sie heraus, was -r Tut). In diesem Beispiel suche ich nach jeder Manpage, auf der die Beschreibung mit "report" beginnt ".

So suchen Sie nach Informationen zum Lesen der Standard-Eingabe-/Ausgabeverarbeitung und zum Erreichen von xargs als mögliche Option:

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

Lesen Sie immer das DESCRIPTION, bevor Sie beginnen

Nehmen Sie sich Zeit und lesen Sie die Beschreibung. Wenn Sie nur die Beschreibung des Befehls xargs lesen, erfahren Sie Folgendes:

  • xargs liest aus STDIN und führt den erforderlichen Befehl aus. Dies bedeutet auch, dass Sie einige Kenntnisse darüber haben müssen, wie Standardeingaben funktionieren und wie Sie sie über Pipes zu Kettenbefehlen bearbeiten können
  • Das Standardverhalten ist, sich wie /bin/echo Zu verhalten. Dies gibt Ihnen einen kleinen Tipp: Wenn Sie mehr als ein xargs verketten müssen, müssen Sie zum Drucken kein Echo verwenden.
  • Wir haben auch gelernt, dass Unix-Dateinamen Leerzeichen und Zeilenumbrüche enthalten können, dass dies ein Problem sein kann und das Argument -0 Ein Weg ist, um zu verhindern, dass Dinge explodieren, indem Nullzeichen-Trennzeichen verwendet werden. Die Beschreibung warnt Sie, dass der Befehl, der als Eingabe verwendet wird, auch diese Funktion unterstützen muss und dass GNU find sie unterstützt. Großartig. Wir verwenden viel Find mit xargs.
  • xargs stoppt, wenn der Exit-Status 255 erreicht ist.

Einige Beschreibungen sind sehr kurz und das liegt im Allgemeinen daran, dass die Software auf sehr einfache Weise funktioniert. Denken Sie nicht einmal daran, diesen Teil der Manpage zu überspringen ;)

Andere Dinge zu beachten ...

Sie wissen, dass Sie mit find nach Dateien suchen können. Es gibt eine Menge Optionen und wenn Sie sich nur das SYNOPSIS ansehen, werden Sie von diesen überwältigt sein. Es ist nur die Spitze des Eisbergs. Mit Ausnahme von NAME, SYNOPSIS und DESCRIPTION haben Sie die folgenden Abschnitte:

  • AUTHORS: Die Personen, die den Befehl erstellt oder bei der Erstellung unterstützt haben.

  • BUGS: listet alle bekannten Mängel auf. Könnte nur Implementierungsbeschränkungen sein.

  • ENVIRONMENT: Aspekte Ihrer Shell, die vom Befehl betroffen sein könnten, oder Variablen, die verwendet werden.

  • EXAMPLES oder NOTES: Selbsterklärend.

  • REPORTING BUGS: An wen Sie sich wenden müssen, wenn Sie Fehler in diesem Tool oder in der Dokumentation finden.

  • COPYRIGHT: Person, die die Software erstellt hat, und Haftungsausschluss. Alles im Zusammenhang mit der Lizenz der Software selbst.

  • SEE ALSO: Andere Befehle, Werkzeuge oder Arbeitsaspekte, die sich auf diesen Befehl beziehen und nicht in einen der anderen Abschnitte passen.

Interessante Informationen zu den gewünschten Aspekten eines Tools finden Sie höchstwahrscheinlich im Abschnitt Beispiele/Notizen.

Beispiel

In den folgenden Schritten nehme ich find als Beispiel, da die Konzepte "einfacher" zu erklären sind als xargs (ein Befehl find files und der andere befasst sich mit der Ausführung von stdin und pipelined von andere Befehlsausgabe). Stellen wir uns einfach vor, wir wissen nichts (oder sehr wenig) über diesen Befehl.

Ich habe ein spezielles Problem: Ich muss nach jeder Datei mit der Erweiterung .jpg Und mit 500 KB (KiB = 1024 Byte, allgemein als Kibibyte bezeichnet) oder mehr in einem FTP-Serverordner suchen.

Öffnen Sie zunächst das Handbuch: man find. Das SYNOPSIS ist schlank. Lassen Sie uns im Handbuch nach Dingen suchen: Geben Sie ein / plus das gewünschte Wort (size). Es werden viele Einträge -size Indiziert, die bestimmte Größen zählen. Stecken geblieben. Ich weiß nicht, wie ich mit "mehr als" oder "weniger als" einer bestimmten Größe suchen soll, und der Mann zeigt mir das nicht.

Probieren wir es aus und suchen Sie nach dem nächsten Eintrag, den Sie durch Drücken von gefunden haben n. OK. Fand etwas Interessantes: find\( -size +100M -fprintf /root/big.txt %-10s %p\n \). Vielleicht zeigt uns dieses Beispiel, dass mit -size +100M Dateien mit 100 MB oder mehr gefunden werden. Wie könnte ich bestätigen? Gehen Sie zum Kopf der Manpage und suchen Sie nach anderen Wörtern.

Versuchen wir noch einmal das Wort greater. Drücken g führt uns zum Kopf der Manpage. /greater und der erste Eintrag lautet:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

Klingt gut. Es scheint, dass dieser Block des Handbuchs bestätigt hat, was wir vermutet haben. Dies gilt jedoch nicht nur für Dateigrößen. Es gilt für alle n, die auf dieser Manpage zu finden sind (wie der Satz sagte: "Numerische Argumente können als" angegeben werden).

Gut. Lassen Sie uns einen Weg finden, nach Namen zu filtern: g/insensitive. Warum? Unempfindlich? Wtf? Wir haben einen hypothetischen FTP-Server, auf dem "diese anderen Betriebssysteme" einen Dateinamen mit den Erweiterungen .jpg, .JPG, .JpG Geben könnten. Dies führt uns zu:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

Nachdem Sie jedoch nach lname gesucht haben, werden Sie feststellen, dass nur nach symbolischen Links gesucht wird. Wir wollen echte Dateien. Der nächste Eintrag:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the Shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the Shell will expand any wildcard characters in them.

Großartig. Ich muss nicht einmal über -name Lesen, um zu sehen, dass -iname Bei dieser Version die Groß- und Kleinschreibung nicht berücksichtigt wird. Stellen wir den Befehl zusammen:

Befehl: find /ftp/dir/ -size +500k -iname "*.jpg"

Was hier impliziert ist: Das Wissen, dass der Platzhalter ? "Ein beliebiges Zeichen an einer einzelnen Position" und * "Null oder mehr eines beliebigen Zeichens" darstellt. Der Parameter -name Gibt Ihnen eine Zusammenfassung dieses Wissens.

Tipps, die für alle Befehle gelten

Einige Optionen, Mnemoniken und der "Syntaxstil" durchlaufen alle Befehle, sodass Sie Zeit gewinnen, indem Sie die Manpage überhaupt nicht öffnen müssen. Diese werden durch Übung gelernt und die häufigsten sind:

  • Im Allgemeinen bedeutet -v Ausführlich. -vvv Ist eine "sehr sehr ausführliche" Variante einiger Software.
  • Nach dem POSIX-Standard können im Allgemeinen Argumente mit einem Bindestrich gestapelt werden. Beispiel: tar -xzvf, cp -Rv.
  • Im Allgemeinen bedeutet -R Und/oder -r Rekursiv.
  • Fast alle Befehle haben eine kurze Hilfe mit der Option --help.
  • --version Zeigt die Version einer Software an.
  • -p Bedeutet beim Kopieren oder Verschieben von Dienstprogrammen "Berechtigungen beibehalten".
  • -y Bedeutet in den meisten Fällen JA oder "ohne Bestätigung fortfahren".

Beachten Sie jedoch, dass die oben genannten Punkte nicht immer zutreffen. Zum Beispiel kann der Schalter -rsehr unterschiedliche Dinge für unterschiedliche Software bedeuten. Es ist immer eine gute Idee, zu überprüfen, ob ein Befehl gefährlich sein kann. Dies sind jedoch häufig verwendete Standardeinstellungen.

Standardwerte von Befehlen.

Beim Pager-Block dieser Antwort haben wir gesehen, dass less -is Der Pager von man ist. Das Standardverhalten von Befehlen wird nicht immer in einem separaten Abschnitt auf Manpages oder in dem Abschnitt angezeigt, der am häufigsten platziert ist.

Sie müssen die Optionen lesen, um die Standardeinstellungen herauszufinden, oder wenn Sie Glück haben, tippen /pager führt Sie zu diesen Informationen. Dazu müssen Sie auch das Konzept des Pagers (Software, die die Manpage scrollt) kennen. Dies erhalten Sie erst, nachdem Sie viele Manpages gelesen haben.

Warum ist das wichtig? Dies öffnet Ihre Wahrnehmung, wenn Sie beim Lesen man(1) unter Linux (less -is Pager) oder FreeBSD man(1) zum Beispiel.

Und was ist mit der Syntax SYNOPSIS?

Nachdem Sie alle Informationen erhalten haben, die zum Ausführen des Befehls erforderlich sind, können Sie Optionen, Optionsargumente und Operanden inline kombinieren, um Ihre Arbeit zu erledigen. Übersicht der Konzepte:

  • Optionen sind die Schalter, die ein Befehlsverhalten bestimmen. " Mach das" " mach das nicht" oder " so handeln". Oft als Schalter bezeichnet.
  • Optionsargumente werden in den meisten Fällen verwendet, wenn eine Option nicht binär (ein/aus) ist, wie -t Beim Mounten, was den Typ eines Dateisystems angibt (-t iso9660, -t ext2). " Mach das mit geschlossenen Augen" oder " füttere die Tiere, aber nur die Löwen". Auch Argumente genannt.
  • Operanden sind Dinge, auf die dieser Befehl einwirken soll. Wenn Sie cat file.txt Verwenden, ist der Operand eine Datei in Ihrem aktuellen Verzeichnis und der Inhalt wird auf STDOUT angezeigt. ls ist ein Befehl, bei dem ein Operand optional ist. Die drei Punkte nach dem Operanden zeigen implizit an, dass cat auf mehrere Operanden (Dateien) gleichzeitig einwirken kann. Möglicherweise stellen Sie fest, dass einige Befehle festgelegt haben, welcher Operandentyp verwendet werden soll. Beispiel: cat [OPTION] [FILE]...

Verwandte Inhaltsangaben:

Wann funktioniert diese Methode nicht?

  • Manpages ohne Beispiele
  • Manpages, auf denen Optionen eine kurze Erklärung haben
  • Wenn Sie generische Schlüsselwörter wie and, to, for in den Manpages verwenden
  • Manpages, die nicht installiert sind. Es scheint offensichtlich zu sein, aber wenn Sie lftp (und seine Manpages) nicht installiert haben, können Sie nicht wissen, dass dies eine geeignete Option als anspruchsvollerer FTP-Client ist, indem Sie man -k ftp Ausführen.

In einigen Fällen sind die Beispiele ziemlich einfach, und Sie müssen einige Ausführungen Ihres Befehls vornehmen, um ihn zu testen, oder im schlimmsten Fall Google it.

Sonstiges: Programmiersprachen und ihre Module:

Wenn Sie Skripte programmieren oder nur erstellen, denken Sie daran, dass einige Sprachen über eigene Manpages-Systeme verfügen, z. B. Perl (perldocs), Python (pydocs) usw. Spezifische Informationen zu Methoden/Funktionen, Variablen, Verhalten und anderen wichtigen Informationen zu dem Modul, das Sie verwenden und lernen möchten. Dies war nützlich für mich, als ich ein Skript zum Herunterladen ungelesener IMAP-E-Mails mit dem Modul Perl Mail::IMAPClient erstellte.

Sie müssen diese spezifischen Manpages mithilfe von man -k Oder Online-Suche herausfinden. Beispiele:

[[email protected] ~]# man -k doc | grep Perl
perldoc              (1)  - Look up Perl documentation in Pod format


[[email protected] ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... Tonnen anderer Sachen hier, mit Abschnitten wie einer normalen Manpage ...

Mit Python:

[[email protected] ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

Oder die Funktion help() inside python Shell), wenn Sie weitere Details zu einem Objekt lesen möchten:

[email protected]:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Bonus: Der Befehl wtf kann Ihnen bei Akronymen helfen und funktioniert als whatis, wenn kein Akronym in der Datenbank vorhanden ist gefunden, aber was Sie suchen, ist Teil der Man-Datenbank. Unter Debian ist dieser Befehl Teil des Pakets bsdgames . Beispiele:

[email protected]:~$ wtf rtfm
RTFM: read the fine/fucking manual
[email protected]:~$ wtf afaik
AFAIK: as far as I know
[email protected]:~$ wtf afak
Gee...  I don't know what afak means...
[email protected]:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
[email protected]:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager
103
user34720

Dies wird in man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

Wie Sie daraus einen gültigen Befehl schreiben sollen, ist es nicht. Die Zusammenfassung ist hilfreich, wenn Sie wissen, wie ein Befehl funktioniert. Es kann Ihnen helfen, Ihr Gedächtnis aufzufrischen. Um zu verstehen, wie der Befehl funktioniert, sollten Sie die Manpage lesen. Insbesondere die Beschreibungen der Optionen und der Beispielabschnitt.

Manchmal reicht die Zusammenfassung. Zum Beispiel in man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

In anderen Fällen ist es nutzlos, es sei denn, Sie wissen bereits, wie der betreffende Befehl verwendet wird. Beispielsweise, man dd:

   dd [OPERAND]...
   dd OPTION

Machen Sie sich also abschließend keine Sorgen, wenn Sie die Zusammenfassung nicht erhalten. Das ist normal. Lesen Sie die Manpage selbst.

38
terdon

Einige Grundlagen zum Verständnis der Übersicht

  • jeder [foo] stehen für ein optionales Argument oder einen optionalen Parameter.
  • wann [foo [ bar ] ] Syntax wird verwendet, Sie können foo verwenden und Sie können Balken hinzufügen.
  • obligatorische Optionsparameter werden auf diese Weise verwendet [ -S size ], die angeben, dass das Argument -S auf eine obligatorische Größe wartet.

Zum Beispiel : foo [-S size ] filename ...

meint

  • befehl ist foo
  • optionaler Parameter -S kann verwendet werden, müssen Sie size mitteilen (Name gibt Ihnen einen Hinweis)
  • das obligatorische Argument ist filename (dies gibt Ihnen auch einen Hinweis, siehe man mkdir)
  • elipsen ... sagen Sie, dass Sie mehrere Dateien verwenden können.

Sie müssen noch in die Tiefe der Manpage gehen, um die Option zu verstehen (in meinem obigen Beispielfall, was -S size handelt von )

21
Archemar

man Seiten werden heutzutage normalerweise mit less angezeigt. Das macht es möglich, sie zu durchsuchen. Ich würde mich nicht um die Zusammenfassung kümmern, insbesondere nicht, weil Sie eine bestimmte Befehlszeile haben, die Sie verstehen möchten.

Schlagen Sie die / und tippe -I und dann Enter. Der erste Treffer wird in der Inhaltsangabe sein, der zweite (verwenden) n für next) erhalten Sie die detaillierte Erklärung für -I.

14
Anthon

Eine wichtige Sache, die Sie beachten sollten, ist, dass Sie bei Befehlen, die andere Befehle ausführen, nicht nur das Handbuch für einen Befehl lesen können.

Für Ihren Beispielbefehl

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

Sie benötigen Informationen nicht nur zu xargs, sondern auch zu bash und [ (Dies kann in der Manpage test enthalten sein). Möglicherweise benötigen Sie auch Informationen zu Ihrer Shell (wahrscheinlich auch Bash) für die Anführungszeichen, da Ihr Befehl eine komplexe Zeichenfolge in Anführungszeichen enthält. Ich kann Ihnen bereits sagen, dass das zitierte Argument falsch ist (und auf eine Weise falsch ist, die nur angezeigt wird, wenn Sie auf eine Datei mit Leerzeichen im Namen stoßen). Das innere "{}" sollte wahrscheinlich '{}' sein.

Sie würden also zuerst auf die xargs-Manpage verweisen und [-I replace-str] Sehen, was -I {} Bedeutet, und [command [initial-arguments]], Was bash und alles danach bedeutet. Dann würden Sie auf die Manpage bash verweisen, was -c Tut usw.

11
Random832

Hinzu kommen die bereits gegebenen großartigen Antworten:

1) Wenn Sie an einem Gnu-Dienstprogramm interessiert sind, insbesondere an solchen wie sed und grep, wird manchmal mit dem Befehl info eine stark erweiterte Version des Befehls angezeigt Information. sed enthält beispielsweise einen detaillierten Abschnitt zum Schreiben regulärer Ausdrücke und einen weiteren Abschnitt mit einigen sehr komplexen Verwendungsbeispielen.

2) Es ist ein "Handbuch". Ein Handbuch soll Ihnen in erster Linie dabei helfen, sich an die Details von etwas zu erinnern, das Sie bereits verstanden haben. Es ist so konzipiert, dass Sie schnell die Details erhalten, die Sie benötigen, und herauskommen können. (Und viel zu viele haben keine oder nur triviale Verwendungsbeispiele.)

Wenn ich etwas Neues lernen muss, sogar eine kleine Funktion eines Befehls, die mir nicht klar ist, gehe ich ins Internet und suche mit den besten Schlüsselwörtern, die mir einfallen (z. B. Linuxxargs) und fügen Sie das Wort howto, examples oder tutorial hinzu. Das ist sehr oft sehr produktiv.

Normalerweise verwende ich duckduckgo, weil es meine Privatsphäre schützt. Wenn ich jedoch mehr Kontrolle über meine Suchanfragen benötige, verwende ich Google, weil ich es nur anweisen kann, innerhalb einer Website zu suchen oder nur Ergebnisse aus dem letzten Jahr zurückzugeben. (Es gibt viele andere Optionen für die erweiterte Suche. Sie können sie googeln .;))

Ein weiterer Tipp:

Für Befehle, auf die ich häufig verweise, speichere ich die Manpage in einer Textdatei

man bash > bashman.txt

und lade diese Datei in ein anderes Fenster in meinem Texteditor, damit ich hin und her blättern, kopieren und einfügen usw. kann. Normalerweise lasse ich die Datei schreibgeschützt, damit ich sie nicht versehentlich beschädige, aber da es meine ist Persönliche Kopie, ich könnte sie nach Belieben bearbeiten, Tags hinzufügen, um einen Abschnitt leichter zu finden, oder sogar meine eigenen Notizen oder Beispiele hinzufügen.

Der einzige Nachteil dabei ist, dass die ursprüngliche Manpage möglicherweise aktualisiert wird und meine Kopie statisch ist.

6
Joe

Um eine schnelle Hilfe zu Ihrem spezifischen Befehl zu erhalten, können Sie Explain Shell verwenden. Z.B. dein Befehl . Nachdem Sie das erste allgemeine Verständnis dafür erhalten haben, wie dies funktioniert, sollten Sie mit den Manpages fortfahren, wie andere Antworten empfehlen.

4
AvImd

Es gibt zwei nützliche Tools, um mehr über die Linux-Befehle zu erfahren:

  1. cheat zeigt die häufig verwendete Option für eine Befehlszeile an. Sie können auch Ihr eigenes command + option Hinzufügen, das über cheat für einen bestimmten Befehl angezeigt wird.
  2. bropages Tool bietet ein Beispiel für eine Befehlszeile. Es ist möglich, ein eigenes Beispiel hinzuzufügen oder das angegebene Beispiel zu bewerten/zu bewerten, nachdem Sie den Bestätigungscode über bro thanks erhalten haben. Der Befehl muss gewählt werden, der oben auf der Seite bro angezeigt wird.
2
GAD3R

Ich schlage tldr für ein umfassendes man-like-Tool vor. Vereinfachte und Community-gesteuerte Manpages. In Ubuntu können Sie es per Snap installieren, es gibt jedoch auch Versionen für andere Distributionen. Es bietet Ihnen auch einige häufig verwendete Beispielanwendungen. 100% empfohlen.

1

> Ich suche Hilfe beim Interpretieren einer Manpage, um komplizierte Befehle zu verstehen.

Ich denke, das ist das Missverständnis hier. Was Linux/UNIX so leistungsfähig macht, ist, dass Sie sehr lange und effektive Befehle erstellen können, indem Sie z. Umleiten des stdout eines Befehls (hier locate) zum stdin eines anderen (hier xargs) durch eine Pipe (|). Daher finden Sie, wie Random832 richtig sagte, keine einzige Manpage, die erklärt, was Ihr Beispielbefehl tut.

Ich empfehle Ihnen, eine Linux Shell-Skriptanleitung zu lesen. Das Advanced Bash-Scripting Guide ist ein ausgezeichnetes Dokument. Bitte lassen Sie sich davon nicht einschüchtern. Das Beherrschen von Linux erfordert Jahre und ist ein nie endender Prozess, aber Sie können die Grundlagen in angemessener Zeit erlernen.

Lesen Sie dann die Manpages, wenn Sie die Details eines bestimmten Befehls kennen müssen.

Sobald Sie das Wesentliche verstanden haben, sind Commandlinef und Bash One-Liners ebenfalls lesenswert, um gute Beispiele zu erhalten.

0
dr_