GNU/Linux >> Znalost Linux >  >> Linux

V čem je kouzlo - (pomlčka) v parametrech příkazového řádku?

Pokud myslíte nahého - na konci tar příkaz, to je běžné u mnoha příkazů, které chtějí použít soubor.

Umožňuje vám specifikovat standardní vstup nebo výstup spíše než skutečný název souboru.

To je případ vašeho prvního a třetího příkladu. Například cdrecord příkaz přebírá standardní vstup (stream obrazu ISO produkovaný mkisofs ) a zapsat jej přímo do /dev/dvdrw .

Pomocí cd příkaz, pokaždé, když změníte adresář, uloží adresář, ze kterého jste přišli. Pokud uděláte cd se speciálním - "název adresáře", používá tento zapamatovaný adresář místo skutečného. Pomocí toho můžete snadno poměrně rychle přepínat mezi dvěma adresáři.

Jiné příkazy mohou zpracovávat - jako jiný zvláštní hodnotu.


Není to magie. Některé příkazy interpretují - jako uživatel, který chce číst ze stdin nebo zapisovat do stdout; pro shell na tom není nic zvláštního.


- znamená přesně to, co každý příkaz chce, aby znamenal. Existuje několik běžných konvencí a příklady většiny z nich jste viděli v jiných odpovědích, ale žádná z nich není 100% univerzální.

Na - není nic magického znak, pokud jde o shell (kromě samotného shellu a některých jeho vestavěných příkazů jako cd a echo , použijte jej konvenčním způsobem). Některé znaky, například \ , ' a " , jsou „magické“, které mají zvláštní významy, ať se objeví kdekoli. Jedná se o „skořápkové metaznaky“. - není takový.

Chcete-li vidět, jak daný příkaz používá - , přečtěte si dokumentaci k tomuto příkazu .


Linux
  1. Náhodně zadaný Crontab s Just The Dash?

  2. Co je stromový příkaz v Ubuntu?

  3. Co je ekvivalentní příkazu Linux File pro Windows?

  1. Jaký je účel cd ` (backtick)?

  2. Co má příkaz export dělat v Linuxu?

  3. Jaké je použití volby -o v příkazu useradd?

  1. Co znamená &na konci linuxového příkazu?

  2. Co znamená syntaxe |&v jazyce shellu?

  3. Co je Windows analogem příkazu watch v systému Linux?