segunda-feira, 28 de junho de 2010

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...

http://www.tirinhasdoze.com/search/label/Dr.%20Roberval?updated-max=2010-02-21T06:31:00-03:00&max-results=20


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/ . Acesso em 26 de junho de 2010.





0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial