pipes vs. redirecionamentos


20

Estou usando pipes e redirecionamentos há muito tempo e percebi que não sei exatamente como eles são diferentes. Eu só sei que se você quiser armazenar a saída em um arquivo, use>. Caso contrário, na maioria das vezes você apenas usa |. Alguém pode explicar a diferença entre pipes e redirecionamentos?


Respostas:


19

Os dois fazem a mesma coisa básica; eles redirecionam um descritor de arquivo do processo executado. A diferença está em como. Um canal conecta o stdout de um processo ao stdin de outro, enquanto o redirecionamento redireciona de / para um arquivo ( >de stdout para um arquivo, <de um arquivo para stdin).


1
A distinção meio que desfoca no Linux e em outros sistemas que possuem /dev/fd. Por exemplo, se você executar echo foo > >(somecommand), ele será expandido para echo foo > /dev/fd/3. Ainda é o redirecionamento, mas para um processo.
grawity
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.