Sei sulla pagina 1di 2

13 - COMANDOS DE REDIRECIONAMENTO E PIPE

---------------------------------------Tente ao invs de somente ">" use "2> /arquivo". Normalmente o ">"


somente pega a saida de comandos executados com sucesso em quanto
o "2>" eh a saida de erro padro.
13.1 - ">" = redireciona a sada de um programa/comando/script para algum
dispositivo ou arquivo ao invs do dispositivo de sada padro(monitor de
video). Quando usado com arquivos este redirecionamento cria ou substitui
o contedo do arquivo
EX: voc pode usar o comando "ls" para listar arquivos e usar
ls > listagem.txt
para enviar a sada do comando para o arquivo listagem.txt
O mesmo comando pode ser redirecionado para o segundo console "/dev/tty2"
usando:
ls > /dev/tty2
o resultado do comando "ls" ser exibido no segundo console
13.2 - ">>" = redireciona a sada de um programa/comando/script para algum
dispositivo ou final de arquivo ao invs do dispositivo de sada padro
(monitor de video). A diferena entre este redirecionamento duplo e o
simples, se caso for usado com arquivos, adiciona a sada do comando
ao final do arquivo existente ao invs de substituir seu contedo.
EX: voc pode acrescentar a sada do comando "ls" ao arquivo listagem.txt
do captulo anterior usando:
ls / >> listagem.txt
O mesmo comando pode ser redirecionado para o segundo console "/dev/tty2"
usando:
ls > /dev/tty2
o resultado do comando "ls" ser exibido no segundo console
13.3 - "<" = direciona a entrada padro de arquivo/dispositivo para um
comando. Este comando faz o contrrio do anterior ele envia dados ao comando.
Voc pode usar o comando
cat < file4.txt
para enviar o contedo do arquivo "file4.txt" ao comando "cat" que mostrar
seu contedo
13.4 - "2>" = redireciona a saida de erro padrao
/usr/programa1.sh 2> /home/arquivos/erros.txt = envia a saida de erro padrao
do comando programa1.sh para o arquivo erros.txt
13.5 - "&>" = envia a saida padrao e tambem o erro padrao para um
determinado arquivo
13.6 - "2>>" = o direcionamento no destrutivo d um append(adicionamento)
de sua sada de erro no arquivo erros.txt - script 2>> erros.txt
13.7 - "|" (pipe) = envia a sada de um comando para a entrada do prximo
comando para continuidade do processamento. Os dados enviados so processados
pelo prximo comando que mostrar o resultado do processamento.

EX:
ls -la | more = este comando faz a listagem longa de arquivos que enviado
ao comando `more' (que tem a funo de efetuar uma pausa a cada 25 linhas
do arquivo).
A principal diferena entre o "|" e o ">", que o Pipe envolve processamento
entre comandos, a sada de um comando enviado a entrada do prximo e o
">" redireciona a sada de um comando para um arquivo/dispositivo.
Voc pode notar pelo exemplo acima "ls -la | more" que ambos "ls" e "more"
so comandos porque esto separados por um "|" Se um deles no existir ou
estiver digitado incorretamente, ser mostrada uma mensagem de erro.
Um resultado diferente seria obtido usando um ">" no lugar do "|" A sada
do comando "ls -la" seria gravada em um arquivo chamado "more".

Potrebbero piacerti anche