Proveniente dal mondo Windows, ho trovato la maggior parte dei nomi delle directory delle cartelle abbastanza intuitivi:
\Program Filescontiene file utilizzati dai programmi (sorpresa!)\Program Files (x86)contiene file utilizzati da programmi a 32 bit su sistemi operativi a 64 bit\Users(precedentementeDocuments and Settings) contiene i file degli utenti, ovvero documenti e impostazioni\Users\USER\Application Datacontiene dati specifici dell'applicazione\Users\USER\Documentscontiene documenti appartenenti all'utente
\Windowscontiene file che appartengono al funzionamento di Windows stesso\Windows\Fontsarchivia i file dei caratteri (sorpresa!)\Windows\Tempè una directory temporanea globale
eccetera. Anche se non avevo idea di cosa facessero queste cartelle, avrei potuto indovinare con buona precisione i loro nomi.
Ora sto dando una buona occhiata a Linux e mi sto confondendo su come orientarmi nel file system.
Per esempio:
/bincontiene file binari. Ma così fanno/sbin,/usr/bin,/usr/sbin, e probabilmente più che io non so. Quale è quale?? Qual'è la differenza tra loro? Se voglio fare un binario e metterlo da qualche parte in tutto il sistema, dove lo metto?/mediacontiene file system multimediali esterni. Ma anche così/mnt. E nessuno dei due contiene nulla sul mio sistema al momento; tutto sembra essere dentro/dev. Qual è la differenza? Dove sono le altre partizioni sul mio disco rigido, come leC:eD:che erano in Windows?/homecontiene i file e le impostazioni dell'utente. È molto intuitivo, ma poi cosa dovrebbe andare/usr? E come/rootmai è ancora separato, anche se è un utente con file e impostazioni?/libcontiene librerie condivise, come le DLL. Ma anche così/usr/lib. Qual è la differenza?Che cosa è
/etc? Significa davvero "et cetera" o qualcos'altro? Che tipo di file dovrebbe andare lì - globale o locale? È un tuttofare per cose che nessuno sapeva dove mettere o c'è un caso d'uso particolare per questo?Che cosa sono
/opt,/proce/var? Cosa rappresentano e a cosa servono? Non ho visto nulla di simile in Windows *, e non riesco proprio a capire a cosa potrebbero servire.
Se qualcuno può pensare ad altri luoghi standard che potrebbero essere utili da conoscere, sentiti libero di aggiungerlo alla domanda; speriamo che questo possa essere un buon riferimento per persone come me, che stanno iniziando a familiarizzare con i sistemi * nix.
* OK, è una bugia. Ho visto cose simili in WinObj, ma ovviamente non su base regolare. Tuttavia, non so ancora cosa facciano su Linux.
C:\Program Files, C:\ProgramData, %HOME%\AppData\Local, %HOME%\AppData\LocalLow, C:\Windows\SystemApps... Tutti gli esempi in cui si possono trovare gli eseguibili in Windows. E non parlerò nemmeno dei file di configurazione e del registro, non voglio essere ancora più depresso. PS: lavoro principalmente su Windows.