Prečo niektoré názvy súborov a priečinkov systému Windows majú bodku pred nimi?
Zatiaľ čo väčšina z nás vidí normálne názvy súborov a priečinkov na našich systémoch Windows, iní ľudia sa možno stretli s niečím trochu neočakávaným - názvy súborov a priečinkov s bodkou pred nimi. Prečo sa to deje? Dnešný príspevok SuperUser Q & A má odpoveď na veľmi zvedavú otázku čitateľa.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Foto s láskavým dovolením Domiriel (Flickr).
Otázka
Čítačka SuperUser Niko Bellic chce vedieť, prečo niektoré názvy súborov a priečinkov systému Windows majú bodku pred nimi:
Napríklad v Moje dokumenty v našom systéme Windows som našiel nasledujúce priečinky:
- .ssh
- .podvracanie
Je to nejaká konvencia pomenovania, o ktorej neviem?
Prečo niektoré názvy súborov a priečinkov systému Windows majú pred sebou bodku?
Odpoveď
Pripomienka SuperUser prispieva k nám:
Táto konvencia pomenovania pochádza z operačných systémov podobných operačným systémom Unix (napríklad Linux alebo OSX), kde to znamená a skrytý súbor alebo adresár. Funguje to kdekoľvek, ale jeho primárnym použitím je skryť konfiguračné súbory vo vašom domovskom adresári (tzn. ~ / .cache / alebo ~ / .plan) Často sa volajú dot súbory.
Dot súbory by sa dalo nazvať tradičným Unixom ekvivalentom Dáta aplikácie v systéme Windows. Zatiaľ sa mnohé programy Linux menia tak, aby sa riadili špecifikáciami základného adresára XDG a presunuli ich konfiguráciu ~ / .Config / a ďalšie údaje ~ / .Cache / a ~ / .Local / share /. Tým je to viac podobné AppData \ Roaming a AppData \ Local.
Máte tieto .ssh a .podvracanie v systémoch Windows, pretože ste použili niektoré programy (konkrétne OpenSSH a Subversion), ktoré boli portované na používanie systémových rozhraní API systému Windows skôr ako POSIX, ale neboli upravené pre niektoré iné konvencie systému Windows.
Niekedy je táto adaptácia zámerne preskočená, aby uľahčila život ľuďom, ktorí používajú prostredie podobného systému Unix, ako napríklad Cygwin, na svojich systémoch Windows. Napríklad Cygwin nainštaluje štandardnú sadu nástrojov typu Unix ls, ktorý ignoruje systém Windows skrytá vlajka a len ctí bodový súbor Mená. Je tiež jednoduchšie synchronizovať konfigurácie medzi jednotlivými počítačmi Windows a Linux / BSD / OSX, ak sú zdieľané na rovnakom mieste.
Tieto súbory sa zvyčajne nachádzajú v domovskom adresári používateľa (t. /home/name/.ssh na Linuxe alebo C: \ Users \ meno \ .ssh v systéme Windows 7 a novších verziách). Je pomerne zriedkavé, aby boli vložené do systému Dokumenty alebo Moje dokumenty podadresáre (vôbec neobsahujú dokumenty).
Ako píše Rob Pike v službe Google+, bola to náhodná funkcia:
Dlho predtým, ako bol vypracovaný dizajn súborového systému Unix, položky . a ... aby sa navigácia uľahčila. Nie som si istý, ale verím ... šiel počas prepisovania verzie 2, keď sa súborový systém stal hierarchickým (mala veľmi odlišnú štruktúru od začiatku). Keď je zadaný jeden ls, tieto súbory sa však objavili, takže buď Ken alebo Dennis pridal k programu jednoduchý test. Bolo to v assembleri, ale príslušný kód bol ekvivalentný niečomu takému:
- ak (meno [0] == '.') pokračovať;
Toto vyhlásenie bolo o niečo kratšie ako to, čo malo byť:
- ak (strcmp (meno, ".") == 0 || strcmp (meno, "...") == 0) pokračovať;
Ale hej, bolo to jednoduché a vyplynulo z dvoch vecí.
Po prvé, bol stanovený zlý precedens. Mnoho iných líniových programátorov uviedlo chyby tým, že urobilo rovnaké zjednodušenie. Skutočné súbory začínajúce s obdobiami sú často preskočené, keď sa majú počítať.
Po druhé, a oveľa horšie, myšlienka a skrytý alebo bodový súbor bol vytvorený. V dôsledku toho sa viac línií programátori začali zbavovať súborov do domáceho adresára všetkých. Nemám nainštalovaný veľa softvéru na počítači, ktorý používam, aby som to napísal, ale môj domovský adresár má asi sto dot súbory a ani neviem, čo je väčšina z nich, alebo či sú stále potrebné. Každé hodnotenie názvu súboru, ktoré prechádza cez môj domovský adresár, je spomalené týmto nahromadeným kalom.
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.