Podczas gdy większość z nas widzi normalne nazwy plików i folderów w naszych systemach Windows, inne osoby mogły napotkać coś bardziej nieoczekiwanego - nazwy plików i folderów z kropką przed nimi. Dlaczego to się dzieje? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na bardzo ciekawe pytanie czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Domiriel (Flickr).
Czytnik SuperUser Niko Bellic chce wiedzieć, dlaczego niektóre nazwy plików i folderów systemu Windows mają przed sobą kropkę:
Na przykład w Moje dokumenty katalog w moim systemie Windows Znalazłem następujące foldery:
- .ssh
- .obalenie
Czy jest to jakaś konwencja nazewnictwa, której nie jestem świadomy?
Dlaczego niektóre nazwy plików i folderów systemu Windows mają przed sobą kropkę?
Nadawca SuperUser ma dla nas odpowiedź:
Ta konwencja nazewnictwa pochodzi z uniksopodobnych systemów operacyjnych (takich jak Linux lub OSX), gdzie oznacza to ukryty plik lub informator. Działa w dowolnym miejscu, ale jego głównym zastosowaniem jest ukrywanie plików konfiguracyjnych w katalogu domowym (np. ~ / .cache / lub ~ / .plan) Są często nazywane pliki dot.
Pliki dot można w pewnym sensie nazwać tradycyjnym odpowiednikiem Unixa Dane aplikacji katalog w systemie Windows. W międzyczasie wiele programów linuksowych zmienia się zgodnie ze specyfikacją katalogu podstawowego XDG, przenosząc ich konfigurację do ~ / .config / i inne dane do ~ / .cache / i ~ / .local / share /. To sprawia, że jest bardziej podobny do AppData \ Roaming i AppData \ Local.
Masz je .ssh i .obalenie katalogów 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 funkcji 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 uniksopodobnych, takich jak Cygwin w swoich systemach Windows. Na przykład Cygwin instaluje standardowy zestaw narzędzi podobnych do systemu Unix, takich jak ls, które ignoruje Windows ukryta flaga i tylko honoruje plik dot nazwy. Łatwiej jest też synchronizować konfiguracje między komputerami osobistymi Windows i Linux / BSD / OSX, jeśli są one współużytkowane w tej samej lokalizacji.
Pliki te zwykle znajdują się w katalogu domowym użytkownika (tj. /home/name/.ssh w systemie Linux lub C: \ Users \ name \ .ssh w systemie Windows 7 i nowszych). Dosyć rzadko zdarza się, aby je umieścić w Dokumenty lub Moje dokumenty podkatalogi (w końcu nie zawierają dokumentów).
Jak pisze Rob Pike w Google+, była to przypadkowa funkcja:
Dawno temu, w miarę opracowywania projektu systemu plików Unix, wpisy . i … pojawił się, aby ułatwić nawigację. Nie jestem pewien, ale wierzę … wszedł w trakcie przepisywania wersji 2, gdy system plików stał się hierarchiczny (wcześnie miał bardzo odmienną strukturę). Kiedy ktoś pisze lsjednak pojawiły się te pliki, więc Ken albo Dennis dodali prosty test do programu. To było w asemblerze, ale kod, o którym mowa, był równoważny z czymś takim:
- if (name [0] == '.') continue;
To stwierdzenie było nieco krótsze niż to, co powinno być, a mianowicie:
- if (strcmp (name, ".") == 0 || strcmp (name, "...") == 0) continue;
Ale hej, to było łatwe i przyniosły dwie rzeczy.
Najpierw ustalono zły precedens. Wielu innych leniwych programistów wprowadziło błędy, dokonując tego samego uproszczenia. Rzeczywiste pliki rozpoczynające się kropkami są często pomijane, gdy powinny zostać policzone.
Po drugie, i znacznie gorzej, idea a ukryty lub plik dot został stworzony. W konsekwencji, leniwsi programiści zaczęli upuszczać pliki do katalogu domowego wszystkich osób. Nie mam zbyt wiele zainstalowanego oprogramowania na komputerze, którego używam do pisania tego, ale mój katalog domowy ma około stu pliki dot i nawet nie wiem, co to jest większość i czy wciąż są potrzebne. Każda ocena nazw plików, która przechodzi przez mój katalog domowy, jest spowolniona przez ten nagromadzony szlam.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.