Descritores Padrão de Arquivos©2002 FABRICIO FERRARI

Os arquivos no ambiente UNIX possuem forma livre, consistindo apenas de uma seqüência de caracteres. As quebras de linha (nova linha) são delimitadas por caracteres de nova linha $ \backslash$n, enquanto o final de arquivo delimitado por $ \backslash$0 ou \fbox{\sf Ctrl}+ \fbox{\sf d}, que representam EOF (End Of File). Cada arquivo pode ser lido caracter a caracter e gerado da mesma forma. Para se referir a um arquivo, o sistema usa os descritores de arquivos, que são palavras chave associadas a cada arquivo. Os sistemas de arquivos serão explicados em maior detalhe numa seção adiante, mas este conceito nos serve para entender um ponto chave do trabalho do shell.

O shell define três descritores de arquivos muito importantes:

Neste contexto, a maioria dos comandos do shell agem como filtros, que possuem uma única entrada (stdin) e duas saídas (stdout e stderr), por onde entra e sai um caracter por vez. O que cada comando faz é filtrar a entrada, transformando-a e escrevendo-a na saída padrão, enquanto as eventuais mensagens de erro vão para a saída de erros. A Fig. [*] ilustra este conceito.

Figura 3.1: Um comando do shell como um filtro.

leon 2008-08-19