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 9: O comando tee
O tee não é um direcionador, mas um utilitário. Quando usado junto com o pipe |, o tee permite que a saída padrão do comando seja exibida na tela e enviada para um arquivo ao mesmo tempo.
Usamos o tee da seguinte maneira:
$ [comando] | tee [arquivo]
Como exemplo, vamos usar o comando ls -la, para direcionar a saída para o arquivo listagem.txt e também exibir essa listagem na tela:
$ ls -la | tee listagem.txt
total 22
drwxrwxrwt 9 root root 552 2005-03-15 10:27 .
drwxr-xr-x 22 root root 648 2005-03-08 23:17 ..
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .font-unix
drwx------ 3 davidson davidson 72 2005-03-15 09:14 gconfd-davidson
srw-rw-rw- 1 root root 0 2005-03-15 09:14 .gdm_socket
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .ICE-unix
drwx------ 2 davidson davidson 72 2005-03-15 09:14 keyring-odX4hA
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:14 mapping-davidson
drwx------ 2 davidson davidson 784 2005-03-15 09:58 orbit-davidson
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:37
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
-rw------- 1 davidson davidson 8885 2005-03-15 10:26 redirecionamento-e-pipe.sxw
drwx------ 2 davidson davidson 176 2005-03-15 10:35 sv5g2.tmp
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X0-lock
drwxrwxrwt 2 root root 96 2005-03-15 09:14 .X11-unix
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X64-lock
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:23 xmms_davidson.0
$ cat listagem.txt
total 22
drwxrwxrwt 9 root root 552 2005-03-15 10:27 .
drwxr-xr-x 22 root root 648 2005-03-08 23:17 ..
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .font-unix
drwx------ 3 davidson davidson 72 2005-03-15 09:14 gconfd-davidson
srw-rw-rw- 1 root root 0 2005-03-15 09:14 .gdm_socket
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .ICE-unix
drwx------ 2 davidson davidson 72 2005-03-15 09:14 keyring-odX4hA
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:14 mapping-davidson
drwx------ 2 davidson davidson 784 2005-03-15 09:58 orbit-davidson
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:37
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
-rw------- 1 davidson davidson 8885 2005-03-15 10:26 redirecionamento-e-pipe.sxw
drwx------ 2 davidson davidson 176 2005-03-15 10:35 sv5g2.tmp
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X0-lock
drwxrwxrwt 2 root root 96 2005-03-15 09:14 .X11-unix
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X64-lock
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:23 xmms_davidson.0
Como podemos ver, a saída padrão do comando ls -la foi exibida na tela, ao mesmo tempo em que foi enviada para o arquivo listagem.txt. Pode-se usar isso em caso de dúvidas quanto ao tamanho das mensagens exibidas pelo sistema.
Usamos o tee da seguinte maneira:
$ [comando] | tee [arquivo]
Como exemplo, vamos usar o comando ls -la, para direcionar a saída para o arquivo listagem.txt e também exibir essa listagem na tela:
$ ls -la | tee listagem.txt
total 22
drwxrwxrwt 9 root root 552 2005-03-15 10:27 .
drwxr-xr-x 22 root root 648 2005-03-08 23:17 ..
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .font-unix
drwx------ 3 davidson davidson 72 2005-03-15 09:14 gconfd-davidson
srw-rw-rw- 1 root root 0 2005-03-15 09:14 .gdm_socket
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .ICE-unix
drwx------ 2 davidson davidson 72 2005-03-15 09:14 keyring-odX4hA
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:14 mapping-davidson
drwx------ 2 davidson davidson 784 2005-03-15 09:58 orbit-davidson
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:37
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
-rw------- 1 davidson davidson 8885 2005-03-15 10:26 redirecionamento-e-pipe.sxw
drwx------ 2 davidson davidson 176 2005-03-15 10:35 sv5g2.tmp
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X0-lock
drwxrwxrwt 2 root root 96 2005-03-15 09:14 .X11-unix
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X64-lock
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:23 xmms_davidson.0
$ cat listagem.txt
total 22
drwxrwxrwt 9 root root 552 2005-03-15 10:27 .
drwxr-xr-x 22 root root 648 2005-03-08 23:17 ..
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .font-unix
drwx------ 3 davidson davidson 72 2005-03-15 09:14 gconfd-davidson
srw-rw-rw- 1 root root 0 2005-03-15 09:14 .gdm_socket
drwxrwxrwt 2 root root 72 2005-03-15 09:14 .ICE-unix
drwx------ 2 davidson davidson 72 2005-03-15 09:14 keyring-odX4hA
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:14 mapping-davidson
drwx------ 2 davidson davidson 784 2005-03-15 09:58 orbit-davidson
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:37
OSL_PIPE_1000_SingleOfficeIPC_ff8339d55527632257ddc22a30644d3f
-rw------- 1 davidson davidson 8885 2005-03-15 10:26 redirecionamento-e-pipe.sxw
drwx------ 2 davidson davidson 176 2005-03-15 10:35 sv5g2.tmp
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X0-lock
drwxrwxrwt 2 root root 96 2005-03-15 09:14 .X11-unix
-r--r--r-- 1 root root 11 2005-03-15 09:14 .X64-lock
srwxr-xr-x 1 davidson davidson 0 2005-03-15 09:23 xmms_davidson.0
Como podemos ver, a saída padrão do comando ls -la foi exibida na tela, ao mesmo tempo em que foi enviada para o arquivo listagem.txt. Pode-se usar isso em caso de dúvidas quanto ao tamanho das mensagens exibidas pelo sistema.
direcionadores é matéria para LPI, caso alguém tiver interesse.
valeu