Thème Jannah La licence n'est pas validée, Rendez-vous sur la page des options du thème pour valider la licence, Vous avez besoin d'une seule licence pour chaque nom de domaine.

Explication professionnelle de l'utilisation des pipes et des redirections dans les commandes Linux pour améliorer la productivité.

Comment utiliser les pipes et les redirections de manière professionnelle dans la ligne de commande Linux

La ligne de commande Linux est un outil puissant qui offre à l'utilisateur un contrôle total sur le système, mais son véritable atout réside dans la maîtrise des tubes et des redirections. Ces deux fonctionnalités permettent d'enchaîner les commandes et de transmettre les résultats avec une grande flexibilité.

52972123178_c7bc15383d_o-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

La fonction de redirection permet d'acheminer la sortie d'une commande vers une autre pour un traitement direct, tandis que les commandes de redirection permettent d'enregistrer les résultats dans des fichiers ou de modifier l'affichage des erreurs et des résultats. Ces techniques sont essentielles pour toute personne travaillant dans l'administration système, le développement logiciel ou même pour une utilisation quotidienne avancée.

Dans ce guide, nous expliquons le concept de tube et de redirection sous Linux, avec des exemples pratiques clairs pour vous aider à écrire des commandes plus efficaces et à effectuer des tâches complexes en une seule ligne.

Sommaire

  • Les commandes Linux utilisent le protocole Pipe standard pour les entrées, les sorties et les messages d'erreur.
  • Cette directive redirige le flux de sortie vers un fichier plutôt que vers une fenêtre de terminal.
  • Les flux permettent de lier des commandes entre elles, de sorte que la sortie de l'une devienne l'entrée d'une autre.
  • Sous Linux, les flux et le routage permettent d'exploiter efficacement les résultats des commandes. Vous pouvez les enregistrer dans des fichiers ou les utiliser comme entrée pour d'autres commandes. Voici ce qu'il faut savoir.

Qu'est-ce qu'un tuyau ?

Linux, comme les autres systèmes d'exploitation de type Unix, intègre la notion de flux. Chaque processus possède un flux d'entrée appelé stdin, un flux de sortie appelé stdout et un flux d'erreur appelé stderr. Sous Linux, comme dans le monde réel, les flux ont deux extrémités : une source (entrée) et une destination (sortie).

Le flux d'entrée peut provenir du clavier et permettre d'envoyer du texte, comme des informations ou des commandes, au processus. Le flux de sortie provient de la commande et s'affiche généralement dans la fenêtre du terminal. Le flux d'erreur standard (stderr) est également affiché dans la fenêtre du terminal.

Vous pouvez rediriger les flux et les acheminer à travers d'autres flux. La redirection consiste à envoyer la sortie vers un emplacement autre que la fenêtre du terminal. L'acheminement à travers d'autres flux consiste à utiliser la sortie d'une commande comme entrée pour une autre.

Lisez aussi:  Meilleures alternatives aux commandes Linux traditionnelles pour améliorer votre expérience en ligne de commande

Cela vous permet de lier des commandes entre elles pour créer des solutions sophistiquées à partir d'une simple séquence de commandes fonctionnant en harmonie.

Redirection des flux

La forme la plus simple de redirection consiste à récupérer la sortie d'une commande et à l'envoyer vers un fichier. Même ce cas simple peut s'avérer utile. Vous pourriez avoir besoin d'un journal de la sortie d'une commande, ou bien recevoir une quantité importante de données illisibles.

Sur cet ordinateur de test, la commande `du` génère 1380 lignes de texte. Nous allons enregistrer ces données dans un fichier.

du > disk-usage.txt
1-6 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

L'accolade indique que la sortie de la commande du est dirigée vers un fichier nommé disk-usage.txt. Aucune sortie n'est affichée dans la fenêtre du terminal.

On peut utiliser la commande `ls` pour vérifier que le fichier a bien été créé, et la commande `wc` pour compter le nombre de lignes, de mots et de caractères qu'il contient. Comme prévu, la commande `wc` indique que le fichier contient 1380 lignes.

ls 
wc disk-usage.txt
2-7 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Ce type de redirection crée ou remplace le fichier à chaque utilisation. Si vous souhaitez ajouter le texte redirigé à la fin d'un fichier existant, utilisez des doubles accolades « >> », comme suit.
ls /home/dave-mckay/ -R >> disk-usage.txt 
wc disk-usage.txt 
3-5 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
En utilisant l'option -N (numéros de ligne) avec la commande less, nous pouvons vérifier que de nouvelles informations ont été ajoutées après la ligne 1380.
4-4 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Si nous écrivons une commande qui génère une erreur, nous constaterons que, puisque nous ne redirigeons que la sortie standard (stdout), les messages d'erreur de la sortie d'erreur standard (stderr) sont toujours envoyés à la fenêtre du terminal.
wc disk-usage.txt missing-file.txt > results.txt 
wc: missing-file.txt: No such file or directory
cat results.txt

5-3 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Les résultats du fichier disk-usage.txt sont envoyés au fichier results.txt, tandis que le message d'erreur du fichier missing-file.txt est envoyé à la fenêtre du terminal.

On peut ajouter des indicateurs numériques aux chevrons droits pour indiquer le chemin de redirection. Le chemin 1 correspond à la sortie standard (stdout) et le chemin 2 à la sortie d'erreur standard (stderr). On peut ainsi facilement rediriger stdout vers un fichier et stderr vers un autre.

wc disk-usage.txt missing-file.txt 1> results.txt 2> error.txt 
cat results.txt
cat error.txt
6-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Si vous souhaitez rediriger les deux flux vers un seul fichier, nous redirigeons la sortie standard vers un fichier et indiquons à l'interpréteur de commandes de rediriger la sortie d'erreur vers la même destination que la sortie standard.
wc disk-usage.txt missing-file.txt 1> results.txt 2>&1
cat results.txt

7-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Tous les messages d'erreur sont enregistrés et envoyés dans le même fichier que la sortie système standard (stdout).

Lisez aussi:  Mythes courants sur les jeux Linux auxquels vous devriez cesser de croire

Vous pouvez choisir de ne pas enregistrer les données affichées ; vous souhaitez simplement éviter d'écrire quoi que ce soit dans la fenêtre du terminal. Le fichier de périphérique vide, qui absorbe tout ce qui lui est envoyé sans avertissement, est une destination pratique pour y envoyer les données indésirables.

rm disk-usage.txt missing-file.txt 1> /dev/null 2>&1

8-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Aucun message de sortie standard (stdout) ni d'erreur standard (stderr) n'est affiché dans la fenêtre du terminal, même si l'un des fichiers que nous supprimons est absent.

Une autre astuce que vous pouvez utiliser avec la redirection consiste à lire un fichier sur le flux d'entrée standard (stdin) de la commande.

wc < /etc/passwd
14-2 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Vous pouvez combiner cela avec la redirection de la sortie.
wc < /etc/passwd > results.txt
cat results.txt

15-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Diriger les sorties à travers Taille du tuyau

Retour Taille du tuyau Le routage de flux consiste à rediriger la sortie d'une commande vers l'entrée d'une autre. Cette fonctionnalité, parmi les plus puissantes de la ligne de commande, peut transformer votre utilisation des commandes et outils Linux essentiels.

Pour rediriger la sortie d'une commande vers une autre, on utilise le symbole de tube « | ». Par exemple, si l'on souhaite afficher en boucle tous les fichiers et sous-dossiers de son répertoire personnel, un aperçu rapide de la sortie de la commande `ls` s'affichera dans la fenêtre du terminal.

En redirigeant la sortie de la commande ls vers la commande less, nous obtenons les résultats affichés dans une visionneuse de fichiers facile à utiliser.

ls -R ~ | less

9-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Cette méthode est plus efficace que le processus manuel en deux étapes, qui consiste à envoyer le résultat dans un fichier puis à l'ouvrir, et elle prend moins de temps.

Diriger les sorties via une autre commande
L'intérêt du routage devient évident lorsque la seconde commande traite la sortie de la première commande.

Lisez aussi:  Pourquoi Linux devrait abandonner ces 5 fonctionnalités Windows

Comptons le nombre de comptes utilisateurs réels et fictifs sur votre machine. Nous utiliserons la commande `cat` pour afficher le contenu du fichier `/etc/passwd`, puis la commande `wc` pour l'analyser. L'option `-l(nombre de lignes)` comptera le nombre de lignes de ce fichier. Comme il y a une ligne par compte, le comptage est automatique.

cat /etc/passwd | wc -l
10-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Cela semble beaucoup. Examinons les noms de ces comptes. Cette fois-ci, nous utiliserons la commande `cat` avec la commande `awk`. La commande `awk` est configurée pour utiliser le deux-points `:` comme séparateur entre les champs et pour afficher le premier champ.
cat /etc/passwd | awk -F: '{print $1}'
11-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité
Nous pouvons continuer à ajouter des commandes. Pour trier la liste, ajoutez une commande de tri afin que la sortie d'awk soit dirigée vers cette commande.
cat /etc/passwd | awk -F: '{print $1}' | sort

12-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

Diriger les sorties par une série de commandes

Voici un ensemble de quatre commandes reliées à trois Taille du tuyauLa commande ps affiche la liste des processus en cours d'exécution. L'option -e (all) affiche tous les processus, tandis que l'option -o (output) spécifie les informations à afficher. Le symbole comm indique que l'on souhaite afficher uniquement le nom du processus.

La liste des noms de processus est ensuite transmise à la commande `grep`, qui filtre les processus contenant le mot « chrome » dans leur nom. Cette liste filtrée est ensuite transmise à la commande `sort` pour être triée. La liste triée est ensuite transmise à la commande `uniq`. L'option `-c` (compte) permet de compter le nombre de noms de processus uniques. À titre d'exemple, nous allons répéter la même procédure avec le navigateur Firefox.

ps -e -o comm | grep chrome | sort | uniq -c
ps -e -o comm | grep firefox | sort | uniq -c
13-1 Explication de l'utilisation professionnelle des pipes et des redirections dans les commandes Linux pour améliorer la productivité

D'innombrables combinaisons

Vous pouvez combiner autant de commandes que vous le souhaitez, mais sachez que chaque commande s'ouvre dans une nouvelle fenêtre. Cela ne devrait pas poser de problème, même sur des ordinateurs modernes aux performances modestes. Toutefois, si vous constatez un ralentissement, pensez à simplifier vos commandes. Ou, tout simplement, patientez.

La maîtrise des pipes et des redirections sous Linux offre un niveau de contrôle et d'efficacité inédit pour la gestion de votre système. Ces outils, en apparence simples, peuvent vous faire gagner un temps précieux et vous épargner bien des efforts.

Essayez d'appliquer concrètement ces exemples sur votre appareil, et vous constaterez comment réaliser des tâches complexes avec des commandes concises et professionnelles.

Aller au bouton supérieur