If-Koubou

Miksi jotkin Windowsin tiedosto- ja kansionimissä on pisteitä niiden edessä?

Miksi jotkin Windowsin tiedosto- ja kansionimissä on pisteitä niiden edessä? (Miten)

Vaikka useimmat meistä vain näkevät tavallisia tiedosto- ja kansionimiä Windows-järjestelmissä, muut ihmiset ovat saattaneet kohdata jotain hieman odottamattomampaa - tiedosto- ja kansionimet, joiden edessä on piste. Miksi näin tapahtuu? Tänään SuperUser Q & A -postilla on vastaus hyvin utelias lukijan kysymykseen.

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Photo courtesy of Domiriel (Flickr).

Kysymys

SuperUser-lukija Niko Bellic haluaa tietää, miksi jotkin Windowsin tiedoston ja kansion nimet ovat pisteitä edessä:

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

  • Ssh
  • .subversion

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

Miksi joidenkin Windowsin tiedostojen ja kansioiden nimet ovat pisteitä edessä?

Vastaus

SuperUser-avustajan grawity on meille vastaus:

Tämä nimeämissopimus on peräisin Unixin kaltaisista käyttöjärjestelmistä (kuten Linuxista tai OSX: stä), missä se tarkoittaa a piilotettu tiedosto tai hakemisto. Se toimii missä tahansa, mutta sen ensisijaisena tarkoituksena on piilottaa kotihakemistosi konfiguraatiotiedostot (ts. ~ / .cache / tai ~ / .plan) Heitä kutsutaan usein dot-tiedostoja.

Dot-tiedostoja voitaisiin tavallaan kutsua perinteiseksi Unix - standardiksi Sovellustiedot hakemisto Windowsissa. Samanaikaisesti monet Linux-ohjelmat on muutettu noudattamaan XDG-pohjahakemistomääritystä, siirtämällä niiden kokoonpanoa ~ / .Config / ja muut tiedot ~ / .Cache / ja ~ / .Paikallinen / share /. Tämä tekee siitä samanlaisen AppData \ Roaming ja AppData \ Local.

Sinulla on nämä Ssh ja .subversion hakemistoja Windowsissa, koska olet käyttänyt joitakin ohjelmia (erityisesti OpenSSH ja Subversion), jotka on siirretty käyttämään Windows-järjestelmä-sovellusliittymiä pikemminkin kuin POSIX-ohjelmia, mutta joita ei ole muokattu muissa Windows-yleissopimuksissa.

Joskus tämä sovitus ohitetaan tarkoituksellisesti helpottamaan ihmisiä, jotka käyttävät Unix-tyyppisiä ympäristöjä, kuten Cygwin Windows-järjestelmissä. Esimerkiksi Cygwin asentaa Unix-tyyppisten työkalujen standardisarjan, kuten ls, joka ohittaa Windowsin piilotettu lippu ja vain kunnioittaa dot-tiedosto nimiä. On myös helpompaa synkronoida yksittäisten Windows- ja Linux / BSD / OSX-tietokoneiden väliset kokoonpanot, jos ne jaetaan samassa paikassa.

Nämä tiedostot ovat tyypillisesti käyttäjän kotihakemistossa (ts. /home/name/.ssh Linuxissa tai C: \ Users \ nimi \ .ssh Windows 7: ssä ja uudemmissa). On melko harvinaista, että heidät asetetaan asiakirjat tai Omat asiakirjat alihakemistot (ne eivät kuitenkaan sisällä asiakirjoja).

Kuten Rob Pike kirjoitti Google+ -palvelussa, tämä oli satunnaista:

Kauan sitten, kun Unix-tiedostojärjestelmän muotoilu oli selvitetty, merkinnät . ja ilmestyi helpottamaan navigointia. En ole varma, mutta uskon lähti version 2 uudelleenkirjoituksen aikana, kun tiedostojärjestelmä tuli hierarkkiseksi (sillä oli hyvin erilainen rakenne aikaisin). Kun kirjoitat ls, mutta nämä tiedostot ilmestyivät, joten joko Ken tai Dennis lisäsivät yksinkertaisen testin ohjelmaan. Se oli kokoonpanossa sitten, mutta kyseinen koodi vastasi jotain tällaista:

  • jos (nimi [0] == '.') jatkaa;

Tämä lausunto oli hieman lyhyempi kuin mitä sen pitäisi olla, mikä on:

  • jos (strcmp (nimi, ".") == 0 || strcmp (nimi, "...") == 0) jatkaa;

Mutta hei, se oli helppoa ja tulivat kaksi asiaa.

Ensinnäkin, asetettiin huono ennakkotapaus. Monet muut laiska ohjelmoijat esittivät virheitä tekemällä samaa yksinkertaistamista. Aikaa alkavat todelliset tiedostot ohitetaan usein, kun ne lasketaan.

Toiseksi, ja paljon pahempaa, ajatus a kätketty tai dot-tiedosto luotiin. Tämän seurauksena laittomat ohjelmoijat alkoivat pudottaa tiedostoja kaikkien kotihakemistoon. Minulla ei ole paljon ohjelmistoa asennettuna tietokoneeseen, jota käytän kirjoittaessani, mutta kotihakemistani on noin sata dot-tiedostoja enkä edes tiedä, mitä useimmat heistä ovat tai tarvitsevatko he vielä. Jokainen tämän kotihakemiston kautta tapahtuva tiedostonimen arviointi hidastuu tämän kertyneen lietteen avulla.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.