He estado usando tuberías y redireccionamientos durante mucho tiempo y me di cuenta de que no sé exactamente cómo son diferentes. Solo sé que si quieres almacenar la salida en un archivo, entonces usas>. De lo contrario, la mayoría de las veces solo usas |. ¿Alguien puede explicar la diferencia entre tuberías y redireccionamientos?
23
Respuestas:
Los dos hacen lo mismo básico; redirigen un descriptor de archivo del proceso ejecutado. La diferencia radica en cómo. Una tubería conecta la salida estándar de un proceso con la entrada estándar de otro, mientras que la redirección redirige desde / hacia un archivo (
>
de salida<
estándar a un archivo, de un archivo a entrada estándar).fuente
/dev/fd
. Por ejemplo, si ejecutaecho foo > >(somecommand)
, se expandirá aecho foo > /dev/fd/3
. Todavía es una redirección, pero a un proceso.