Početna » kako da » Zašto neka imena datoteka i mapa sustava Windows imaju točku ispred njih?

    Zašto neka imena datoteka i mapa sustava Windows imaju točku ispred njih?

    Dok većina nas samo vidi uobičajene nazive datoteka i mapa na našim Windows sustavima, drugi su možda naišli na nešto neočekivano - imena datoteka i mapa s točkom ispred njih. Zašto se to događa? Današnja postova za pitanja i odgovore SuperUser imaju odgovor na vrlo znatiželjno pitanje čitatelja.

    Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.

    Fotografija ljubaznošću Domiriela (Flickr).

    Pitanje

    Čitač superkorisnika Niko Bellic želi znati zašto neka imena datoteka i mapa sustava Windows imaju točku ispred njih:

    Na primjer, u Moji dokumenti direktorija na mom Windows sustavu Pronašao sam sljedeće mape:

    • .ssh
    • .subverzija

    Je li to neka vrsta konvencije imenovanja koju nisam svjestan?

    Zašto neka imena datoteka i mapa sustava Windows imaju točku ispred njih?

    Odgovor

    Odgovornost suradnika SuperUser ima odgovor za nas:

    Ova konvencija imenovanja dolazi iz operacijskih sustava sličnih Unixu (kao što je Linux ili OSX) gdje to znači a skrivena datoteka ili imenik. Radi bilo gdje, ali primarna namjena je skrivanje konfiguracijskih datoteka u vašem matičnom direktoriju (tj. ~ / .cache / ili ~ / .plan) Često se nazivaju dot files.

    Dot datoteke može se na neki način nazvati tradicionalnim Unix ekvivalentom Podaci aplikacije u sustavu Windows. U međuvremenu, mnogi Linux programi se mijenjaju kako bi slijedili specifikaciju XDG baznog imenika, premještanjem njihove konfiguracije ~ / .Config / i druge podatke za ~ / .Cache / i ~ / .Local / udjela /. To ga čini sličnijim AppData \ Roaming i AppData \ Local.

    Ti ih imaš .ssh i .subverzija direktorije u sustavu Windows jer ste koristili neke programe (posebice OpenSSH i Subversion) koji su portirani za korištenje API-ja sustava Windows umjesto POSIX, ali nisu prilagođeni za neke druge konvencije sustava Windows.

    Ponekad se ova adaptacija namjerno preskače kako bi se olakšao život ljudima koji na svojim Windows sustavima koriste okruženja slična Unixu kao što je Cygwin. Na primjer, Cygwin instalira standardni set sličnih alata sličnih Unixu ls, koja zanemaruje Windows skrivena zastava i samo poštuje dot datoteka imena. Također je lakše sinkronizirati konfiguracije između pojedinih Windows i Linux / BSD / OSX računala ako se dijele na istom mjestu.

    Te se datoteke obično nalaze u korisnikovom kućnom direktoriju (tj. /home/name/.ssh na Linuxu ili C: \ Users \ ime \ .ssh na Windows 7 i novijim verzijama). Vrlo je rijetko da ih se stavi u Dokumenti ili Moji dokumenti poddirektorije (one ipak ne sadrže dokumente).

    Kako Rob Pike piše na usluzi Google+, to je bila slučajna značajka:

    Davno, dok je dizajniran Unixov sustav datoteka, unosi . i ... kako bi olakšali navigaciju. Nisam siguran, ali vjerujem ... je tijekom verzije 2 preradio kada je datotečni sustav postao hijerarhijski (na početku je imao vrlo različitu strukturu). Kada netko upisuje ls, međutim, te su se datoteke pojavile, tako da su Ken ili Dennis dodali jednostavan test programu. Tada je bio u asembleru, ali kod koji je bio u pitanju bio je jednak nečemu poput ovoga:

    • ako se (ime [0] == '.') nastavi;

    Ova izjava je bila nešto kraća od onoga što je trebala biti, a to je:

    • if (strcmp (ime, “.”) == 0 || strcmp (ime, “…”) == 0) nastavi;

    Ali hej, bilo je lako i dvije stvari su rezultirale.

    Prvo, postavljen je loš presedan. Mnogi drugi lijeni programeri predstavili su bugove time što su napravili isto pojednostavljenje. Stvarne datoteke koje počinju s razdobljima često se preskaču kada ih treba prebrojati.

    Drugo, i mnogo gore, ideja o skriven ili dot datoteka kreiran je. Kao posljedica toga, lijen programeri počeli su ispuštati datoteke u svačiji home direktorij. Nemam mnogo instaliranog softvera na računalu koje koristim da upišem ovo, ali moj home direktorij ima oko stotinu dot files i ne znam ni što je većina njih ili su još uvijek potrebni. Svaka procjena naziva datoteke koja prolazi kroz moj home direktorij usporava ovaj nagomilani mulj.


    Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.