tuyaux vs redirections


23

J'utilise des tuyaux et des redirections depuis longtemps et je viens de réaliser que je ne sais pas exactement en quoi ils sont différents. Je sais juste que si vous souhaitez stocker la sortie dans un fichier, vous utilisez>. Sinon, la plupart du temps, vous utilisez simplement |. Quelqu'un peut-il expliquer la différence entre les tuyaux et les redirections?


Réponses:


25

Les deux font la même chose de base; ils redirigent un descripteur de fichier du processus exécuté. La différence réside dans la façon dont. Un canal relie la sortie standard d'un processus à la sortie stdin d'un autre, tandis que la redirection redirige depuis / vers un fichier ( >de sortie standard vers un fichier, <d'un fichier vers stdin).


1
La distinction s'estompe sous Linux et d'autres systèmes qui l'ont /dev/fd. Par exemple, si vous exécutez echo foo > >(somecommand), il se développera echo foo > /dev/fd/3. C'est toujours une redirection, mais vers un processus.
user1686
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.