Po przeczytaniu tego pytania Dlaczego „~” wybrano do reprezentowania katalogu domowego? , kolejnym oczywistym pytaniem, jakie przyszło mi do głowy, było pytanie „dlaczego”. i „..” został użyty do przedstawienia katalogu bieżącego i katalogu nadrzędnego.
Wydaje się to teraz takie intuicyjne, ale z jakiegoś konkretnego powodu?
Odpowiedzi:
Wątpię, czy znajdziesz równie interesującą odpowiedź jak na pytanie o tyldę!
Nie było mnie tam, ale .. jest jak elipsa (...), co ma sens w takich kontekstach
cd ../../../there
. Ponadto, a zwłaszcza patrząc na starą klawiaturę terminala z tyldy, nie ma wielu odpowiednich znaków do tego celu. Nie musisz się też zmieniać.
. Jest idealny.Fakt, że w ukrytych plikach używany jest prefiks kropki, może być kolejnym powodem. Pliki ukryte nie są domyślnie wyświetlane na liście przez narzędzia takie jak
ls
, więc nie są zasadniczo zbędne.
i..
. Zbędne w tym sensie, że nie ma sensu brać ich pod uwagę wraz z innymi plikami - na pewno przydadzą się.Jak się okazuje, że może mieć to wstecz ... z wikipedii :
To okazuje się przydatne podczas programowania; ponieważ system zawiera. i .. w odpowiedzi na
readdir()
polecenia typu (i globusy powłoki), ignorowanie ich i ukrytych plików może być wykonane w ten sam sposób.Inne zdanie na temat tej wartości użytkowej znajduje się w cytacie z wikipedii. Oczywiście cała historia może być apokryficzna ... trochę trudno uwierzyć, że np. Dennis Ritchie uznał, że sprawdzenie pierwszej postaci byłoby w porządku.
Nie zgadzam się z autorem, lepiej byłoby umieścić ukryte pliki konfiguracyjne w ich własnym katalogu niż nadać im uniwersalny prefiks. Prefiks jest znacznie bardziej elastyczny, umożliwiając stosowanie wewnętrznych instrukcji, takich jak
.gitignore
i.htaccess
. Świadek, że tego rodzaju pliki pojawiają się razem, gdy są sortowane leksykograficznie - więc być może było to w końcu celowe .źródło
Przeważnie ta sama odpowiedź, co @Panos 'na stackoverflow :
Krótko mówiąc, ewoluowało z
d
idd
(d
irectory id
irectory'sd
irectory), które zostały stworzone przez użytkowników ręcznie.d
stał się kropka , a ci,.
a..
powstały najpierw przezmkdir
narzędzie (setuid po połączeniu katalogów zostało już dopuszczone przez zwykłego użytkownika), a później przezmkdir
wywołanie systemowe.Fragment wywiadu z Kenem Thompsonem (1989-09-06):
źródło