Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

No entanto, como o Linux é um sistema flexível, essas configurações padrão não precisam necessariamente ser aplicadas. A saída padrão, por exemplo, em um servidor altamente monitorado em um grande ambiente pode ser uma impressora.


imagem

5.1.2. Os operadores de redirecionamento


5.1.2.1. Redirecionamento de saída com> e |


Às vezes, você desejará colocar a saída de um comando em um arquivo ou pode querer emitir outro comando na saída de um comando. Isso é conhecido como redirecionamento de saída. O redirecionamento é feito usando o ">" (símbolo de maior que) ou usando o "|" (tubo) operador que envia a saída padrão de um comando para outro comando como entrada padrão.


Como vimos antes, o gato O comando concatena arquivos e os coloca todos juntos na saída padrão. Redirecionando esta saída para um arquivo, este nome de arquivo será criado - ou sobrescrito se já existir, então tome cuidado.


nancy: ~> teste de gato1

algumas palavras


nancy: ~> teste de gato2

algumas outras palavras


nancy: ~> cat test1 test2> test3


nancy: ~> teste de gato3

algumas palavras

nancy: ~> teste de gato1

algumas palavras


nancy: ~> teste de gato2

algumas outras palavras


nancy: ~> cat test1 test2> test3


nancy: ~> teste de gato3

algumas palavras


alguns Outros palavras


imagemNão substitua!

Tenha cuidado para não sobrescrever arquivos existentes (importantes) ao redirecionar a saída. Muitos shells, incluindo o Bash, têm um recurso integrado para protegê-lo desse risco: nocturno. Consulte as páginas de informações para obter mais informações. No Bash, você gostaria de adicionar o conjunto -o nocturno comando para o seu .bashrc arquivo de configuração para evitar a substituição acidental de arquivos.

Redirecionar "nada" para um arquivo existente é igual a esvaziar o arquivo:


nancy: ~> ls -l lista

-rw-rw-r-- 1 nancy


nancy


117 lista de 2 de abril às 18:09

nancy: ~> > lista

nancy: ~> ls -l lista

-rw-rw-r-- 1 nancy


nancy


0 lista de 4 de abril às 12:01

Este processo é chamado truncado.


imagem

O mesmo redirecionamento para um arquivo inexistente criará um novo arquivo vazio com o nome fornecido:


nancy: ~> ls -l lista nova

ls: newlist: Não existe esse arquivo ou diretório


nancy: ~> > nova lista

nancy: ~> ls -l lista nova

ls: newlist: Não existe esse arquivo ou diretório


nancy: ~> > nova lista


nancy: ~> ls -l lista nova

-rw-rw-r-- 1 nancy nancy

0 4 de abril 12:05 nova lista

nancy: ~> ls -l lista nova

-rw-rw-r-- 1 nancy nancy

O Capítulo 7 fornece mais alguns exemplos sobre o uso desse tipo de redirecionamento. Alguns exemplos usando piping de comandos:

Para localizar uma palavra em algum texto, exiba todas as linhas que correspondem a "padrão1" e exclua as linhas que também correspondem a "padrão2" da exibição:


grep pattern1 lima | firmeza -v pattern2


Para exibir a saída de um diretório listando uma página por vez:


ls -A | menos


Para localizar um arquivo em um diretório:


ls -l | firmeza parte_do_nome_do_arquivo


imagem

5.1.2.2. Redirecionamento de entrada


Em outro caso, você pode querer que um arquivo seja a entrada de um comando que normalmente não aceitaria um arquivo como uma opção. Esse redirecionamento de entrada é feito usando o operador "<" (símbolo de menor que).


Abaixo está um exemplo de envio de um arquivo para alguém, usando o redirecionamento de entrada.


Andy: ~> enviar [email protected] < pendência


Se o usuário Mike existe no sistema, você não precisa digitar o endereço completo. Se você deseja entrar em contato com alguém na Internet, insira o endereço totalmente qualificado como um argumento para enviar.


Isso parece um pouco mais difícil do que o gato do iniciante lima | correspondência alguém, mas é obviamente uma forma muito mais elegante de usar as ferramentas disponíveis.


imagem

5.1.2.3. Combinando redirecionamentos


O exemplo a seguir combina o redirecionamento de entrada e saída. O arquivo texto.txt é verificado primeiro em busca de erros ortográficos e a saída é redirecionada para um arquivo de registro de erros:


feitiço texto.txt > error.log


O comando a seguir lista todos os comandos que você pode emitir para examinar outro arquivo ao usar menos:


Mike: ~> menos --ajuda | grep -i examine

: e [arquivo] Examinar um novo arquivo.

: n * Examine o (enésimo) próximo arquivo na linha de comando.

: p * Examine o (enésimo) arquivo anterior na linha de comando.

: x * Examine o primeiro (ou enésimo) arquivo na linha de comando.

Mike: ~> menos --ajuda | grep -i examine

: e [arquivo] Examinar um novo arquivo.

: n * Examine o (enésimo) próximo arquivo na linha de comando.

: p * Examine o (enésimo) arquivo anterior na linha de comando.

: x * Examine o primeiro (ou enésimo) arquivo na linha de comando.

O -i opção é usada para pesquisas que não diferenciam maiúsculas de minúsculas - lembre-se de que os sistemas UNIX são muito sensíveis a maiúsculas e minúsculas. Se você quiser salvar a saída deste comando para referência futura, redirecione a saída para um arquivo:

Mike: ~> menos --ajuda | grep -i examine> examine-arquivos-em-menos


Mike: ~> gato examinar-arquivos-em-menos

: e [arquivo] Examinar um novo arquivo.

: n * Examine o (enésimo) próximo arquivo na linha de comando.

: p * Examine o (enésimo) arquivo anterior na linha de comando.

: x * Examine o primeiro (ou enésimo) arquivo na linha de comando.

Mike: ~> menos --ajuda | grep -i examine> examine-arquivos-em-menos


Mike: ~> gato examinar-arquivos-em-menos

: e [arquivo] Examinar um novo arquivo.

: n * Examine o (enésimo) próximo arquivo na linha de comando.

: p * Examine o (enésimo) arquivo anterior na linha de comando.

: x * Examine o primeiro (ou enésimo) arquivo na linha de comando.

A saída de um comando pode ser canalizada para outro comando virtualmente quantas vezes você quiser, contanto que esses comandos normalmente leiam a entrada da entrada padrão e gravem a saída na saída padrão.

Às vezes não, mas pode haver opções especiais que instruem esses comandos a se comportarem de acordo com as definições padrão; portanto, leia a documentação (páginas man e Info) dos comandos que você usa se encontrar erros.


Novamente, certifique-se de não usar nomes de arquivos existentes de que ainda precisa. Redirecionar a saída para arquivos existentes substituirá o conteúdo desses arquivos.


imagem

5.1.2.4. O >> operador


Em vez de substituir os dados do arquivo, você também pode anexar texto a um arquivo existente usando dois sinais de maior que subsequentes:


Exemplo:


Mike: ~> lista de desejos de gatos

mais dinheiro menos trabalho


Mike: ~> data >> lista de desejos

Mike: ~> lista de desejos de gatos

mais dinheiro menos trabalho


Mike: ~> data >> lista de desejos


Mike: ~> lista de desejos de gatos

mais dinheiro menos trabalho

Qui, 28 de fevereiro 20:23:07 CET 2002

Mike: ~> lista de desejos de gatos

Top OS Cloud Computing na OnWorks: