So lesen Sie die Verwendung von Unix

7219
sixtyfootersdude

Ich habe etwas gesucht, finde aber keine Dokumentation, wie die Verwendung von Unix funktioniert. Ich weiß etwas (meistens durch Ausprobieren), aber woher weiß ich das zum Beispiel?

/usr/bin/ls [-aAbcCdeEfFghHilLmnopqrRstuvVx1@] [file]... 

bedeutet, dass Sie mehr als eine Option hinzufügen können? Das ist,

ls -la 

Wo ist eine Dokumentation zur Verwendungssyntax?

16
POSIX sagt etwas über die Formatierung von Verwendungs- / Hilfedisplays aus, aber über die Core Utilities (GNU) hinaus folgen nur wenige konsequent. Tim Post vor 14 Jahren 0
@ Tim, ich habe dort nichts zu gebrauchen. sixtyfootersdude vor 14 Jahren 0
(Bitte nehmen Sie dies nicht als RTFM-Beitrag. Es ist mehr ein lustiger Kommentar.) Sie können tatsächlich "man man" ausführen und nach unten scrollen, um die Syntaxrichtlinien zu finden. ThinkBonobo vor 9 Jahren 0

3 Antworten auf die Frage

34
frankc

Es ist wahr, es gibt keinen RFC oder irgendetwas, aber Sie gehen nicht zu weit weg von der Basis, wenn Sie sich an die folgenden Richtlinien halten:

  1. Alles in spitzen Klammern < >bedeutet, dass die Option erforderlich ist:
    <foo>

  2. Alles in eckigen Klammern [ ]bedeutet, dass die Option optional ist:
    [bar]

  3. Durch eine Pipe getrennte Optionen |bedeuten, dass dies die gültigen Werte sind:
    --baz=one|two|three

  4. Die Optionen für einen Buchstaben beginnen mit einem Bindestrich:
    -a

  5. Mehrbuchstabenoptionen beginnen mit zwei Strichen:
    --foo-bar

  6. (basierend auf # 4) Ein einzelner Strich mit mehreren Buchstaben bedeutet in der Regel die Vereinigung dieser einzelnen Optionen mit nur einem Buchstaben und nicht eine Option mit mehreren Buchstaben. Nicht alle Befehle unterstützen diese Art der Vereinigung. Beispiel:
    -aAbBcCist dasselbe wie-a -A -b -B -c -C

Mann Mann oder Mann 5 Mann mpez0 vor 13 Jahren 1
Es gibt kein RFC, aber es gibt die [POSIX-Spezifikationen] (http://pubs.opengroup.org/onlinepubs/9699919799/), zu denen [Utility Conventions] (http://pubs.opengroup.org/onlinepubs/9699919799/ gehören. basedefs / V1_chap12.html) Wildcard vor 8 Jahren 1
6
Peter Mortensen

Es gibt keine strikte Struktur für Manpages, jedoch werden im Folgenden die meisten Befehle behandelt.

Unter MANUAL PAGES (5), BSD File Formats Manual, Abschnitt "MANUAL PAGE SYNTAX":

In der Syntax der manuellen Seite ist alles, was sich in einer normalen Textschrift befindet, Text erforderlich. Alles, was sich in einer Fettschrift befindet, ist eine Flagge oder ein Unterbefehl. Alles unterstrichen ist ein benutzerdefiniertes Argument, z. B. ein Dateiname.

Jedes Argument in eckigen Klammern wird als optional betrachtet. Beispielsweise würde [Dateiname] ein optionales Dateinamenargument angeben.

Flags, Argumente oder Unterbefehle, die durch ein vertikales Trennzeichen (|) getrennt sind, schließen sich gegenseitig aus. Wenn beispielsweise -a eine Option aktiviert und -b die Option deaktiviert, lautet die Syntax für diesen Befehl möglicherweise -a | -b.

In einigen Fällen werden sogar ganze Gruppen von Argumenten angezeigt, die in eckige Klammern eingeschlossen und durch ein vertikales Trennzeichen voneinander getrennt sind. Dies ist eine Möglichkeit, um zu zeigen, dass ein Befehl mehr als eine gültige Syntax hat. In anderen Handbuchseiten wird dies durch mehrere Zeilen in der Übersicht dargestellt, von denen jede mit dem Befehlsnamen beginnt. Das getrennte Format ist häufiger (und lesbarer), aber für Befehle mit einer besonders komplexen Syntax ist es nicht immer möglich.

Die wichtigste Notation ist schließlich die Verwendung der Ellipsen (...). Dies weist darauf hin, dass an dieser Stelle zusätzliche Argumente hinzugefügt werden können.

5
clahey

Die Nutzungslinien folgen nichts Konsequentem.

Sie sollten man lsoder verwenden info ls, um ein einheitlicheres Informationsniveau zu erhalten.