Acte VI-II : Les redirections et les tubes





Redirection d'entrées sorties


De nombreux programmes UNIX donnent leurs informations à l'écran. Par commodité, il est souvent nécessaire de sauver ces données dans un fichier pour pouvoir ensuite les voir en totalité ou les traiter.

Toutes les commandes utilisent des canaux d'entrées/sorties pour lire des données ou tranmettre des informations. Par défaut, le canal d'entrée est le clavier et le canal de sortie est l'écran. Mais il est très facile de substituer au canal d'entrée ou au canal de sortie un fichier.


Le fichier /dev/null
C'est un fichier "puit infini" : vous pouvez y rediriger tout ce dont vous n'avez pas besoin (ces données sont évidemment perdues).

Le concept de filtre


Un filtre est un programme sachant écrire et lire des données par les canaux standard d'entrée et de sortie
Par exemple, imaginez que vous souhaitiez compter le nombre de fichier dans le répertoire /dev. Soit vous les comptez (bonne chance) soit vous sauvegardez le résultat de ls -l /dev dans un fichier et vous utilisez wc sur ce fichier. Mais cela vous oblige à travailler avec un fichier auxiliaire. En fait on peut brancher le canal de sortie d'une commande au canal d'entrée d'une autre commande grâce au pipelining par |. Il suffit de faire ls -l /dev | wc -l et vous avez le résultat.
Quelques commandes mise à part wc qui peuvent servir de filtres : IMPORTANT
  1. On peut avoir plusieurs pipeline par ligne
  2. La première et la dernière commande d'une ligne de pipeline peuvent ne pas être des filtres
  3. A la fin du pipeline le résultat peut être redirigé vers un fichier

Exercices