pipe vs. reindirizzamenti


23

Sto usando pipe e reindirizzamenti da molto tempo e mi sono appena reso conto che non so esattamente come siano diversi. So solo che se vuoi archiviare l'output in un file, allora usi>. Altrimenti il ​​più delle volte usi semplicemente |. Qualcuno può spiegare la differenza tra pipe e reindirizzamenti?


Risposte:


25

Entrambi fanno la stessa cosa di base; reindirizzano un descrittore di file del processo eseguito. La differenza sta nel come. Una pipe collega lo stdout di un processo allo stdin di un altro, mentre il reindirizzamento reindirizza da / a un file ( >da stdout a un file, <da un file a stdin).


1
Il tipo di distinzione di sfocature in Linux e altri sistemi che hanno /dev/fd. Ad esempio, se si esegue echo foo > >(somecommand), si espanderà a echo foo > /dev/fd/3. È ancora il reindirizzamento, ma a un processo.
user1686
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.