Tuyaux dans Bash
Ce tutoriel explique ce que sont les canaux et leur utilisation dans les environnements Unix et Linux.
Pipes sous Unix et Linux
Les canaux dans les environnements Unix et Linux transmettent la sortie standard d’une commande comme entrée standard à l’autre commande pour un traitement ultérieur. Les canaux utilisent l’opérateur de canal pour transmettre la sortie d’une commande à l’autre commande en tant qu’entrée. L’opérateur pipe est une barre verticale, |
.
Lors de l’utilisation de canaux, les données circulent de gauche à droite. Les tubes permettent de transmettre des données de manière transparente et continue entre les commandes au lieu d’utiliser des fichiers texte pour transmettre des données.
La syntaxe suivante est utilisée pour les canaux.
command1 | command2 | command3
À partir de la syntaxe ci-dessus, la sortie standard de command1
est redirigée vers command2
comme entrée standard. command2
traite l’entrée standard de command1
et envoie la sortie à command3
pour un traitement ultérieur.
Utiliser des tuyaux dans Bash
Les exemples suivants illustrent l’utilisation de canaux dans Bash.
Dans l’image ci-dessous, la première commande ls
liste tout le contenu du dossier test
. La deuxième commande ls
dirige la sortie standard vers la commande head
en tant qu’entrée standard.
La commande head
a l’option -2
; cela indique à la commande head
d’afficher les deux premières lignes de la sortie de la commande ls
.
La première commande cat
affiche le contenu du fichier dans l’image ci-dessous, file1.txt
. La deuxième commande cat
dirige la sortie standard vers la commande grep
.
La commande grep
correspond à la ligne contenant le motif John
, et une fois la ligne trouvée, la sortie est redirigée vers la commande tee
, qui écrit la ligne dans le fichier output.txt
. La commande tee
redirige également sa sortie standard vers la commande wc
.
La commande wc
compte le nombre de mots, de caractères ou de lignes dans le fichier. Les options de wc
ont été définies sur -mwl
. Les options -m
indiquent à la commande wc
de compter le nombre de caractères dans le fichier et de l’afficher à l’écran.
Utilisez l’option -w
pour compter les mots dans le fichier, et l’option -l
est utilisée pour compter le nombre de lignes dans le fichier, et les chiffres sont imprimés sur la sortie standard via le terminal.
Le fichier output.txt
contient 1
ligne, 4
mots et 21
caractères.