Luca Bigon
a- a+

La struttura del File System di Linux

Per gli utenti Windows risulta molto difficile, agli inizi, capire come sono struttura le cartelle in un Sistema Operativo unix-like. Si è infatti abituati a pensare che l'unità C: corrisponde all'Hard Disk con il Sistema Operativo e che l'unità A: corrisponde al Lettore Floppy; possiamo quindi dire che Windows tende a gestire le periferiche esterne in modo separato. I Sistemi Operativi unix invece hanno una struttura ad albero dove al massimo livello si trova la root (directory radice, rappresentata da "/") e tutte le altre cartelle presenti si snodano verso il basso; ecco come sono strutturate le cartelle in un Sistema unix-like:

/
|- bin/
|- boot/
|- dev/
|- etc/
|- home/
|- lib/
|- mnt/
|- opt/
|- proc/
|- root/
|- sbin/
|- tmp/
|- usr/
|- var/

E' inutile negare che questo sistema di archiviazione a prima vista sembri privo di logica e disordinato ma, come spesso accade, l'apparenza inganna. Infatti la struttura sopra rappresentata permette di gestire il proprio Sistema Operativo con estrema semplicità in quanto ogni cartella è "abilitata" a contenere ben precise informazioni.
Proviamo quindi a studiare a cosa servono queste cartelle presente nella root del nostro Linux.

/bin e /sbin
Queste cartelle sono importantissime per la gestione di base del Sistema Operativo e per l'avvio dello stesso sistema. In generale possiamo dire che la cartella /bin contiene tutti i programmi che gli utenti comuni del sistema possono usare mentre nella cartella /sbin trovano posto i programmi volti all'amministrazione vera e propria del sistema; programmi, quindi, rivolti principalmente all'utente root.
Se avete gia installato Linux provate ad aprire una finestra di terminale (premete CTRL+ALT+F4) e identificatevi come utenti comuni. Provate quindi ad entrare nella cartella /bin "cd /bin" ed a visualizzare i file in esso contenuto "ls -la".
Come potete vedere ci sono programmi come "rpm" , "date" , "mv" , "ls" , "cp" ecc... 
Se invece entriamo nella cartella /sbin "cd /sbin" troviamo programmi come "fdisk" , "halt" , "init" , "lilo" ecc...

Nella cartella /lib invece troviamo le librerie condivise dalle applicazioni installate nel PC. 

Molto importante invece la cartella /etc nella quale possiamo trovare tutti i file di configurazione del nostro Sistema Operativo Linux. Generalmente questi file sono semplici file di testo che possono essere modificati solo dal root; questo ovviamente per non permettere ad un utente comune di mettere a rischio il corretto funzionamento del PC.
Proviamo per esempio a visualizzare la lista delle partizioni che possono essere montate "al volo" dal nostro Linux. Come fare? E' molto semplice:
entrate nella cartella /etc "cd /etc" e aprite il file fstab con un editor come VI "vi ./fstab"; una volta eseguito questo programma si aprirà un editor molto semplice ma potente, VI (editor che prenderemo in esame nelle prossime lezioni). Per il momento basta sapere che esiste. 
Una volta letto il file per chiuderlo è necessario premere "ESC" e scrivere ":q!"; in questo modo usciamo dal programma senza salvare le eventuali modifiche che abbiamo accidentalmente apportato.
Non prendete paura; nelle prossime lezioni esamineremo anche questo file.

/dev è una cartella molto particola ricca di file con strani nomi come per esempio "hda1" , "fd0" ecc.. Ma a cosa servono questi file?
Sembrerà strano ma il file fd0 rappresenta il lettore floppy A: di Windows mentre, il file hda1 rappresenta il C: di Windows o meglio ancora rappresenta la prima partizione del nostro Hard Disk. Incredibile vero?
In generale possiamo quindi dire che questa cartella contiene i file di tipo device; praticamente questi file rappresentano tutti i dispositivi di tipo hardware connessi al nostro PC.

La cartella /tmp si commenta praticamente da sola. Se si dispone di un PC poco potente è buona norma procedere all'eliminazione dei file contenuti in questa cartella; in questo modo potete guadagnare un po' di spazio nel vostro Hard Disk!

/var contiene invece tutti quei file che possono subire modifiche nel tempo. Per esempio in questa cartella troviamo i file di log di Linux, di Apache ecc..

Esiste anche una cartella virtuale chiamata /proc. Questa cartella infatti non risiede fisicamente nell'Hard Disk.
Al suo interno possiamo trovare tutti i processi presenti in memoria, troviamo le informazioni sullo stato del PC ecc..
Provate per esempio a visualizzare il file /etc/cpuinfo con l'editor VI.

/home, come già visto, contiene le cartelle personali di tutti gli utenti registrati nel vostro Linux. Per esempio l'utente "matteo" dispone della cartella /home/matteo/.

/boot contiene invece i file necessari a Linux per avviare il Sistema Operativo.

In /mnt troviamo tutte le directory dei FileSystem "montati" nel proprio Sistema come per esempio il lettore Floppy o il lettore CD-ROM.

All'interno della cartella /usr troviamo nuovamente le cartelle ./bin, ./sbin e ./lib; queste cartelle, a differenza di quelle presenti nella root del FileSystem contengono tutti quei programmi che non sono di fondamentale importanza per il corretto funzionamento del Sistema Operativo (per esempio i giochi, il browser ecc...).

Queste prime lezioni sono indispensabili se si vuole veramente studiare questo fantastico Sistema Operativo. Nella prossima lezione esamineremo alcune distribuzioni User-Friendly adatte ad un uso domestico.

 

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Marcello
Ti è piaciuto l'articolo?