Linux- Trabalhando com entrada e saída de dados

  Por padrão a entrada de comando no Shell é o teclado denominado Standard Input ou STDIN, a sua saída o monitor denominado Standard Output ou STDOUT.

  Também temos a saída de erro, que são as mensagens indicativa de erro ou avisos  gerado por um programa  denominado Standard Error Output ou STDERR.

Exemplo:

  Utilizando o teclado que é o STDIN vou executar o comando date, na tela será exibido o resultado deste comando que é o STDOUT que mostrara o resultado

STDIN

  Agora se digitar no terminal a palavra TUTORIAL, o bash não entenderá pois essa palavra não faz parte de nenhum comando, isso me dará um erro ou um STDERR que também tem a saída na tela.  

STDER


  É importante aprender sobre esta informações e entender o conceito de entrada, saída e erro pois a parti deles você pode trabalhar com direcionamento.

  Formas em que posso trabalhar os direcionamentos: 

>   Redireciona a saída
sobrescrevendo o conteúdo do
arquivo;

>>  Redireciona a saída ao
final do arquivo.

2>  Redireciona a saída de
erro sobrescrevendo ou criando
conteúdo;

2>> Redireciona a saída de
erro adicionando conteúdo ao
final.

&>  Redireciona toda a
saída sobrescrevendo

&>> Redireciona toda a
saída adicionando ao
final;

<  O arquivo é a entrado para o comando 

  Se eu quiser redirecionar a saída de um comando para um arquivo vou utilizar a seguinte sintaxe 

ls /etc > lista 

ls /etc > lista

  Ao usar esse comando eu não terei o comando ls listado na tela e sim adicionado ao arquivo lista, se já existir um arquivo com esse nome o conteúdo dele será sobrescrito.

  Para trabalhar com  >> o utilizo a mesma sintaxe do comando anterior pois este adiciona o conteúdo que seria exibido na tela no final do arquivo especificado.

ls /var >> lista 

ls /var >> lista

  Ao usar o comando ls com >> adicione a saída do comando ls no final do arquivo lista.


  Agora vamos aprender sobre o < que me permite trabalhar com arquivo alimentando o comando 

  Vamos usar com exemplo o comando tr que é um comando de substituição e vamos trocar as letras minúsculas para maiúsculas, vejamos.

tr "a-z" "A-z" < lista 

tr "a-z" "A-z" < lista

   Esse comando não altera o conteúdo de lista e sim a sua saída padrão sem alterar o arquivo original.

  Também vimos acima o direcionado 2 > que conforme a explicação  redireciona a saída padrão de erro para um arquivo. Quando eu executo um comando e eu já estou cinte que ele dará error posso redirecionar sua saída para um arquivo, isso facilitara a análise do erro  pois poderei visualizar somente o que deu de errado.

  Vou digitar o comando "cat erro" só que não tenho o arquivo erro então a saída do comando será um erro 

"cat erro"


 Supondo que você esta executando um comando e ele esta dando mensagem de acerto e também de error você pode fazer o filtro enviado somente os erros para um determinado arquivo.

cat erro 2> erro.txt

Isso e muito importante quando você tem saída de comandos muito complexos, alem do 2> posso usar o 2>> se quiser adicionar a saída para o final de um arquivo existente.

  O comando &> adiciona toda a saída de um comando sobrescrevendo, esse comando adiciona a saída de erro e de acerto para um novo arquivo.

Exemplo:

cat o arquivo "/etc/host"

  Pedi para abrir com comando cat o arquivo "/etc/host" e abrir "/etc/", porem somente "/etc/host" e um arquivo então uma das saídas foi um erro. O comando &> novo criou um arquivo com as saídas de erro e acerto.
  O "&>>" funciona da mesma maneira que o anterior mas conforme vimos nos comandos acima ele não sobrescreve e sim adiciona a saída no final do arquivo.


  


Postar um comentário

Postagem Anterior Próxima Postagem