[Arquivos ocultos no UNIX]

Todos sabem como criar arquivos ocultos no mundo UNIX/Linux, basta que o nome do arquivo inicie com um ponto (.), mas esse recurso nem sempre existiu.

De acordo com Rob Pike em um post no Google+ que agora só está disponível em archive.org, lá pela versão 2 do UNIX, enquanto o design do sistema de arquivos Unix estava sendo trabalhado, surgiram as entradas “.” e “..” para facilitar a navegação em diretórios. Provavelmente isso aconteceu na versão 2 quando o sistema de arquivos se tornou hierárquico.

Mas quando se listava os arquivos com o comando ls essas duas entradas apareciam, então Ken Thompson ou Dennis Ritchie adicionou um teste simples, se o primeiro byte do nome do arquivo fosse um ponto o programa ignoraria a entrada.

Isso resolvia o problema para ocultar tanto “.” como “..” mas acidentalmente fazia com que qualquer arquivo iniciado com . ficasse oculto.

É um caso clássico de um bug que agora é uma feature e causou vários problemas ao longo do tempo, incluindo uma grande quantidade de arquivos ocultos no seu home que provavelmente muitos deles você não tem ideia para que serve.

Quando for projetar seus programas use o XDG Base Directory Specification

Até onde eu pesquisei o conceito de arquivos ocultos nem mesmo existia até esse ponto e parece que seu surgimento foi totalmente acidental.

Outros sistemas operacionais têm bugs similares, apesar do MS-DOS ter um sistemade atributos que possibilita marcar um arquivo como oculto ele ainda seria visto em aplicativos como File Explorer, mas você nomear o arquivo com o carácter ASCII 255 ele não era mostrado.

Referencias

A lesson in shortcuts - Rob Pike - 2012-08-02

Cesar Gimenes