UP PREVIOUS NEXT - -Toolbox -Tecfa Manuel

3-4 Pipelines, redirections, standard input et output

Beaucoup d'utilitaires Unix sont conçus pour etre "couplés". Dans ce cas ce programmes peuvent lire depuis le standard input et font une sortie vers le standard output. Sans autre indication standard input et output corresspondent à votre terminal. Par exemple,

ls -la

affiche le contenu du répertoire courrant sur votre terminal. Maintenant on peut rajouter un filtre qui prend directement cette sortie (standard output). Par exemple

ls -la | more

"couple" le programme "more" à ls. Le signe "|" dénote une pipe line, c'est à dire organise un flux de données de "ls" vers "more". "More" est un simple utilitaire pour afficher du texte, il met par exemple en attente la sortie à chaque fois que votre écran est rempli. On peut enchainer autant de programmes que l'on veut comme le montre l'exemple suivant:

picttoppm mac.pict | ppmtogif | giftrans -t#FFFFFF > transparent.gif

produit un fichier gif transparent à partir d'un fichier *.pict.

On peut également rediriger la sortie d'un programme vers un fichier. Par exemple:

ls -la > temp.t

redirige la sortie de la commande "ls" vers le fichier temp.t. Inversement,

more < temp.t

redirige le contenu du fichier temp.t vers "more". Notez que dans cas la simple commande "more temp.t" aurait fait la meme chose. Ainsi, pour beaucoup d'autres commande le fichier input se donne comme simple argument.

Certains logiciels offrent aussi des options pour définir d'ou va une sortie. Souvent, il s'agit de l'opion "-o" Par exemple,

`giftrans -o nouveau.gif ancien.gif'
      est égal à `giftrans ancien.gif > nouveau.gif'
`tmltoc -toc nouveau.html ancien.html' 
       est égal à `htmltoc ancien.html > nouveau.html'

Notez aussi que les options viennent avant le nom du fichier input. Faites attention à toujours lire la doc pour un progamme inconnu, parfois un logiciel peut envoyer une sortie sur l'imprimante ou modifier l'ancien fichier au lieu de l'afficher sur le terminal!


UP PREVIOUS NEXT - -Toolbox -Tecfa Manuel