Ich weiß, dass diese beiden Befehle dasselbe tun:
ls -la
ls -al
aber ich frage mich, ob es einen Vorzug zwischen ihnen gibt. Ist es besser, sie auf eine bestimmte Weise zu bestellen?
command-line
Tim
quelle
quelle
Antworten:
Es spielt keine Rolle *, es sei denn, ein Befehl erwähnt dies ausdrücklich. Ich bin auf keinen Hinweis gestoßen, der so etwas wie eine Anleitung gab, wie man die Optionen nacheinander setzt. Ich denke aus Gründen der Lesbarkeit können die Optionen alphabetisch geordnet werden.
* Es gibt einen sehr sehr wichtigen Cavaet: Wenn eine Option einen Dateinamen oder eine andere Eingabe benötigt, müssen Sie sie entsprechend einfügen.
Zum Beispiel die
-f
Option,grep
eine Datei als Eingabe zu nehmen, um das zu suchende Muster aus der Eingabedatei zu übernehmen. Sie müssen den Befehl wie folgt eingeben:Wenn du es so verwendest:
Es schlägt fehl, da es
c
als Dateiname verwendet wird.quelle
Die POSIX- Konventionen legen in den Richtlinien 11 und 12 der Utility-Syntax-Richtlinien fest, dass die Bestellung " keine Rolle spielen sollte ", es sei denn, sie ist nicht für das Utility selbst dokumentiert.
Das GNU C Library Reference Manual berücksichtigt auch diese POSIX-Konventionen in 25.1.1 Program Argument Syntax Conventions .
Beachten Sie jedoch, dass es mehrere Dienstprogramme gibt, die in bestimmten Situationen strikte Anweisungen zum Ausführen der Parameter geben (z. B. find). Aus der Suchmanpage :
Manchmal beschwert sich das Dienstprogramm über die Bestellung.
quelle
find
nur ein paar Optionen, POSIX definiert nur die beiden Optionen-H
und-L
. Die GNUfind
in Ubuntu hat ein paar weitere Optionen, aber-type
und-name
werden als Operatoren betrachtet , nicht als Optionen . Und für Bediener ist in der Regel die Reihenfolge wichtig.Mit ls kann man bei der Bestellung von Optionen kaum etwas falsch machen.
Beachten Sie jedoch, dass andere Befehle je nach Reihenfolge unterschiedlich auf Optionen reagieren können.
Ein Beispiel ist der Befehl find. Sie erhalten unterschiedliche Ergebnisse zum Beispiel zwischen:
Und
quelle
Wenn Sie üben möchten, alphabetisieren Sie vielleicht kurze Zeichenfolgen. Ich finde zwei Strategien nützlich: Wörter bilden (Tippfehler reduzieren) und Sätze bilden (Verständnis verbessern).
Zum Beispiel benutze ich ls normalerweise,
ls -halF
weil ich trotz der seltsamen Groß- und Kleinschreibung besser in der Lage bin, halF einzugeben als etwas wie Falh , das kein Wort ist.Bei tar hingegen
tar czvf filename
schreibe und sage ich (in meinem Kopf) "tar Create and Zip, Verbosely For filename", weil ich so gelernt habe, was die verschiedenen Buchstaben bedeuten.quelle
Wie andere geantwortet haben, spielt es keine Rolle (sofern nicht anders dokumentiert oder Optionsargumente weitere Argumente annehmen).
Aber ist es besser, die Optionen alphabetisch zu ordnen, ist fraglich.
Persönlich finde ich, dass Mnemonik mehr Wert als strenge alphabetische Reihenfolge bietet. Es ist einfacher, sich eine Reihe von Optionen zu merken, wenn sie ein einprägsames Wort bilden.
vs:
Wenn Sie also eine bestimmte Kombination von Optionen für einen Befehl wiederholen, können Sie versuchen, die Buchstaben in eine Reihenfolge zu bringen, die für Sie am einfachsten zu merken ist.
quelle