Hjemmeside » hvordan » Hvorfor har nogle Windows-fil- og mappenavne en prik foran dem?

    Hvorfor har nogle Windows-fil- og mappenavne en prik foran dem?

    Mens de fleste af os kun ser normale fil- og mappenavne på vores Windows-systemer, kan andre have opdaget noget lidt mere uventet - fil- og mappenavne med en prik foran dem. Hvorfor sker dette? Dagens SuperUser Q & A-indlæg har svaret på en meget nysgerrig læsers spørgsmål.

    Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Foto høflighed af Domiriel (Flickr).

    Spørgsmålet

    SuperUser-læser Niko Bellic vil vide, hvorfor nogle Windows-fil- og mappenavne har en prik foran dem:

    For eksempel i Mine dokumenter bibliotek på mit Windows-system Jeg har fundet følgende mapper:

    • .ssh
    • .subversion

    Er dette en slags navngivningskonvention, som jeg ikke er opmærksom på?

    Hvorfor har nogle Windows-fil- og mappenavne en prik foran dem?

    Svaret

    SuperUser bidragyder grawity har svaret for os:

    Denne navngivningskonvention kommer fra Unix-lignende operativsystemer (som Linux eller OSX), hvor det betyder a skjult fil eller vejviser. Det virker hvor som helst, men det primære formål er at skjule konfigurationsfiler i din hjemmekatalog (dvs.. ~ / .cache / eller ~ / .plan) De kaldes ofte dot-filer.

    Dot-filer kunne på en måde kaldes den traditionelle Unix svarende til AppData bibliotek på Windows. I mellemtiden bliver mange Linux-programmer ændret for at følge XDG-base-katalogspecifikationen og flytte deres konfiguration til ~ / .Config / og andre data til ~ / .Cache / og ~ / .Local / share /. Dette gør det mere ligner AppData \ Roaming og AppData \ Local.

    Du har disse .ssh og .subversion mapper på Windows, fordi du har brugt nogle programmer (specifikt OpenSSH og Subversion), der er blevet portet til at bruge Windows-system-API'er i stedet for POSIX-enheder, men er ikke blevet justeret for nogle andre Windows-konventioner.

    Nogle gange overgår denne tilpasning med vilje til at gøre livet lettere for folk, der bruger Unix-lignende miljøer som Cygwin på deres Windows-systemer. Cygwin installerer for eksempel standard sæt Unix-lignende værktøjer som ls, som ignorerer Windows skjult flag og ærer kun den dot fil navne. Det er også lettere at synkronisere konfigurationer mellem en persons Windows og Linux / BSD / OSX-computere, hvis den deles på samme sted.

    Disse filer findes typisk i brugerens hjemmekatalog (dvs.. /home/name/.ssh på Linux eller C: \ Brugere \ navn \ .ssh på Windows 7 og senere). Det er ret sjældent, at de sættes i Dokumenter eller Mine dokumenter underkataloger (de indeholder slet ikke dokumenter).

    Som Rob Pike skriver på Google+, var dette en tilfældig funktion:

    For længe siden, da designet af Unix-filsystemet blev udarbejdet, blev indgange . og ... dukkede op for at gøre navigationen lettere. Jeg er ikke sikker, men jeg tror ... gik ind under Version 2's omskrivning, da filsystemet blev hierarkisk (det havde en meget anderledes struktur tidligt). Når man skrev ls, Men disse filer optrådte, så enten Ken eller Dennis tilføjede en simpel test til programmet. Det var i assembler da, men den pågældende kode svarer til noget som dette:

    • hvis (navn [0] == '.') fortsæt;

    Denne erklæring var lidt kortere end hvad den burde have været, som er:

    • hvis (strcmp (navn, ".") == 0 || strcmp (navn, "...") == 0) fortsæt;

    Men hej, det var let og to ting resulterede.

    For det første blev der lavet en dårlig præcedens. En masse andre dovne programmører introducerede fejl ved at gøre samme forenkling. Faktiske filer, der begynder med perioder, hoppes ofte over, når de skal tælles.

    For det andet, og meget værre, ideen om a skjult eller dot fil var lavet. Som følge heraf begyndte mere dovne programmører at droppe filer i alles hjemmekatalog. Jeg har ikke meget software installeret på den computer, jeg bruger til at skrive dette, men mit hjemmekatalog har omkring et hundrede dot-filer og jeg ved ikke engang, hvad de fleste er, eller om de stadig er nødvendige. Hvert filnavn evaluering, der går gennem mit hjemmekatalog, nedsættes af dette akkumulerede slam.


    Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.