Perché alcuni nomi di file e cartelle di Windows hanno un punto in primo piano?
Mentre molti di noi vedono solo i normali nomi di file e cartelle sui nostri sistemi Windows, altre persone potrebbero aver riscontrato qualcosa di un po 'più inaspettato: nomi di file e cartelle con un punto davanti a loro. Perché succede? Il post di Q & A di SuperUser di oggi ha la risposta a una domanda di un lettore molto curioso.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Foto per gentile concessione di Domiriel (Flickr).
La domanda
Il lettore SuperUser Niko Bellic vuole sapere perché alcuni nomi di file e cartelle di Windows hanno un punto davanti a loro:
Ad esempio, nel I miei documenti directory sul mio sistema Windows ho trovato le seguenti cartelle:
- .SSH
- .sovversione
È una specie di convenzione di denominazione di cui non sono a conoscenza?
Perché alcuni nomi di file e cartelle di Windows hanno un punto davanti a loro?
La risposta
Il contributo di SuperUser grawity ha la risposta per noi:
Questa convenzione di denominazione proviene da sistemi operativi di tipo Unix (come Linux o OSX) dove indica a file nascosto o elenco. Funziona ovunque, ma il suo uso principale è quello di nascondere i file di configurazione nella tua directory home (ad es. ~ / .cache / o ~ / .plan) Sono spesso chiamati file di punti.
File di punti potrebbe, in un certo senso, essere chiamato il tradizionale Unix equivalente al AppData directory su Windows. Nel frattempo, molti programmi Linux sono stati modificati per seguire le specifiche della directory di base XDG, spostando la loro configurazione in ~ / .Config / e altri dati a ~ / .Cache / e ~ / .Local / share /. Questo lo rende più simile a AppData \ Roaming e AppData \ Local.
Hai questi .SSH e .sovversione directory su Windows perché sono stati utilizzati alcuni programmi (in particolare OpenSSH e Subversion) che sono stati portati per utilizzare le API di sistema di Windows anziché POSIX, ma non sono stati modificati per alcune altre convenzioni di Windows.
A volte questo adattamento viene saltato intenzionalmente per rendere la vita più facile alle persone che usano ambienti come Unix come Cygwin sui loro sistemi Windows. Ad esempio, Cygwin installa il set standard di strumenti tipo Unix come ls, che ignora Windows bandiera nascosta e onora solo il file di punti nomi. È anche più facile sincronizzare le configurazioni tra i computer Windows e Linux / BSD / OSX di una persona se è condivisa nella stessa posizione.
Questi file si trovano in genere nella directory home dell'utente (ad es. /home/name/.ssh su Linux o C: \ Users \ nome \ .ssh su Windows 7 e versioni successive). È abbastanza raro che siano messi nel Documenti o I miei documenti sottodirectory (dopotutto non contengono documenti).
Come Rob Pike scrive su Google+, questa è stata una caratteristica accidentale:
Molto tempo fa, mentre veniva elaborato il progetto del file system Unix, le voci . e ... è apparso per rendere più semplice la navigazione. Non sono sicuro, ma credo ... entrò durante la riscrittura della versione 2 quando il file system divenne gerarchico (aveva una struttura molto diversa all'inizio). Quando si digitato ls, tuttavia, questi file sono apparsi, quindi Ken o Dennis hanno aggiunto un semplice test al programma. Era in assembler quindi, ma il codice in questione era equivalente a qualcosa del genere:
- se (nome [0] == '.') continua;
Questa affermazione è stata un po 'più breve di quello che avrebbe dovuto essere, ovvero:
- if (strcmp (name, ".") == 0 || strcmp (name, "...") == 0) continua;
Ma hey, è stato facile e sono risultate due cose.
Innanzitutto, è stato stabilito un precedente negativo. Molti altri programmatori pigri hanno introdotto bug facendo la stessa semplificazione. I file effettivi che iniziano con i periodi vengono spesso saltati quando devono essere contati.
Secondo, e molto peggio, l'idea di a nascosto o file di punti è stata creata. Di conseguenza, più programmatori pigri hanno iniziato a rilasciare i file nella home directory di tutti. Non ho molto software installato sul computer che sto usando per digitare questo, ma la mia home directory ne ha circa cento file di punti e non so nemmeno cosa siano la maggior parte di loro o se siano ancora necessari. Ogni valutazione del nome del file che passa attraverso la mia home directory viene rallentata da questo fango accumulato.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.