🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  1. Pipes et redirections

Pipes et redirections

PrécédentExercice : configurer votre espace webSuivantRedirections des fichiers

Dernière mise à jour il y a 2 ans

Les commandes UNIX bénéficient d'un système de communication inter-processus.

C'est à dire, une commande peut envoyer des résultats sur un flux, et ce flux peut -être lu, traité, transformé ou interprété par une commande suivante. On pourrait ainsi créer des enchaînements de commandes.

Il existe trois flux adressables :

  • standard in : un flux entrant

  • standard out : un flux sortant (avec les résultats)

  • standard err : un flux sortant (avec des erreurs)

Les données sortantes (stdout) d’une commande peuvent être redirigées dans le stdin d’une commande suivante :

cat test.txt | grep "hello" | wc -l

On utilise le symbole | pour représenter les tuyaux entre les différentes commandes.

Et les deux extrémités de mon flux ?

  • Coté entrant, on pourrait lire des données du flux standard in. Selon la commande, on va lire automatiquement du standard in, ou bien préciser de lire de ce flux (au lieu d'un fichier) avec une option

  • Coté sortant, on affiche le texte résultant de notre enchaînement sur le standard out, qui dans notre cas est dans l'invite de commandes.

Qu’est-ce qui se passe si je tape grep "hello" tout seul sur l’invite de commande ? Essayez !

  • Vous arrivez à expliquer ce qui se passe ?

🌊