[Guide Linux] Spiegazione della struttura delle cartelle in Linux

[Guide Linux] Spiegazione della struttura delle cartelle in Linux

image351

In questa guida cercherò di spiegare in maniera molto concisa ed abbastanza esaustiva la struttura della cartelle sistema di Linux, soprattutto per tutti quegli utenti che si trovano ad avvicinarsi a linux per le prime volte e giustamente si trovano spiazzati dalla mancanza del famoso C:\ e delle solite cartelle con nomi molto espliciti presenti in Windows.

In Linux infatti tutto questo non esiste visto che si va ad utilizzare The Filesystem Hierarchy Standard (FHS) che definisce come deve essere la struttura del file system, ed è adottato da tutti i sistemi Unix based.

Ma andiamo a vedere in dettaglio come sono strutturate queste cartelle:

/ – La cartella Root

Il simbolo / sta ad indicare la Cartella di Root che è la radice dell’albero del file system di Linux, ogni altro file o cartella andrà ad essere inserito al di sotto di questa o in modo diretto o come discendente di un altro discendente.

Si potrebbe fare l’errore di pensare che questo equivalga al famoso C:\ presente in Windows ma questo non è assolutamente vero, visto che i drive non vengono identificati da nessuna lettera in Linux, ed ogni nuova partizione non viene chiamata con un altra lettera ma come detto prima andrà a collocarsi come discendente di uno dei figli del nodo radice Root.

image352

 

/bin – file binari principali per l’utente

In questa cartella troviamo i binari essenziali per l’utente, infatti qui non ci vanno le applicazioni di uso comune o non essenziali come firefox che vanno a posizionarsi in /usr/bin, mentre ci vanno applicazioni più essenziali quali ad esempio bash o shell. Mentre nella cartella /sbin vanno a posizionarsi i binari essenziali per l’amministrazione del sistema.

image357

/boot – File per il boot

In questa cartella vengono salvati i file essenziali per il l’avvio del sistema, per esempio i file di GRUB, da non confondere con file di configurazione di GRUB che invece si trovano in /etc.

/cdrom – Storico punto di mount per i CD-ROMs

Questa cartella non fa parte dell’FHS standard, ma si trova sia in Ubuntu che in altri sistemi operativi. In questa vengono temporaneamente caricati i file dal CD-ROM inserito, anche se per lo standard questi dovrebbero andare su /media.

/dev – File dei Device

Come spiegato in un altro nostro articolo Linux rappresenta i device in dei file speciali che vanno poi a trovarsi tutti sotto /dev. Per esempio il file /dev/sda rappresenta il primo hard disk SATA, se vogliamo partizionarlo dovremo editarlo tramite un appossito editor di partizioni.

La cartella contiene anche degli pseudo device che non sono dei device hardware ma che hanno funzione prettamente di stream, e come spiegato nell’articolo sopra citato sono /dev/random, /dev/zero, /dev/null.

/etc – File di configurazione

Qui sono salvati tutti i file di configurazione che potete tranquillamente editare e modificare tramite un editor di testo ovviamente con i dovuti permessi.

/home – Cartella Home

Questa cartella contiene le cartelle Home dei vari Utenti, infatti se il vostro nome utente è pippo troverete la vostra cartella in /home/pippo. Questa cartella contiene i file dati dell’utente e gli specifici file di configurazione dell’utente. Ogni utente ha i permessi solo per i propri file e se vuole modificare i file sistema deve ottenere i permessi di root.

/lib – Principali Librerie

Nella cartella si trovano le librerie per i vari file binari presenti in /bin e /sbin. Mentre per quanto riguarda i binari presenti in /usr/bin le librerie si trovano in /usr/lib.

/lost+found – File recuperati

In questa cartella il file system quando succede un evento imprevisto che fa terminare il sistema di botto, senza il salvataggio cerca al primo riavvio di salvare tutti i file non chiusi correttamente qui, in modo che si possa poi cercare di recuperare più dati possibili.

/media – Media Rimovibili

Qui troviamo delle sotto cartelle che rappresentano ognuna un device media inserito nel sistema, tipicamente drive usb. Quando si inserisce un device di solito viene creata una cartella all’interno di /media che lo rappresenta e da li potete accedere al device stesso.

/mnt – Storico punto di mount temporaneo

Questa cartella è storicamente stata usata per montare un qualsiasi device in modo manuale. Ovviamente è solo una cosa storica, ma nessuno vi obbliga a montare i device qui dentro, ma potete farlo anche in altre cartelle che più vi piacciono.

/opt – Pacchetti opzionali

Contiene sottocartelle con software opzionali. Spesso viene utilizzata dai produttori di software per  evitare l’utilizzo della gerarchia standard in modo da avere tutto i file per il proprio applicativo in un una sottocartella di opt.

/proc – kernel & file di processo

Di questa cartella vi abbiamo già parlato nel nostro articolo e come per /dev contiene dei file speciali che rappresentano lo stato del sistema ed anche informazioni sui processi.

image356

 

/root – Cartella home di root

Questa è la cartella home dell’utente root, che ovviamente è diversa da / che rappresenta la cartella di root.

/run – File di stato applicazioni

In questa cartella le applicazioni salvano alcuni stati di transizioni come appoggio, non usano la cartella /tmp perché li file sarebbero cancellabili.

/sbin – Binari per software amministrativo di sistema

Come accennato prima qui troviamo i software utili ed essenziali per l’amministrazione del sistema.

/selinux – SElinux Virtual File System

Se utilizzate una distrubuzione che usa SELinux per la sicurezza (fedora o red had) nella cartella /selinux troverete dei file speciali utilizzati da SElinux, Ubuntu non lo utilizza quindi non dovreste avere questa cartella su Ubuntu.

/srv – Servizi

In questa cartella si trovano dati per servizi, ad esempio se vogliamo fornire apache server http per fornire un sito i file andranno in una sotto cartella di /srv.

/tmp – File Temporanei

Qui le applicazioni salvano dei file temporanei che vengono regolarmente cancellati allo spegnimento del sistema.

/usr – Utente

Qui troviamo tutto quello che riguarda l’utente, tra cui le applicazioni /usr/bin, librerie /usr/lib, applicazioni di sistema non essenziali /usr/sbin, possiamo trovare anche altre cartelle non essenziali come /usr/share per la condivisione.

Nella cartella /usr/local vengono compilati per l’installazione le applicazioni cosi da evitare che venga sporcato il sistema.

/var – File dati variabili

Scrivibile per vari motivi, di solito utilizzata per alcune applicazioni che ci lascino file di log.

Conclusioni

Ovviamente questa è stata una velocissima carrellata soprattutto per i nuovi utenti che vogliono avvicinarsi a Linux e anche per chi lo utilizza ma non sa ancora bene come sono sistemati i file e la gerarchia delle cartelle.

Per un’approfondimento maggiori vi rimando alla documentazione ufficiale della gerarchia del file system che potete trovare qui in inglese: Link.

pa007

Founder di Pa007World. Laureato in Ingegneria Informatica all'Università di Pisa e studente di Master of Science in Embedded Computing Systems presso la Scuola Superiore Sant'anna e l'Università di Pisa. Appassionato da sempre di informatica e tecnologia. Home page: http://www.pa007world.com