Inizialmente esistevano /binprogrammi (essenzialmente binari eseguibili) e molto presto /devfile di dispositivi e /libcodice eseguibile aggiuntivo caricato da programmi (librerie). /usrè venuto anche molto presto, prima per i dati utente, quindi come uno spazio operativo in più con il proprio bine lib, quindi mancontenente il manuale in formato elettronico. Il codice sorgente veniva spesso fornito da qualche parte sotto /usr.
E c'erano alcuni file nel sistema operativo che non rientravano in nessuna delle categorie esistenti. Ciò includeva un passwdfile contenente le password degli utenti e un mtabfile scritto da mount, e i programmi inite quelli successivi rceseguiti all'avvio, e nel tempo un numero sempre maggiore di programmi che dovevano essere eseguiti solo a scopo amministrativo e non come parte del normale utilizzo.
(Puoi sfogliare alcuni vecchi codici sorgente Unix sull'Albero Unix . Le versioni precedenti a V6 sono molto frammentarie. Puoi anche consultare i manuali V1 e V6 nella libreria delle pagine del manuale .)
Inizialmente, non vi era alcuna connotazione in cui i file /etcfossero file di configurazione. In questi primi giorni, se volessi personalizzare qualcosa, avresti ricompilato quella parte del sistema. Man mano che Unix diventava più potente, c'erano sempre più cose che potevi fare senza ricompilare. Man mano che Unix veniva usato più ampiamente, c'erano sempre più cose che la gente voleva fare, e trovarono il modo di farle senza affrontare il problema della ricompilazione. Così /etcriempito con sempre più file di testo che le persone potevano e facevano personalizzare, quindi è diventato gradualmente la directory di configurazione.
Con la creazione di /sbincontenere programmi destinati esclusivamente all'amministratore di sistema, è /etcfinito per contenere solo file di testo, molti dei quali possono essere personalizzati dall'amministratore di sistema. Alcuni file (ad esempio /etc/mtab, a volte /etc/resolv.conf) vengono gestiti automaticamente dai programmi di sistema; c'è una tendenza lenta a spostare questi file /runnel mondo Linux.
Sui moderni sistemi unix, quasi tutti i file di configurazione a livello di sistema sono sotto /etc, ma non tutti i file in /etcsono file di configurazione. Le tipiche distribuzioni Linux e altre varianti unix non sono in grado di gestire molto bene la modifica di molti file che provengono da pacchetti; come minimo, potresti finire per unire manualmente le modifiche locali quando il sistema viene aggiornato.