Domovská » jak » Proč některé názvy souborů a složek systému Windows mají před sebou bod?

    Proč některé názvy souborů a složek systému Windows mají před sebou bod?

    Zatímco většina z nás vidí normální názvy souborů a složek na našich systémech Windows, ostatní lidé se možná setkali s trochu nečekanějším - názvy souborů a složek s tečkou před nimi. Proč se to děje? Dnešní příspěvek SuperUser Q & A má odpověď na velmi zvědavou otázku čtenáře.

    Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.

    Foto s laskavým svolením Domiriel (Flickr).

    Otázka

    Čtečka SuperUser Niko Bellic chce vědět, proč některé názvy souborů a složek systému Windows mají před sebou tečku:

    Například v Moje dokumenty v systému Windows Našel jsem následující složky:

    • .ssh
    • .podvracení

    Je to nějaký pojmenovaný koncept, o němž nevím?

    Proč některé názvy souborů a složek systému Windows mají před sebou tečku?

    Odpověď

    Příspěvek Grawity přispěvatele SuperUser má pro nás odpověď:

    Tato konvence pojmenování pochází z operačních systémů typu Unix (například Linux nebo OSX), kde to znamená a skrytý soubor nebo adresář. Funguje to kdekoli, ale jeho primárním použitím je skrýt konfigurační soubory ve vašem domovském adresáři (tj. ~ / .cache / nebo ~ / .plan) Jsou často voláni dot souborů.

    Dot soubory by se mohl určitým způsobem označovat jako tradiční Unix ekvivalentní Data aplikací v systému Windows. Mezitím se mnoho Linuxových programů mění, aby sledovali specifikaci základního adresáře XDG a přesunuli jejich konfiguraci ~ / .config / a další data ~ / .cache / a ~ / .local / share /. To z něj dělá více podobný AppData \ Roaming a AppData \ Local.

    Ty máš ty .ssh a .podvracení adresářů v systému Windows, protože jste použili některé programy (konkrétně OpenSSH a Subversion), které byly přeneseny za použití systémových rozhraní API Windows než POSIX, ale nebyly upraveny pro některé další konvence systému Windows.

    Někdy je tato adaptace úmyslně přeskočena, aby ulehčila život lidem, kteří používají prostředí podobného Unixu, jako je Cygwin, na svých systémech Windows. Cygwin například nainstaluje standardní sadu nástrojů podobných systému Unix ls, který ignoruje systém Windows skrytá vlajka a pouze ctí bodový soubor názvy. Je také snazší synchronizovat konfigurace mezi jednotlivými počítači Windows a Linux / BSD / OSX, pokud jsou sdíleny ve stejném místě.

    Tyto soubory se obvykle nacházejí v domovském adresáři uživatele (tj. /home/name/.ssh na Linuxu nebo C: \ Uživatelské jméno \ .ssh v systému Windows 7 a novějších verzích). To je docela vzácné pro ně být vložen do Dokumenty nebo Moje dokumenty podadresáře (v konečném důsledku neobsahují dokumenty).

    Jak píše Rob Pike na Google+, byla to náhodná funkce:

    Již dávno, když byl vypracován návrh systému souborů Unix, byly zadány záznamy . a ... aby se usnadnila navigace. Nejsem si jist, ale věřím ... šel během přepisování verze 2, když se souborový systém stal hierarchickým (to má velmi odlišnou strukturu brzy na). Když jeden napsal ls, tyto soubory se objevily, takže buď Ken nebo Dennis přidali k programu jednoduchý test. Bylo to v assembleru, ale příslušný kód byl ekvivalentní tomuto:

    • pokud (jméno [0] == '.') pokračovat;

    Toto prohlášení bylo o něco kratší než to, co mělo být, což je:

    • pokud (strcmp (jméno, ".") == 0 || strcmp (jméno, "...") == 0) pokračovat;

    Ale hej, bylo to snadné a vyplynuly dvě věci.

    Za prvé byl stanoven špatný precedens. Mnoho dalších lazy programátorů uvedlo chyby tím, že učinilo stejné zjednodušení. Aktuální soubory začínající s obdobími jsou často přeskočeny, když je třeba je počítat.

    Za druhé, a mnohem horší, myšlenka a skrytý nebo bodový soubor byl vytvořen. V důsledku toho více líní programátoři začali propouštět soubory do domovského adresáře všech. Na počítači, který používám k zadávání, nemám nainstalován příliš mnoho software, ale můj domácí adresář má asi sto dot souborů a ani nevím, co je většina z nich, nebo zda jsou stále potřeba. Každé vyhodnocení názvu souboru, které prochází mým domovským adresářem, je zpomalováno tímto nahromaděným kalem.


    Musíte něco přidat k vysvětlení? Vyjměte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.