Первоначально, это было /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 не очень хорошо справляются с изменением многих файлов, поступающих из пакетов; как минимум, вам может потребоваться объединить локальные модификации вручную при обновлении системы.