Um eine tar-Datei für ein Verzeichnis zu erstellen, muss die Datei tar
Befehl mit compress
, verbose
und file
Optionen können folgendermaßen eingegeben werden:
$ tar -cvf my.tar my_directory/
Aber es funktioniert auch so:
$ tar cvf my.tar my_directory/
Das heißt, ohne den Bindestrich (-) vor den Optionen. Warum sollten Sie jemals einen Bindestrich (-) an die Optionsliste übergeben?
Akzeptierte Antwort:
Es gibt verschiedene Muster für Optionen, die in der Vergangenheit in UNIX-Anwendungen verwendet wurden. Mehrere alte, wie tar , verwenden Sie ein Positionsschema:
Befehlsoptionen-Argumente
wie zum Beispiel tar verwendet
tar *irgendwas*f „Datei bearbeitet“ *”Pfade der zu manipulierenden Dateien”*
In einem ersten Versuch, die Verwirrung zu vermeiden, tar und ein paar andere Programme mit dem alten Flags-Argument-Stil erlaubten es, die Flags mit Bindestrichen zu trennen, aber die meisten von uns alten Leuten haben das einfach ignoriert.
Einige andere Befehle haben eine kompliziertere Befehlszeilensyntax, wie dd(1) die Flaggen, Gleichheitszeichen, Pfadnamen, Argumente und ein Rebhuhn in einem Birnbaum verwendet, alles mit wilder Hingabe.
In BSD und späteren Unix-Versionen war dies mehr oder weniger zu Flags mit einem Zeichen zusammengewachsen, die mit „-“ gekennzeichnet waren, aber dies begann, ein paar Probleme aufzuwerfen:
- Die Flaggen könnten schwer zu merken sein
- manchmal wollte man eigentlich einen Namen mit ‚-‘ verwenden
- und besonders bei GNU-Werkzeugen begannen Einschränkungen durch die Anzahl möglicher Flags auferlegt zu werden. Daher haben GNU-Tools lange GNU-Optionen wie
--output
hinzugefügt .
Dann entschied Sun, dass das zusätzliche „-“ überflüssig sei und begann, lange Flags mit einzelnen „-“ zu verwenden.
Und so kam es zu dem Chaos, das es jetzt ist.