Hjemmeside » hvordan » Hvorfor har noen Windows-fil- og mappenavn en prikk foran dem?

    Hvorfor har noen Windows-fil- og mappenavn en prikk foran dem?

    Mens de fleste av oss bare ser normale fil- og mappenavn på våre Windows-systemer, kan andre ha opplevd noe litt mer uventet - fil- og mappens navn med en prikk foran dem. Hvorfor skjer dette? Dagens SuperUser Q & A innlegg har svaret på en veldig nysgjerrig leser spørsmål.

    Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

    Foto courtesy of Domiriel (Flickr).

    Spørsmålet

    SuperUser leser Niko Bellic vil vite hvorfor noen Windows-fil- og mappenavn har en prikk foran dem:

    For eksempel, i Mine dokumenter katalog på min Windows-system Jeg har funnet følgende mapper:

    • .ssh
    • .subversion

    Er dette en slags navnekonvensjon som jeg ikke vet om?

    Hvorfor har noen Windows-fil- og mappenavn en prikk foran dem?

    Svaret

    SuperUser bidragsyter gravitasjon har svaret for oss:

    Denne navngivningskonvensjonen kommer fra Unix-lignende operativsystemer (for eksempel Linux eller OSX) der det betyr a skjult fil eller katalog. Det fungerer hvor som helst, men det er primært å skjule konfigurasjonsfiler i hjemmekatalogen din (dvs.. ~ / .cache / eller ~ / .plan) De kalles ofte punktfiler.

    Prikkfiler kan på en måte bli kalt den tradisjonelle Unix som er ekvivalent med AppData katalog på Windows. I mellomtiden blir mange Linux-programmer endret for å følge XDG-base katalogspesifikasjonen, og flytte konfigurasjonen til ~ / .Config / og andre data til ~ / .Cache / og ~ / .Local / share /. Dette gjør det mer likt AppData \ Roaming og AppData \ Local.

    Du har disse .ssh og .subversion kataloger på Windows fordi du har brukt noen programmer (spesielt OpenSSH og Subversion) som har blitt portet til å bruke Windows-system-APIer i stedet for POSIX-enheter, men har ikke blitt justert for noen andre Windows-konvensjoner.

    Noen ganger blir denne tilpasningen skutt tilsiktet for å gjøre livet enklere for folk som bruker Unix-lignende miljøer som Cygwin på deres Windows-systemer. For eksempel installerer Cygwin standard settet av Unix-lignende verktøy som ls, som ignorerer Windows skjult flagg og ærer bare punktfil navn. Det er også lettere å synkronisere konfigurasjoner mellom en persons Windows og Linux / BSD / OSX-datamaskiner hvis den deles på samme sted.

    Disse filene finnes vanligvis i brukerens hjemmekatalog (dvs.. /home/name/.ssh på Linux eller C: \ Users \ navn \ .ssh på Windows 7 og senere). Det er ganske sjelden at de blir satt i dokumenter eller Mine dokumenter underkataloger (de inneholder ikke dokumenter i det hele tatt).

    Som Rob Pike skriver på Google+, var dette en tilfeldig funksjon:

    For lenge siden, da utformingen av Unix-filsystemet ble utarbeidet, ble oppføringene . og ... dukket opp for å gjøre navigasjonen enklere. Jeg er ikke sikker, men jeg tror ... gikk inn under versjon 2s omskrivning da filsystemet ble hierarkisk (det hadde en veldig forskjellig struktur tidlig). Når man skrev inn ls, Men disse filene dukket opp, så enten Ken eller Dennis la til en enkel test for programmet. Det var i assembler da, men koden i spørsmålet var lik noe slikt:

    • hvis (navn [0] == '.') fortsett;

    Denne uttalelsen var litt kortere enn hva den burde ha vært, som er:

    • hvis (strcmp (navn, ".") == 0 || strcmp (navn, "...") == 0) fortsett;

    Men hei, det var lett og to ting førte til.

    Først ble det satt en dårlig presedens. Mange andre dovne programmerere introduserte feil ved å gjøre samme forenkling. Faktiske filer som begynner med perioder, hoppes ofte over når de skal telles.

    For det andre, og mye verre, ideen om a skjult eller punktfil ble laget. Som en følge av dette begynte flere dovne programmerere å slippe filer inn i alles hjemmekatalog. Jeg har ikke mye programvare installert på datamaskinen jeg bruker for å skrive dette, men min hjemmekatalog har omtrent ett hundre punktfiler og jeg vet ikke engang hva de fleste er, eller om de fortsatt trengs. Hver filnavnevaluering som går gjennom hjemmekatalogen min, blir redusert av dette akkumulerte slammet.


    Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.