Wiele katalogów ma przyrostek / rozszerzenie „.d”. Co to znaczy?

38

Mój system ma 132 katalogi, których nazwy kończą się na .d
Istnieją również dwa skrypty, których nazwy kończą się na .d

Oprócz dwóch niepoprawnych skryptów („/usr/sbin/invoke-rc.d”, „/usr/sbin/update-rc.d”), zakładam, że .d oznacza katalog ... (ale zastanawiam się, dlaczego te skrypty są tak nazwane).

W niektórych przypadkach folder nadrzędny katalogu .d zawiera plik o tej samej nazwie, ale bez końcówki .d .

# eg.
  /etc/apt/sources.list.d
  /etc/apt/sources.list

Czy istnieje jakiś mistyczny racjonalny powód Linuksa dla tego stylu nazewnictwa?

Czy jest to głęboko zakorzeniona konwencja nazewnictwa, czy może jest tak absolutna jak „foo” i „bar”?

Peter.O
źródło

Odpowiedzi:

45

Jest to często używane w katalogach (stąd „d”), które zawierają zbiór częściowych plików konfiguracyjnych. Wszystkie pliki w katalogu łączą się, czasem także z innymi plikami, aby wykonać pełną konfigurację. Często dzieje się tak, gdy tradycyjnie był tylko jeden plik konfiguracyjny (np. W twoim przykładowym pliku sources.list), ale później chciałbyś uczynić wszystko bardziej modułowym.

Jak wspomina Laurence, katalogi /etc/rc?.d były prawdopodobnie jednym z pierwszych zastosowań tego zwyczaju.

JanC
źródło
10
Dodałbym do tego, że do innych nazw dodawana jest litera „d” bez nazwy wiodącej kropki, ale NIE oznacza to katalogu, ale „demona” lub usługi, takich jak „nazwany” lub „httpd”. o nazwie to usługa DNS, a httpd to usługa internetowa (na przykład Apache).
jfmessier
3
A co do tych dwóch „niepoprawnych skryptów” wymienionych w pytaniu: ich nazwy odnoszą się do katalogów /etc/rc?.d.
Laurence Gonsalves
1
Dzięki .. Wszyscy przyczyniliście się do dobrego ogólnego wyjaśnienia.
Peter.O,