web-dev-qa-db-fra.com

Qu'est-ce que le '|' (barre verticale) le caractère signifie dans une commande de terminal?

Exemple: dans une commande de terminal

xdpyinfo | résolution de grep
|
xdpyinfo
résolution
14
Tomáš Pečený

La barre verticale | est communément appelée un "tuyau". Il est utilisé pour canaliser une commande dans une autre. C'est-à-dire qu'il dirige la sortie de la première commande dans l'entrée pour la deuxième commande. Donc, votre explication est assez précise.

20
Dan

Il s’appelle pipe(ou pipelinename__) et signifie que la sortie de la commande qui l’a précédée est créée en tant qu’entrée en entrée de celle-ci.

Exemple:

dmesg | tail
bash --version | tac

Vous êtes invités à essayer la commande sans le tuyau.

Et oui, vous avez raison: dans ce cas, la commande xdpyinfoaffiche des informations et elle est analysée en grepname__. grepfiltre les résultats et affiche uniquement les lignes qui ont resolutionname__.

Plus d'informations sur pipename__:

8
Rinzwind

Le caractère | est parfois appelé un tuyau et est utilisé pour connecter le résultat d'une commande et le transmettre à l'autre.

Ainsi, xdpyinfo | grep resolution exécute d’abord la commande xdpyinfo (un utilitaire qui affiche des informations sur X) sans afficher de sortie. La sortie de cette commande est introduite dans grep (analyseur d'expression régulière) pour rechercher les entrées contenant une résolution.

Ce que vous voyez ne concerne que les informations souhaitées et non la sortie complète de la commande xdpyinfo.

1
Warren Hill

Votre interprétation est correcte. Le | caractère dirige la sortie de la première commande dans le flux d'entrée de la seconde. Les deux commandes s'exécutent en parallèle, en tant que deux processus simultanés. C'est une illustration du "paradigme des tuyaux et des filtres" (la construction de fonctions complexes en canalisant des fonctions simples), qui est la marque distinctive d'Unix.

Pour plus d'informations à ce sujet, je vous suggère de suivre un didacticiel sur les scripts bash ou Shell. Il y en a beaucoup sur le Web. Je parie que vous serez surpris par l'élégance et la puissance des coques Unix/GNU.

1
zwets