Na przykład w My Documents
znajdują się następujące foldery:
.ssh
.subversion
Czy to jakaś konwencja nazewnictwa, której nie znam?
Ta konwencja nazewnictwa pochodzi z systemów operacyjnych typu Unix (takich jak Linux lub OS X), gdzie oznacza „ukryty” plik lub katalog. Działa w dowolnym miejscu, ale jego głównym zastosowaniem jest ukrywanie plików konfiguracyjnych w katalogu domowym (np. ~/.cache/
Lub ~/.plan
- często nazywane są „plikami kropkowymi”).
Dotfiles można by nazwać tradycyjnym uniksowym odpowiednikiem katalogu „AppData” w systemie Windows. (Wiele programów Linux jest zmienianych zgodnie ze specyfikacją katalogu podstawowego XDG , przenosząc ich konfigurację ~/.config/
i inne dane do ~/.cache/
& ~/.local/share/
- dzięki temu jest trochę bardziej podobny do AppData\Roaming
i AppData\Local
.)
Masz te .ssh
i .subversion
katalogi w systemie Windows, ponieważ korzystałeś z niektórych programów - w szczególności OpenSSH i Subversion - które zostały przeniesione do używania interfejsów API systemu Windows zamiast POSIX, ale nie zostały dostosowane do niektórych innych konwencji Windows.
Czasami ta adaptacja jest celowo pomijana, aby ułatwić życie osobom używającym środowisk uniksowych, takich jak Cygwin w swoich systemach Windows. Na przykład Cygwin instaluje standardowy zestaw narzędzi uniksowych, takich jak ls
, który ignoruje „ukrytą” flagę systemu Windows i honoruje tylko .dotfile
nazwy. Ponadto użycie tej samej lokalizacji (np. <home>/.ssh
) Może ułatwić synchronizację konfiguracji między komputerami z systemem Windows i Linux / BSD / OSX.
Ponadto: Zazwyczaj pliki te znajdują się w katalogu domowym użytkownika , np. W systemie Linux lub w systemie Windows 7+. Bardzo rzadko są umieszczane w podkatalogach „Dokumenty” lub „Moje dokumenty”./home/name/.ssh
C:\Users\name\.ssh
Jak pisze Rob Pike w Google+ , była to przypadkowa funkcja:
Dawno temu, gdy opracowywano projekt systemu plików Unix, wpisy
.
i..
pojawiały się, aby ułatwić nawigację. Nie jestem pewien, ale wydaje mi się, że..
wszedłem podczas przepisywania wersji 2, kiedy system plików stał się hierarchiczny (na początku miał zupełnie inną strukturę). Jednak po wpisaniu ls pojawiły się te pliki, więc Ken lub Dennis dodali do programu prosty test. Był wtedy w asemblerze, ale kod, o którym mowa, odpowiadał mniej więcej tak:
if (name[0] == '.') continue;
To stwierdzenie było nieco krótsze niż powinno być
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;
ale hej, to było łatwe.
Powstały dwie rzeczy.
Po pierwsze, ustanowiono zły precedens. Wielu innych leniwych programistów wprowadziło błędy, wprowadzając takie samo uproszczenie. Rzeczywiste pliki zaczynające się od kropek są często pomijane, kiedy należy je policzyć.
Po drugie, i znacznie gorzej, stworzono pomysł pliku „ukrytego” lub „kropkowego”. W rezultacie bardziej leniwi programiści zaczęli upuszczać pliki do katalogu domowego każdego. Nie mam zainstalowanych tak wielu rzeczy na komputerze, którego używam do pisania, ale mój katalog domowy ma około stu plików z kropkami i nawet nie wiem, co to większość lub czy nadal są potrzebne . Każda ocena nazwy pliku, która przechodzi przez mój katalog domowy, jest spowalniana przez nagromadzony osad.
ls
ma-a
opcję wyświetlania listy wszystkich plików.LOGIN.COM
iDECW$MAIL.DAT
w swoim katalogu domowym . (Nie jestem pewien, które inne systemy były popularne w tym czasie). Unix został niedawno stworzony; w ogóle nie miał żadnych konwencji...
dla „up dir”; Microsoft reklamował te „zaawansowane funkcje uniksowe”.