O que essa linha de comando faz?

O que essa linha de comando faz?

Por favor, explique isso de uma forma que eu possa entender:

ps ax >mytemp; more <mytemp … same as … ps ax | more
cat mytemp | grep barrymp … same as … ps ax | grep “barrymp”

Responder1

Pegando uma linha de cada vez, dividindo cada linha ao meio:

ps ax >mytemp; more <mytemp

Pega a saída de ps axe a coloca em um arquivo chamado mytemp. O ponto e vírgula marca o início de um comando separado na mesma linha. O segundo comando pega o conteúdo mytempe o alimenta more(um pager que exibe o arquivo tela por tela). Suas anotações dizem que isso é o mesmo que ps ax | moreé verdade, exceto que não cria um mytemparquivo temporário. Ambos efetivamente pegam a saída ps axe eventualmente a tornam a entrada padrão paramore

Segunda linha:

cat mytemp | grep barrymp

Imprime o conteúdo de um arquivo chamado mytempstdout que é então redirecionado para a entrada padrão do grepcomando que foi fornecido barrymppara filtrar a saída.

As notas então dizem que é o mesmo que ps ax | grep "barrymp". Presumo que seja porque deveria ser o mesmo mytempdesde a primeira linha. A segunda metade dessa linha também ignora o arquivo temporário e vai direto para o redirecionamento da saída do comando para o canal para grep.

Tentei decompô-lo o máximo que pude, deixe-me saber se ainda não está claro.

informação relacionada