Fundamentos do sistema Linux - direcionadores
Direcionadores de fluxo fazem o que o nome sugere: direcionam o fluxo da saída dos programas, enviando-as para locais diferentes da saída padrão. Esses locais podem ser arquivos, dispositivos, processos e outros programas. Nesse artigo veremos como utilizar os direcionadores do Linux para facilitar a vida do administrador de sistemas.
Parte 4: O direcionador &>
Podemos usar os direcionadores > e 2> em conjunto, para gerar um arquivo com a saída padrão e outro com a saída de erros, dessa forma:
$ ls /tmp diretorio_inexistente > ls_out 2> ls_error
O comando acima pede para listar o conteúdo dos diretórios /tmp/ e /diretorio_inexistente/. Ao ver o conteúdo dos arquivos ls_out e ls_error, temos:
$ cat ls_out
a-distribuicao-debian-gnu-linux.sxw
curso-linux.ps
gaimDanpGg
gconfd-davidson
keyring-5iM9Mk
mapping-davidson
orbit-davidson
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
svmc2.tmp
tmp.xpi
xmms_davidson.0
$ cat ls_error ls: diretorio_inexistente: Arquivo ou diretório não encontrado
Mas, e se for necessário gravar todas as mensagens em um arquivo apenas? Para isso existe o direcionador &>, que direciona tanto as mensagens padrão quanto as mensagens de erro para um arquivo.
Repetindo o teste anterior:
$ ls /tmp diretorio_inexistente &> ls_out
Nenhuma mensagem é exibida no terminal, e o conteúdo do arquivo ls_out é o seguinte:
$ cat ls_out
ls: arquivo_inexistente: Arquivo ou diretório não encontrado
/tmp:
a-distribuicao-debian-gnu-linux.sxw
curso-linux.ps
gaimDanpGg
gconfd-davidson
keyring-5iM9Mk
mapping-davidson
orbit-davidson
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
svmc2.tmp
tmp.xpi
xmms_davidson.0
Como vemos, temos tanto a saída normal quanto as mensagens de erro.
$ ls /tmp diretorio_inexistente > ls_out 2> ls_error
O comando acima pede para listar o conteúdo dos diretórios /tmp/ e /diretorio_inexistente/. Ao ver o conteúdo dos arquivos ls_out e ls_error, temos:
$ cat ls_out
a-distribuicao-debian-gnu-linux.sxw
curso-linux.ps
gaimDanpGg
gconfd-davidson
keyring-5iM9Mk
mapping-davidson
orbit-davidson
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
svmc2.tmp
tmp.xpi
xmms_davidson.0
$ cat ls_error ls: diretorio_inexistente: Arquivo ou diretório não encontrado
Mas, e se for necessário gravar todas as mensagens em um arquivo apenas? Para isso existe o direcionador &>, que direciona tanto as mensagens padrão quanto as mensagens de erro para um arquivo.
Repetindo o teste anterior:
$ ls /tmp diretorio_inexistente &> ls_out
Nenhuma mensagem é exibida no terminal, e o conteúdo do arquivo ls_out é o seguinte:
$ cat ls_out
ls: arquivo_inexistente: Arquivo ou diretório não encontrado
/tmp:
a-distribuicao-debian-gnu-linux.sxw
curso-linux.ps
gaimDanpGg
gconfd-davidson
keyring-5iM9Mk
mapping-davidson
orbit-davidson
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
svmc2.tmp
tmp.xpi
xmms_davidson.0
Como vemos, temos tanto a saída normal quanto as mensagens de erro.
direcionadores é matéria para LPI, caso alguém tiver interesse.
valeu