/ / Miksi joillakin Windows-tiedostojen ja kansioiden nimillä on piste edessä?

Miksi joillakin Windows-tiedostojen ja kansioiden nimillä on piste edessä?

Miksi-do-joitakin-windows-tiedosto-ja-kansio-nimet-on-a-dot-in-edessä-of-heistä-00

Vaikka suurin osa meistä näkee vain normaalin tiedoston ja kansionnimet Windows-järjestelmissämme, muut ihmiset ovat saattaneet kohdata jotain odottamattomampaa - tiedosto- ja kansiot, joiden edessä on piste. Miksi näin tapahtuu? Tämän päivän SuperUser Q&A -viestissä on vastaus erittäin uteliaan lukijan kysymykseen.

Tämän päivän kysymys- ja vastausistunto on meille SuperUser-palvelun myötä - Stack Exchange -yksikön alaosasto, joka on yhteisön vetämä Q & A-verkkosivustojen ryhmittely.

Kuva: Domiriel (Flickr).

Kysymys

SuperUser-lukija Niko Bellic haluaa tietää, miksi joidenkin Windows-tiedostojen ja kansioiden nimissä on piste edessä:

Esimerkiksi Omat asiakirjat Olen löytänyt seuraavat kansiot Windows-järjestelmästä:

  • Ssh
  • .subversion

Onko tämä jonkinlainen nimeämiskäytäntö, jota en tiedä?

Miksi joidenkin Windows-tiedostojen ja -kansioiden nimissä on piste edessä?

Vastaus

SuperUser-avustajien mielenkiintoisuus on meille vastaus:

Tämä nimeämiskäytäntö tulee Unix-kaltaisista käyttöjärjestelmistä (kuten Linux tai OSX), missä se tarkoittaa a piilotettu tiedosto tai hakemisto. Se toimii missä tahansa, mutta sen ensisijainen käyttö on piilottaa kokoonpanotiedostot kotihakemistoon (ts. ~ /. välimuisti / tai ~ / .suunnitelma) Niitä kutsutaan usein dot-tiedostot.

Dot-tiedostot voidaan tietyllä tavalla kutsua perinteiseksi Unixiksi, joka vastaa Sovellustiedot hakemisto Windowsissa. Samaan aikaan monia Linux-ohjelmia muutetaan noudattamaan XDG-perushakemistomäärityksiä siirtämällä niiden kokoonpanot kohtaan ~ / .Config / ja muut tiedot ~ / .Cache / ja ~ / .Paikallinen / share /. Tämä tekee siitä samankaltaisen AppDataRoaming ja AppDataLocal.

Sinulla on nämä Ssh ja .subversion hakemistoja Windowsissa, koska olet käyttänyt joitainohjelmat (erityisesti OpenSSH ja Subversion), jotka on siirretty käyttämään Windows-järjestelmän sovellusliittymiä POSIX-ohjelmien sijasta, mutta joita ei ole mukautettu joidenkin muiden Windows-käytäntöjen mukaan.

Joskus tämä mukautus ohitetaantarkoituksellisesti helpottaa ihmisten elämää, jotka käyttävät Unix-kaltaisia ​​ympäristöjä, kuten Cygwin, Windows-järjestelmissä. Esimerkiksi Cygwin asentaa vakiosarjan Unixin kaltaisia ​​työkaluja, kuten ls, joka ohittaa Windowsin piilotettu lippu ja kunnioittaa vain dot-tiedosto nimiä. On myös helpompaa synkronoida kokoonpanot yksilön Windowsin ja Linux / BSD / OSX -tietokoneiden välillä, jos se on jaettu samassa paikassa.

Nämä tiedostot löytyvät tyypillisesti käyttäjän kotihakemistosta (ts. /home/name/.ssh Linuxissa tai C: Usersname.ssh Windows 7 tai uudempi). On melko harvinaista, että heidät laitetaan asiakirjat tai Omat asiakirjat alihakemistot (ne eivät sisällä kaikkia asiakirjoja).

Kuten Rob Pike kirjoittaa Google+ -palvelussa, tämä oli sattumanvarainen ominaisuus:

Kauan sitten, kun Unix-tiedostojärjestelmän suunnittelu oli valmisteilla, merkinnät . ja .. ilmestyi navigoinnin helpottamiseksi. En ole varma, mutta uskon .. meni sisään version 2 uudelleenkirjoituksen aikana, kun tiedostojärjestelmästä tuli hierarkkinen (sen rakenne oli varhain hyvin erilainen). Kun yksi kirjoitti lsNämä tiedostot kuitenkin ilmestyivät, joten joko Ken tai Dennis lisäsivät ohjelmaan yksinkertaisen testin. Se oli silloin kokoonpanijassa, mutta kyseinen koodi vastasi jotain tällaista:

  • if (nimi [0] == '.') jatka;

Tämä lausunto oli hiukan lyhyempi kuin mitä sen olisi pitänyt olla, mikä on:

  • if (strcmp (nimi, “.”) == 0 || strcmp (nimi, “..”) == 0) jatka;

Mutta hei, se oli helppoa ja tuloksena oli kaksi asiaa.

Ensinnäkin asetettiin huono ennakkotapaus. Monet muut laiskaohjelmoijat esittelivät virheitä tekemällä saman yksinkertaistuksen. Jaksoilla alkavat todelliset tiedostot ohitetaan usein, kun ne pitäisi laskea.

Toinen, ja mikä vielä pahempaa, idea a kätketty tai dot-tiedosto luotiin. Tämän seurauksena laiskammat ohjelmoijat alkoivat pudottaa tiedostoja kaikkien kotihakemistoon. Minulla ei ole paljon ohjelmistoja asennettuna tietokoneeseen, jota käytän tämän kirjoittamiseen, mutta kotihakemistossani on noin sata dot-tiedostot enkä edes tiedä mitä heistä suurin osa on tai tarvitaanko niitä edelleen. Tämä kertynyt liete hidastaa jokaista kotihakemistoni läpi käyvää tiedostonimen arviointia.


Onko jotain lisättävää selitykseen? Kuuntele kommentteja. Haluatko lukea lisää vastauksia muilta teknisesti hyödyllisiltä Stack Exchange -käyttäjiltä? Katso koko keskusteluketju täältä.