Operadores de redirecionamento

13
Instalação e configuração de Sistemas Operacionais de Redes Operadores de Redirecionamento Profª Ivani Nascimento

description

Material de apoio - Instalação e configuração de sistemas operacionais de redes Linux. Operadores de Redirecionamento

Transcript of Operadores de redirecionamento

Instalação e configuração de Sistemas Operacionais de Redes

Operadores de

Redirecionamento

Profª Ivani Nascimento

Apresentação

Um shell Linux, como bash, recebe entrada e envia saída como

sequências ou fluxos de caracteres. Cada caractere é independente

do que vem antes e do que vem depois dele. Os caracteres não são

organizados em registros estruturados ou blocos de tamanho fixo.

Fluxos são acessados utilizando técnicas de E/S (Entrada/Saída)

de arquivo, não importa se o fluxo de caracteres real vem de ou vai

para um arquivo, um teclado, uma janela em um monitor ou outro

dispositivo de E/S.

Apresentação

Shells Linux usam três fluxos de E/S padrão, cada um dos quais é associado com um descritor de arquivo:

• Entrada padrão (stdin) – Entrada de um fluxo de dados, podendo ser destacado o teclado. Todos eles alimentam o computador com informações. O descritor é representado pelo número 0.

• Saída padrão (stdout) – Saída de um fluxo de dados em condições normais. Exemplos: monitor, impressora, arquivos, etc. O descritor é representado pelo número 1.

• Saída de erro (stderr) – Saída de um fluxo de dados em condições de erro ou insucesso em um determinado processamento, que poderá ser direcionada para o monitor ou arquivo de LOG. O descritor é representado pelo número 2.

Apresentação

• Fluxos de entrada fornecem entrada para programas, normalmente de digitações em um terminal.

• Fluxos de saída imprimem caracteres de texto, normalmente para o terminal.

• O terminal era originalmente uma máquina de escrever ASCII ou terminal de exibição, mas agora é mais frequentemente uma janela de texto em uma área de trabalho gráfica.

> (Redirecionamento simples)

• Redireciona a saída padrão de um programa/comando/script para algum dispositivo ou arquivo ao invés do dispositivo de saída padrão (tela).

• Quando é usado com arquivos, este redirecionamento cria ou substitui o conteúdo do arquivo.

• Por exemplo:

o O comando ls é utilizado para listar arquivos. Para enviar a saída para um arquivo, utilizar:

# ls > listagem.txt

o Para visualizar o conteúdo do arquivo listagem.txt:

# cat listagem.txt

> (Redirecionamento simples)

• O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando:

# ls >/dev/tty2

• Dessa forma, o resultado do comando ls será mostrado no segundo console (em modo texto, pressionar ALT e F2 para mudar para o segundo console e ALT e F1 para retornar ao primeiro).

• Outro exemplo:

# ls 1>/dev/tty2

• Assim, o número 1 indica que será capturada a saída padrão do comando. Para redirecionar para um arquivo somente a saída de erros do comando ls:

# ls 2>/tmp/erros-do-ls

>> (Redirecionamento duplo)

• Redireciona a saída padrão de um programa/comando/script para algum dispositivo ou adiciona as linhas ao final de arquivo ao invés do dispositivo de saída padrão (tela).

• A diferença entre este redirecionamento duplo e o simples, é se caso for usado com arquivos, adiciona a saída do comando ao final do arquivo existente ao invés de substituir seu conteúdo.

• Por exemplo, é possível acrescentar a saída do comando ls ao arquivo listagem.txt do exemplo anterior usando:

# ls / >> listagem.txt.

• Para visualizar o conteúdo do arquivo listagem.txt:

# cat listagem.txt

<

• Direciona a entrada padrão de arquivo/dispositivo para um comando. Este comando faz o contrário do anterior, ele envia dados ao comando.

• Por exemplo, é possível usar o comando cat < teste.txt para enviar o conteúdo do arquivo teste.txt ao comando cat que mostrará seu conteúdo (é claro que o mesmo resultado pode ser obtido com cat teste.txt mas este exemplo serviu para mostrar a funcionalidade do <).

<<

• Este redirecionamento serve principalmente para marcar o fim de exibição de um bloco. É especialmente usado em conjunto com o comando cat, mas também tem outras aplicações. Por exemplo:

# cat << final

> este arquivo sera exibido

> ate que a palavra final

> comece a linha

> final

este arquivo sera exibido

ate que a palavra final

comece a linha

| (pipe)

• Envia a saída de um comando para a entrada do próximo comando para continuidade do processamento. Os dados enviados são processados pelo próximo comando que mostrará o resultado do processamento.

• Exemplos:

# ls -la | more

• O comando acima faz a listagem longa de arquivos que é enviado ao comando more (que tem a função de efetuar uma pausa a cada 25 linhas do arquivo).

| (pipe)

# locate find | grep "bin/"

/sbin/findfs

/usr/bin/find

/usr/bin/find2perl

• No exemplo acima, todos os caminhos/arquivos que contém find na listagem serão mostrados (inclusive man pages, bibliotecas, etc.).

• Dessa forma, para realizar um filtro, é utilizado o comando "bin/" para mostrar somente os diretórios que contém binários. E ainda que a listagem ocupe mais de uma tela, é possível acrescentar o comando more:

# locate find | grep "bin/" | more

Referências

MORIMOTO, Carlos E.. Linux, guia prático. Porto Alegre: Sul Editores, 2009.

FERREIRA, Rubem E.. Linux: guia do administrador do sistema. São Paulo: Novatec, 2008.

MOTA FILHO, João Eriberto. Descobrindo o Linux: entenda o sistema operacional GNU/linux. São Paulo: Novatec, 2007.

Referências

• RIBEIRO, Uirá, Certificação Linux, 1ª Ed, Rio de Janeiro, Axcel Books, 2004.

• Certificação Linux LPI- Nível 1 Exames 101 e 102. Vários, 1ª Ed, São Paulo, Alta Books.

• NORTON, Peter; GRIFFITH, Arthur. Guia Completo do Linux. Tradução Sérgio Facchim – Complete Guide to Linux. São Paulo, Berkeley, 2000.