|
Módulo
2: Conceitos
Entrada
e Saída
Quase
todos os comandos Unix tem uma entrada e produzem uma saída, a
entrada de um comando são os dados que o comando vai processar,
essa entrada pode vir de um arquivo especificado pelo usuário,
de um arquivo do sistema, do terminal ou da saída de outro comando.
A saída de um comando são os dados de entrada processados,
a saída de um comando pode ser impressa na tela de um terminal,
enviada a um arquivo, ou servir de entrada a um outro comando.
Existe uma entrada padrão e uma saída padrão.
Entrada
padrão:
A maioria dos comandos Unix permite que você informe a entrada de
dados, geralmente informando o nome de um arquivo que contém os
dados a serem processados pelo comando, mas caso esta entrada seja omitida,
o programa utiliza automaticamente a entrada padrão para receber
os dados a serem processados pelo comando, normalmente a entrada padrão
é o teclado do terminal.
Saída padrão:
Por default a saída dos dados processados pelo comando são
para a saída padrão que é o monitor do terminal que
você está usando, mas você também pode usar
esta saída para ciar ou adicionar dados a um arquivo ou simplesmente
usa-la como entrada para outro comando qualquer.
Redirecionamento:
No sistema Unix é possível o redirecionamento da entrada
padrão, da saída padrão, e ainda possibilitar que
a saída de um comando seja a entrada e outro, todos estes recursos
são acessados através de símbolos, são eles
o de direcionamento de saída para um arquivo >,
o de redirecionamento de um arquivo como entrada <,
e o símbolo que direciona a saída de um programa para a
entrada de outro |.
Redirecionamento de saída:
Para redirecionar a saída de um comando para um arquivo, você
deve inserir o símbolo >
depois de todos os parâmetros do comando, e por último por
o nome do arquivo que irá receber os dados processados, por exemplo:
%ls -lap > meu.diretorio
Esta linha de comando criará o arquivo "meu.diretorio"
com o conteúdo da saída do comando "ls -lap",
caso o arquivo "meu.diretorio" já existisse no diretório
corrente o mesmo seria sobrescrito, para que isto não ocorra, ou
seja para que os dados sejam acrescentados no arquivo, ao invés
de usar ">" use ">>", assim os dados serão
inseridos no fim do arquivo já existente sem sobreescrever o seu
conteúdo.
Redirecionamento de entrada:
Para redirecionar a entrada que deveria ser feita através do teclado
para um arquivo que já contenha os dados da entrada você
deve usar o símbolo "<" depois de todos os parâmetros
do comando, e por último por o nome do arquivo que contém
os dados a serem processados, por exemplo:
%grep -e teste < meu.diretorio
Esta linha executará o comando grep como se você tivesse
digitado todo o conteúdo do arquivo "meu.diretorio" como
um texto para ser processado pelo comando.
Redirecionamento da saída para a entrada (pipeline):
Para redirecionar a saída padrão de um comando para a entrada
padrão de outro você deve usar o símbolo "|"
para separar um comando do outro, este símbolo segue a mesma sintaxe
do encadeamento de comandos, com a diferença que a saída
do comando é usada como entrada do próximo comando encadeado,
o último comando colocará sua saída na saída
padrão. Por exemplo:
%ls -lap | sort | grep -e teste | wc -l Esta linha de
comando usará a saída do comando ls como entrada do comando
sort que direcionará a saída para o comando grep, e este
irá direcionar sua saída para o comando wc, que por sua
vez irá apresentar sua saída na tela. |
|