Główna » jak » Dlaczego niektóre nazwy plików i folderów systemu Windows mają przed sobą kropkę?

    Dlaczego niektóre nazwy plików i folderów systemu Windows mają przed sobą kropkę?

    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, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Zdjęcie dzięki uprzejmości Domiriel (Flickr).

    Pytanie

    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ę?

    Odpowiedź

    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 wszędzie, ale jego głównym zastosowaniem jest ukrywanie plików konfiguracyjnych w twoim katalogu domowym (tj. ~ / .cache / lub ~ / .plan) Są często nazywane pliki dot.

    Pliki punktów można w pewnym sensie nazwać tradycyjnym odpowiednikiem Unixa Dane aplikacji katalog w systemie Windows. Tymczasem wiele programów linuksowych jest zmienianych w celu dostosowania się do specyfikacji 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ż wykorzystano niektóre programy (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 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ć 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 ls, jednak 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;

    Oświadczenie to 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 domowego katalogu wszystkich użytkowników. 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, spowalnia 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.