Unix-Befehle sind in der Regel wie folgt aufgebaut:

<befehl> [OPTION]... [FILE]...

Die Optionen können unterschiedlich angegeben werden. Entweder mit einem Bindestrich + einen Buchstaben oder mit zwei Bindestrichen + einem oder mehreren über Bindestrich verbundene Wörter. Hier ein paar Beispiele:

ls -a
ls --all
ls --almost-all
chmod -R
chmod --recursive

Die Schreibweise mit einem Bindestrich ist die Unix-Schreibweise, also ein Bindestrich + ein Buchstabe. Bei Angabe von mehreren Optionen können die Buchstaben hintereinander geschrieben werden. Beispiel

ls -l -a
ls -la

Die Schreibweise mit zwei Bindestrichen ist der GNU-Stil. Bei ganzen alten Unix-Werkzeugen gab es auch die Option ohne Bindestrich. Das findet man etwa beim Werkzeug tar.

Wenn du selbst Software entwickelst, rate ich dir dazu, beides anzubieten, also die Unix-Schreibweise und die GNU-Schreibweise.

Zudem wirst du manchmal isoliert zwei Bindestriche in einem Befehl lesen. Beispiel:

rm -f -- datei

Diese doppelten isolierten Bindestriche geben das Ende der Optionen an. Dies ist manchmal sinnvoll, wenn die Datei mit einer Option verwechselt werden könnte, falls sie auch mit einem Bindestrich beginnt.

...zur Antwort