Первоначально, это было /bin
для программ (по существу, исполняемых двоичных файлов), и очень скоро /dev
для файлов устройств и /lib
для дополнительного исполняемого кода, загружаемого программами (библиотеками). /usr
также пришел очень рано, сначала для пользовательских данных, а затем в качестве дополнительной области ОС с его собственным , bin
и lib
затем , man
содержащим руководством в электронном виде. Исходный код также часто предоставлялся где-то под /usr
.
И в операционной системе было несколько файлов, которые не вписывались ни в одну из существующих категорий. Это включает passwd
файл , содержащий пароли пользователей, и mtab
файл , написанный mount
и им init
и более поздние rc
программы , выполняемые во время загрузки, и с течением времени все больше и больше программ , которые были предназначены для исполнения только для целей администрирования , а не как часть нормального использования.
(Вы можете просмотреть некоторый старый исходный код Unix в Дереве Unix . Версии, предшествующие V6, очень фрагментарны. Вы также можете увидеть руководства V1 и V6 в Библиотеке страниц руководства .)
Сначала не было никакого смысла, что файлы /etc
были файлами конфигурации. В эти самые первые дни, если вы хотите что-то настроить, вы будете перекомпилировать эту часть системы. По мере того как Unix становился все более мощным, все больше и больше вещей можно было делать без перекомпиляции. По мере того как Unix становился все шире, люди хотели делать все больше и больше, и они находили способы сделать это, не сталкиваясь с проблемой перекомпиляции. Настолько /etc
заполненный все большим и большим количеством текстовых файлов, которые люди могли и действительно настраивали, следовательно, он постепенно стал каталогом конфигурации.
С созданием, /sbin
содержащим программы, предназначенные только для системного администратора, в /etc
итоге содержались только текстовые файлы, многие из которых могут быть настроены системным администратором. Несколько файлов (например /etc/mtab
, иногда /etc/resolv.conf
) автоматически поддерживаются системными программами; В /run
мире Linux существует медленная тенденция переноса этих файлов .
В современных системах Unix почти все общесистемные файлы конфигурации находятся под /etc
, но не все файлы в них /etc
являются файлами конфигурации. Типичные дистрибутивы Linux и другие варианты Unix не очень хорошо справляются с изменением многих файлов, поступающих из пакетов; как минимум, вам может потребоваться объединить локальные модификации вручную при обновлении системы.