Fluxos, pipes (canalização), concatenadores e redirecionadores de saída
Condutores, redirecionadores e concatenadores de saída.
Shell em Sistema GNU/Linux fazem uma ponte entre o usuário e o kernel do linux; em outras palavras, os shells ou prompt de comando possibilitam a interação do usuário com o computador.
Por default a entrada padrão do shell é o teclado, saída default de comando é a tela e a saída default de erro é a tela também. Os redirecionadores de entrada/saída de dados servem para mudar estes padrões estabelecidos.
Processos Unix/Linux abrem três descritores padrão:
stdin – descritor de entrada de dados (o teclado) representado pelo valor numérico 0;
stdout – descritor de saída de dados (monitor de vídeo) representado pelo valor numérico 1;
stderr – descritor de erro (monitor de vídeo) representado pelo valor numérico 2;
O fluxo de dados para redirecionamento ou canalização se inicia da esquerda para a direita.
Redirecionadores
redireciona a saída de um programa/comando/script para um arquivo/dispositivo, ou de um processo para outro processo ou arquivo, utilizando os símbolo >, >>, 2>, 2>> ao invés de direcionar para a saída padrão (tela) Ex:
# cat /boot/grub/menu.lst > /home/user/backup.txt
Este comando copia (concatena) o conteúdo do arquivo menu.lst para o arquivo backup.txt, sobrescrevendo o conteúdo do bakup.txt.
# ls -la > saída.txt
Este comando vai escrever a saída padrão do comando ls -la no arquivo saída.txt, sobrescrevendo o conteúdo do arquivo saída.txt, caso existir.
# cat /boot/grub/menu.lst >> /home/user/backup.txt
Este comando copia (concatena) o conteúdo do arquivo menu.lst para o final do arquivo backup.txt, sem sobrescrever o conteúdo do bakup.txt. A diferença entre estes dois redirecionadores simples e duplo é que o redirecionador simples sobrescreve, enquanto que o duplo adiciona o conteúdo no final do arquivo sem sobrescrever.
# ls -la >> saída.txt
Este comando vai escrever a saída padrão do comando ls -la no arquivo saída.txt, sem sobrescrever o conteúdo do arquivo, caso exista algum.
# mkdir /mnt/dir1/arquivo 2> saída.txt
2> Faz o mesmo que o > mas ao invés de apresentar a saída do comando, apresenta os erros da saída do comando;
# mkdir /mnt/dir1/arquivo 2>> saída.txt
2>> Faz o mesmo que o >> mas ao invés de apresentar a saída do comando, apresenta os erros de saída do comando;
Existe também outros tipos de redirecionadores que fazem o “trabalho ao contrário”, ou seja, redirecionam a saída de um arquivo para um comando. Estes redirecionadores são <>.:
$ cat <>cat. Obviamente o mesmo resultado poderia ser obtido somente usando cat teste.txt sem necessariamente ter que usar o redirecionador;
Condutores
redireciona a saída de um comando para a entrada de outro comando para continuidade do processo. Para isso é utilizado o símbolo “pipe” (|). O pipe envolve processamento entre comandos; Exemplificando.
$ cat teste.txt | wc → conta linhas, palavras e caracteres do arquivo teste.txt;
comando cat
O comando cat serve para visualizar e concatenar arquivos;
$ cat arq1.txt arq2.txt > arq3.txt – este comando concatena o conteúdo do arquivo “arq1.txt” e do arquivo "arq2.txt" no arquivo “arq3.txt”. copiando primeiro o arq1.txt, na seqüência o arq2.txt e sobrescrevendo o arq3.txt.
$ cat arq3.txt – este comando lista o conteúdo do arquivo “arq3.txt”.
Um link esperto para distair...
Referências:
SIQUEIRA, Luciano Antonio. Certificação LPI-1: 101-102. São Paulo: Linux New Media, 2009.
PRITCHARD, Steven et al. Certificação Linux LPI: Guia de referência nível 1: Exames 101 e 102. Rio de Janeiro: Alta Books, 2007.
FERREIRA, Rubem E. LINUX: Guia do Administrador de Sistemas. São Paulo: Novatec, 2008.
Guia Foca Linux, 2010. Disponível em : http://focalinux.cipsga.org.br/
0 Comentários:
Postar um comentário
Assinar Postar comentários [Atom]
<< Página inicial