Por que foi '.' escolhido para representar o diretório atual e '..' para o diretório pai?

31

Depois de ler esta pergunta Why was ' ~ 'escolhido para representar o diretório inicial? , a próxima pergunta óbvia em minha mente foi por que'. ' e '..' foi usado para representar o diretório atual e o diretório pai.

Parece tão intuitivo agora, mas alguma razão em particular?

    
por Manu 21.01.2013 / 11:03

1 resposta

16

Eu duvido que você encontre uma resposta tão interessante quanto a questão do til!

Eu não estava lá, mas ... é como uma elipse (...), o que faz sentido em contextos como cd ../../../there . Além disso, e especialmente olhando para o teclado do terminal ye do case do til, não há muitos caracteres elegíveis para este propósito. Você não precisa mudar para . . É perfeito.

O fato de um prefixo de ponto ser usado para arquivos ocultos pode ser outro motivo. Os arquivos ocultos não são listados por padrão por ferramentas como ls , portanto, nem os . e .. são essencialmente redundantes. Redundante no sentido de que não há razão para considerá-los junto com outros arquivos - eles certamente são úteis de outra forma.

Como acontece, eu posso ter isso de trás para frente ... de wikipedia :

The notion that filenames preceded by a '.' should be hidden is the result of a software bug in the early days of Unix. When the special '.' and '..' directory entries were added to the filesystem, it was decided that the ls command should not display them. However, the ls program was mistakenly written to exclude any file whose name started with a '.', rather than only files named '.' or '..'.

Isso acaba sendo útil na programação; desde que o sistema inclui. e .. em resposta aos comandos readdir() type (e shell globs), ignorá-los e arquivos ocultos podem ser realizados da mesma maneira.

Uma opinião diferente sobre esse valor de uso está na referência para a citação da Wikipédia. É claro que toda a história poderia ser apócrifa ... é um pouco difícil acreditar que, por exemplo, Dennis Ritchie achou que apenas verificar se o primeiro personagem estaria bem.

Eu não concordo com o autor vis, seria melhor colocar arquivos de configuração ocultos em seu próprio diretório em vez de dar a eles um prefixo universal. O prefixo é muito mais flexível, permitindo diretivas em árvore como .gitignore e .htaccess . Veja que arquivos desse tipo também aparecem juntos quando classificados lexicograficamente - então talvez isso tenha sido feito de propósito depois de tudo .

    
por 21.01.2013 / 15:10