Depois de ler esta pergunta Por que '~' foi escolhido para representar o diretório inicial? , a próxima pergunta óbvia em minha mente era 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?
Respostas:
Duvido que você encontre uma resposta tão interessante quanto à pergunta em aberto!
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 velho teclado do terminal, não há muitos caracteres elegíveis para esse fim. Você também não precisa mudar.
. É 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 essencialmente redundantes.
e..
. Redundante no sentido de que não faz sentido considerá-los junto com outros arquivos - eles certamente são úteis de outra forma.Acontece que eu posso tê-lo ao contrário ... da wikipedia :
Isso acaba sendo útil na programação; desde que o sistema inclua. e .. em resposta aos
readdir()
comandos de tipo (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 da citação da Wikipedia. Claro, toda a história pode ser apócrifa ... é um pouco difícil de acreditar que, por exemplo, Dennis Ritchie imaginou que apenas verificar o primeiro personagem seria bom.
Não concordo com o autor, seria melhor colocar os arquivos de configuração ocultos em seu próprio diretório, em vez de fornecer a eles um prefixo universal. O prefixo é muito mais flexível, permitindo diretivas na árvore como
.gitignore
e.htaccess
. Testemunhe que arquivos desse tipo também aparecem juntos quando classificados lexicograficamente - então talvez isso tenha sido de propósito, afinal .fonte
Principalmente a mesma resposta que a @Panos 'no stackoverflow :
Em suma, ele evoluiu de
d
edd
(ad
irectory ead
de irectoryd
irectory), que foram criados por usuários com a mão.d
tornou-se ponto , e aqueles.
e..
foram criados pelamkdir
utilidade (setuid após ligando diretórios já não era permitido pela mera usuário) e, posteriormente, pelamkdir
chamada de sistema.Trecho de uma entrevista com Ken Thompson (06-09 1989):
fonte