GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la magia di - (un trattino) nei parametri della riga di comando?

Se intendi il nudo - alla fine del tar comando, che è comune a molti comandi che vogliono usare un file.

Ti consente di specificare l'input o l'output standard piuttosto che un effettivo nome file.

Questo è il caso del tuo primo e terzo esempio. Ad esempio, il cdrecord sta prendendo l'input standard (il flusso di immagini ISO prodotto da mkisofs ) e scrivendolo direttamente in /dev/dvdrw .

Con il cd comando, ogni volta che cambi directory, memorizza la directory da cui provieni. Se fai cd con lo speciale - "nome directory", usa quella directory ricordata invece di quella reale. Puoi facilmente passare da una directory all'altra abbastanza velocemente usando questo.

Altri comandi possono trattare - come diverso valore speciale.


Non è magia. Alcuni comandi interpretano - come utente che desidera leggere da stdin o scrivere su stdout; non c'è niente di speciale nella shell.


- significa esattamente ciò che ogni comando vuole che significhi. Esistono diverse convenzioni comuni e hai visto esempi della maggior parte di esse in altre risposte, ma nessuna di esse è universale al 100%.

Non c'è niente di magico nel - carattere per quanto riguarda la shell (tranne che la shell stessa e alcuni dei suoi comandi incorporati come cd e echo , usalo in modi convenzionali). Alcuni caratteri, come \ , ' e " , sono "magico", con significati speciali ovunque appaiano. Questi sono "metacaratteri shell". - non è così.

Per vedere come un dato comando usa - , leggi la documentazione per quel comando .


Linux
  1. Crontab digitato accidentalmente con Just The Dash?

  2. Qual è l'equivalente del comando File Linux per Windows?

  3. Qual è l'equivalente di ~ (tilde) di Linux in Windows?

  4. Qual è lo scopo del comando hostnamectl?

  5. Qual è l'utilità della riga di comando del DNS inverso?

Cos'è il comando Linux Watch + Esempi

Qual è la differenza tra il comando apt e apt-get?

Useradd vs Adduser:qual è la differenza?

Qual è il comando kill in Linux?

Qual è il comando albero in Ubuntu?

useradd vs. adduser:quali sono le differenze?