Por que alguns nomes de arquivos e pastas do Windows têm um ponto à frente deles?
Enquanto a maioria de nós apenas vê nomes de arquivos e pastas normais em nossos sistemas Windows, outras pessoas podem ter encontrado algo um pouco mais inesperado - nomes de arquivos e pastas com um ponto na frente deles. Por que isso acontece? O post de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
Foto cedida por Domiriel (Flickr).
A questão
Leitor de SuperUser Niko Bellic quer saber por que alguns nomes de arquivos e pastas do Windows têm um ponto à frente deles:
Por exemplo, no Meus documentos diretório no meu sistema Windows eu encontrei as seguintes pastas:
- .ssh
- .subversão
Isso é algum tipo de convenção de nomenclatura que eu não tenho conhecimento?
Por que alguns nomes de arquivos e pastas do Windows têm um ponto à sua frente??
A resposta
O contribuidor do SuperUser, Grawity, tem a resposta para nós:
Essa convenção de nomenclatura vem de sistemas operacionais semelhantes ao Unix (como Linux ou OSX), arquivo oculto ou diretório. Ele funciona em qualquer lugar, mas seu principal uso é ocultar os arquivos de configuração em seu diretório pessoal (por exemplo,. ~ / .cache / ou ~ / .plan) São frequentemente chamados arquivos de ponto.
Arquivos Dot poderia, de certa forma, ser chamado de tradicional Unix equivalente ao Dados do aplicativo diretório no Windows. Enquanto isso, muitos programas do Linux estão sendo alterados para seguir a especificação do diretório base do XDG, movendo sua configuração para ~ / .config / e outros dados para ~ / .cache / e ~ / .local / share /. Isso faz com que seja mais parecido com AppData \ Roaming e AppData \ Local.
Você tem esses .ssh e .subversão diretórios no Windows porque você usou alguns programas (especificamente, OpenSSH e Subversion) que foram portados para usar as APIs do sistema Windows em vez dos POSIX, mas não foram ajustados para algumas outras convenções do Windows.
Às vezes, essa adaptação é ignorada intencionalmente para facilitar a vida de pessoas que usam ambientes semelhantes ao Unix, como o Cygwin, em seus sistemas Windows. Por exemplo, o Cygwin instala o conjunto padrão de ferramentas semelhantes ao Unix, como ls, que ignora o Windows bandeira escondida e só honra o arquivo de ponto nomes. Também é mais fácil sincronizar configurações entre os computadores Windows e Linux / BSD / OSX de um indivíduo se ele for compartilhado no mesmo local.
Esses arquivos são normalmente encontrados no diretório inicial do usuário (por exemplo,. /home/name/.ssh no Linux ou C: \ Users \ name \ .ssh no Windows 7 e posterior). É muito raro eles serem colocados no Documentos ou Meus documentos subdiretórios (eles não contêm documentos depois de tudo).
Como Rob Pike escreve no Google+, esse foi um recurso acidental:
Há muito tempo, como o design do sistema de arquivos Unix estava sendo elaborado, as entradas . e … apareceu para facilitar a navegação. Não tenho certeza, mas acredito … entrou durante a reescrita da versão 2, quando o sistema de arquivos tornou-se hierárquico (tinha uma estrutura muito diferente no início). Quando um digitado ls, entretanto, esses arquivos apareceram, então Ken ou Dennis adicionaram um teste simples ao programa. Estava em assembler então, mas o código em questão era equivalente a algo como isto:
- if (nome [0] == '.') continua;
Esta declaração foi um pouco mais curta do que deveria ser, que é:
- if (strcmp (nome, “.”) == 0 || strcmp (nome, “…”) == 0) continuar;
Mas ei, foi fácil e duas coisas resultaram.
Primeiro, um mau precedente foi estabelecido. Muitos outros programadores preguiçosos introduziram bugs fazendo a mesma simplificação. Os arquivos reais que começam com períodos geralmente são ignorados quando devem ser contados.
Em segundo lugar, e muito pior, a ideia de um escondido ou arquivo de ponto foi criado. Como conseqüência, programadores mais preguiçosos começaram a colocar arquivos no diretório pessoal de todos. Eu não tenho muito software instalado no computador que estou usando para digitar isso, mas meu diretório home tem cerca de cem arquivos de ponto e eu nem sei o que a maioria deles é ou se ainda são necessários. Cada avaliação de nome de arquivo que passa pelo meu diretório inicial é retardada por esse lodo acumulado.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.