Dok većina nas samo vidi normalne nazive datoteka i mapa na našim sustavima Windows, drugi ljudi možda su naišli na nešto malo više neočekivane - imena datoteka i mapa s točkom ispred njih. Zašto se to dogodi? Danas SuperUser Q & A post ima odgovor na vrlo znatiželjan čitateljsko pitanje.
Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.
Fotografija ljubaznošću Domiriela (Flickr).
Čitač SuperUser Niko Bellic želi znati zašto neki nazivi datoteka i mapa u sustavu Windows imaju točku ispred njih:
Na primjer, u Moji dokumenti direktorij na mom sustavu Windows Pronašao sam sljedeće mape:
- .ssh
- .subverzija
Je li to neka vrsta konvencije o imenovanju da nisam svjestan?
Zašto neki nazivi datoteka i mapa u sustavu Windows imaju točku ispred njih?
Odgovor za nas je odgovoran za SuperUser suradnik:
Ova konvencija o imenovanju dolazi od operacijskih sustava sličnih Unixu (kao što je Linux ili OSX) gdje to znači a skrivena datoteka ili imenik, Djeluje bilo gdje, ali njegova je primarna upotreba sakriti konfiguracijske datoteke u vašem kućnom imeniku (tj. ~ / .cache / ili ~ / .planČesto se zovu dot datoteke.
Dot datoteke može na neki način biti nazvan tradicionalnim Unix ekvivalentom Podaci aplikacije direktorija na sustavu Windows. U međuvremenu se mnogi Linux programi mijenjaju kako bi slijedili specifikaciju XDG baznog imenika, pomičući njihovu konfiguraciju ~ / .Config / i ostale podatke ~ / .Cache / i ~ / .Local / udjela /, To ga čini sličnijim AppData \ Roaming i AppData \ Local.
Imate te .ssh i .subverzija direktorija na sustavu Windows jer ste koristili neke programe (posebno OpenSSH i Subversion) koji su bili preneseni za korištenje API-ja sustava Windows, a ne POSIX, ali nisu prilagođeni za neke druge konvencije sustava Windows.
Ponekad je ta prilagodba namjerno preskočena kako bi se lakše olakšalo ljudima koji koriste Unix-okruženja poput Cygwina na svojim Windows sustavima. Na primjer, Cygwin instalira standardni set alata sličnih Unixu, kao što je ls, koji zanemaruje Windows skrivenu zastavu i samo časti dot datoteku imena. Također je lakše sinkronizirati konfiguracije između pojedinih Windows i Linux / BSD / OSX računala ako se dijeli na istoj lokaciji.
Te se datoteke obično nalaze u korisničkom kućnom imeniku (tj. /home/name/.ssh na Linuxu ili C: \ Users \ ime \ .ssh na Windowsima 7 i novijim verzijama). Prilično je rijetko da ih se stavi u Dokumenti ili Moji dokumenti subdirectories (oni ipak ne sadrže dokumente).
Kao što Rob Pike piše na usluzi Google+, to je slučajna značajka:
Prije mnogo vremena, kako se razvijaju dizajn Unixovog datotečnog sustava, unose . i … pojavili su se kako bi olakšali navigaciju. Nisam siguran, ali vjerujem … otišao je tijekom verzije 2 preoblikovati kada datotečni sustav postao hijerarhijski (to je imala vrlo različite strukture rano). Kada netko tipira ls, međutim, ove se datoteke pojavljuju, pa su Ken ili Dennis dodali jednostavan test programu. Tada je bio u skupitelju, ali kôd u pitanju bio je ekvivalent ovome:
- ako (naziv [0] == '.') nastavite;
Ta je izjava bila malo kraća od onoga što bi trebalo biti, što je:
- ako (strcmp (ime, ".") == 0 || strcmp (ime, "...") == 0) nastavak;
Ali hej, bilo je lako i dvije su stvari rezultirale.
Prvo, postavljen je loš presedan. Puno drugih lijenih programera uvelo je bugove tako što je učinjeno istim pojednostavljenjem. Stvarne datoteke koje počinju s razdobljima često se preskaču kad ih treba računati.
Drugo, i još gore, ideja a skriven ili dot datoteku kreiran je. Kao posljedica toga, više lijeni programeri počeli su ispuštati datoteke u svima kućni imenik. Nemam mnogo softvera instaliran na računalu koje koristim za upisivanje, ali moj kućni imenik ima oko stotinu dot datoteke i ne znam što je većina njih ili jesu li još uvijek potrebni. Svaka procjena naziva datoteka koja prolazi kroz moj kućni imenik usporava ovaj akumulirani mulj.
Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.