GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la magie de - (un tiret) dans les paramètres de ligne de commande ?

Si vous voulez dire le nu - à la fin du tar commande, c'est courant sur de nombreuses commandes qui veulent utiliser un fichier.

Il vous permet de spécifier une entrée ou une sortie standard plutôt qu'un réel nom de fichier.

C'est le cas pour votre premier et troisième exemple. Par exemple, le cdrecord la commande prend une entrée standard (le flux d'image ISO produit par mkisofs ) et en l'écrivant directement dans /dev/dvdrw .

Avec le cd commande, chaque fois que vous changez de répertoire, il stocke le répertoire d'où vous venez. Si vous faites cd avec le spécial - "nom du répertoire", il utilise ce répertoire mémorisé au lieu d'un vrai. Vous pouvez facilement basculer entre deux répertoires assez rapidement en utilisant cela.

D'autres commandes peuvent traiter - comme un différent valeur spéciale.


Ce n'est pas de la magie. Certaines commandes interprètent - en tant qu'utilisateur souhaitant lire depuis stdin ou écrire sur stdout ; il n'y a rien de spécial à ce sujet pour le shell.


- signifie exactement ce que chaque commande veut qu'elle signifie. Il existe plusieurs conventions courantes, et vous en avez vu des exemples pour la plupart dans d'autres réponses, mais aucune d'entre elles n'est universelle à 100 %.

Il n'y a rien de magique dans le - caractère en ce qui concerne le shell (sauf que le shell lui-même et certaines de ses commandes intégrées comme cd et echo , utilisez-le de manière conventionnelle). Certains caractères, comme \ , ' , et " , sont "magique", ayant des significations particulières partout où ils apparaissent. Ce sont des "métacaractères shell". - n'est pas comme ça.

Pour voir comment une commande donnée utilise - , lisez la documentation de cette commande .


Linux
  1. Crontab tapé accidentellement avec juste le tiret ?

  2. Qu'est-ce que la commande tree dans Ubuntu ?

  3. Quel est l'équivalent de la commande Linux File pour Windows ?

  4. Quel est l'équivalent du ~ (tilde) de Linux dans Windows ?

  5. Quel est le but de cd ` (backtick) ?

Qu'est-ce que la commande Linux Watch + Exemples

Quelle est la différence entre la commande apt et apt-get ?

Useradd vs Adduser :quelle est la différence ?

Qu'est-ce que la commande kill sous Linux ?

useradd vs adduser :quelles sont les différences ?

Quelle est la bonne syntaxe find -exec