GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist die Magie von - (einem Bindestrich) in Befehlszeilenparametern?

Wenn Sie den nackten - meinen am Ende des tar Befehl, das ist bei vielen Befehlen üblich, die eine Datei verwenden wollen.

Es ermöglicht Ihnen, statt einer tatsächlichen eine Standardeingabe oder -ausgabe anzugeben Dateiname.

Das ist bei deinem ersten und dritten Beispiel der Fall. Beispiel:cdrecord Der Befehl nimmt die Standardeingabe (den von mkisofs erzeugten ISO-Image-Stream). ) und direkt nach /dev/dvdrw schreiben .

Mit dem cd Befehl, jedes Mal, wenn Sie das Verzeichnis wechseln, speichert es das Verzeichnis, aus dem Sie gekommen sind. Wenn Sie cd tun mit dem speziellen - "Verzeichnisname", es verwendet dieses gespeicherte Verzeichnis anstelle eines echten. Damit können Sie recht schnell zwischen zwei Verzeichnissen wechseln.

Andere Befehle können - behandeln als anders Sonderwert.


Es ist keine Magie. Einige Befehle interpretieren - als Benutzer, der von stdin lesen oder in stdout schreiben möchte; es gibt nichts Besonderes an der Shell.


- bedeutet genau das, was jeder Befehl bedeuten soll. Es gibt mehrere gängige Konventionen, und Sie haben Beispiele für die meisten von ihnen in anderen Antworten gesehen, aber keine davon ist 100 % universell.

An der - ist nichts Magisches Zeichen, soweit es die Shell betrifft (außer dass die Shell selbst und einige ihrer eingebauten Befehle wie cd und echo , verwenden Sie es auf herkömmliche Weise). Einige Zeichen, wie \ , ' , und " , sind "magisch", mit besonderen Bedeutungen, wo immer sie erscheinen. Dies sind "Shell-Metazeichen". - ist nicht so.

Um zu sehen, wie ein bestimmter Befehl - verwendet , lesen Sie die Dokumentation für diesen Befehl .


Linux
  1. Was ist der Baumbefehl in Ubuntu?

  2. Was bedeutet &am Ende eines Linux-Befehls?

  3. Was bedeutet die Syntax |&in der Shell-Sprache?

  4. Was ist das Windows-Analogon des Linux-Überwachungsbefehls?

  5. Was ist das Äquivalent zum Linux-Dateibefehl für Windows?

Was ist der Linux-Überwachungsbefehl + Beispiele

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Crontab versehentlich nur mit dem Bindestrich eingegeben?

Useradd vs. Adduser:Was ist der Unterschied?

Was ist der Kill-Befehl in Linux?

useradd vs. adduser:Was sind die Unterschiede?