Linux – Operadores de redirecionamento
Bom dia pessoal tudo bom?
Hoje vou passar mais uma dica rápida sobre Linux.
Operadores de redirecionamento
Bom, operadores de redirecionamento, como o nome já diz, serve para direcionarmos a saída de um programa para um arquivo, ou outro programa e muito mais.
Tenho estudado um pouco de Linux e o que eu vou usando e achando interessante vou postando aqui no site. Portanto, posso deixar de falar algo importante sobre um comando… se você tem algum complemento por favor poste.
OPERADOR >
Este operador serve para direcionar a saída de um comando para um arquivo. Por exemplo, você sabe que o comando ‘ls’ serve para listar o conteúdo da pasta atual certo? um exemplo de ‘ls’ comum seria assim:
-
[nitti]$ ls
-
01062009.tar.gz 15052009.tar.gz 21052009.tar.gz 27052009.tar.gz
-
02062009.tar.gz 16052009.tar.gz 22042009.tar.gz 28052009.tar.gz
-
09012009.tar.gz 17052009.tar.gz 22052009.tar.gz 29052009.tar.gz
-
11052009.tar.gz 18042009.tar.gz 23052009.tar.gz 30052009.tar.gz
-
12052009.tar.gz 18052009.tar.gz 24052009.tar.gz 31052009.tar.gz
-
13052009.tar.gz 19052009.tar.gz 25052009.tar.gz backup.sh
-
14052009.tar.gz 20052009.tar.gz 26052009.tar.gz tabernaculo.tar.gz
Agora vamos rodar o comando ‘ls’ direcionando o resultado para um arquivo txt:
-
[nitti]$ ls > resultatod_do_ls.txt
-
[nitti]$ cat resultatod_do_ls.txt
-
01062009.tar.gz
-
02062009.tar.gz
-
…
-
…
-
31052009.tar.gz
-
backup.sh
-
resultatod_do_ls.txt
-
tabernaculo.tar.gz
Perceba o uso do ‘cat’ para exibir o conteúdo do arquivo gerado.
Um ótimo exemplo de uso é quando precisamos fazer um backup do banco de dados e queremos jogar para um arquivo de texto. Veja como seria o comando:
-
mysqldump -h HOST -u USER -pSENHA banco-de-dados > backup.sql
OPERADOR <
Este operador serve para direcionar a saída de um arquivo para um comando. Por exemplo, você lembra do comando que usei para exemplo do operador > ? o backup do banco de dados. Imagine que o banco de dados deu problema e precisamos restaurar os dados do backup. Iríamos usar o seguinte comando:
-
mysql -h HOST -u USER -pSENHA banco-de-dados < backup.sql
OPERADOR >>
Este operador funciona praticamente igual ao operador >, porém, ele não sobrescreve o arquivo para o qual a saída esta sendo direcionada. Ele vai incluir o resultado ao final do arquivo.
OPERADOR 2>
Este operador funciona praticamente igual ao operador >, porém, ele serve para direcionar a saída de erros do comando. Por exemplo, você precisa criar um arquivo ZIP de uma pasta com centenas de arquivos. Se direcionar o resultado do comando usando o operador > e ocorrer algum erro você não vai ver este erro. Utilizando o operador 2> para direcionar os erros para um log separado você não corre o risco de deixar um erro passar em branco. Veja o exemplo:
-
[nitti]$ zip -r backupt * > log.log 2> erros.log
Mesmo que não ocorra erros, o arquivo erros.log será criado. Se você der um ‘cat log.log’ verá o resultado do comando executado.
OPERADOR |
O operador pipe é mais usado para realizar tarefas mais avançadas. O entendimento dele é um pouco mais mais complexo que os outros. Este operador serve para direcionar a saída de um comando para entrada de outro comando. Por exemplo, ao fazer um backup do banco de dados, queremos criar um arquivo zipado. O comando que faz o backup vai direcionar a saída para um outro comando que vai fazer o zip e direcionar o conteúdo do zip para um arquivo. Mais ou menos assim:
backup | zip > arquivo
Este exemplo é mais ou menos assim:
-
mysqldump -h HOST -u USER -pSENHA BANCO | gzip -c > backup.tar.gz
Espero ter ajudado! Repito: se tiver algo a acrescentar por favor é só postar!



2 Comentários to “Linux – Operadores de redirecionamento”
Hi, Congratulations to the site owner for this marvelous work you’ve done. It has lots of useful and interesting data.
Por moowntriaro (1 comments) em 05/06/2009
Thank you moowntriaro! is a pleasure to share knowledge (even if few)!
All the best for you!
Por Marcelo Sabadini (109 comments) em 05/06/2009