Ultima modifica:
1 Introduzione
In questa breve "guida" vedremo come è organizzato il File System nei sistemi unix e quali sono le cartelle che lo compongono, l'intenzione è di dare una spiegazione a grandi linee per far capire come è strutturato, soprattutto per gli utenti windows che non hanno mai usato sistemi operativi unix like.2 Il File System
Il filesystem rappresenta la modalità con cui I file e le cartelle sono organizzate all’interno del disco fisico.In Linux ed Unix tutto è un file. Le cartelle sono file, i file sono file, ed i dispositivi sono file.
I dispositivi sono di solito chiamati anche nodi; comunque, sono sempre file.
I sistemi Linux ed Unix sono organizzati in una struttura gerarchica ad albero, chiamata FHS (Filesystem Hiercarchy Standard).
Il livello più alto della strutttura dei file è la / (root) o cartella radice (volendo fare un paragone con windows corrisponderebbe a C: \) .
Tutti gli altri file e cartelle esistono sotto la cartella radice.
Per esempio, /home/pippo/test.txt mostra il percorso corretto per il file test.txt che esiste nella cartella pippo, che è sotto la cartella home, che a sua volta è sotto la cartella radice (/).
Sotto la root sono presenti altre directory di fondamentale importanza per il funzionamento e la gestione del sistema operativo.
3 Le cartelle del File System
Partiamo dalla cartella /bin:Questa directory, il cui nome è l'abbreviazione di binary, contiene tutti i comandi essenziali per usare il sistema operativo come
ls, cp, mv, cd, mkdir, cat, rm
e tanti altri.Come detto prima in linux tutto è un file e anche i comandi non fanno eccezione, se infatti visualizziamo il contenuto della cartella con il comando
ls /bin
vedremo dei files che si chiamano appunto con lo stesso nome dei comandi appena citati (compreso lo stesso ls
appena utilizzato).I files contenuti in /bin possono essere eseguiti da tutti gli utenti del sistema, anche da chi non ha privilegi amministrativi.
/sbin:
/sbin sta per "system binaries" e include appunto i files binari essenziali per le operazioni di amministrazione e configurazione del sistema.
A differenza di /bin i files contenuti qui sono eseguiti solamente da utenti con privilegi amministrativi o dall'utente root.
Tipici files contenuti in /sbin sono ifconfig, fdisk, init, e shutdown
/boot:
Questa directory contiene tutti i file necessari per eseguire il processo di boot del sistema operativo e le immagini del kernel.
Nella sottodirectory /grub si trova il file di configurazione dei parametri di avvio del bootloader GRUB.
/dev:
In /dev si trovano i files delle varie periferiche hardware (dev = devices).
L'hard disk principale del pc solitamente è individuato dal file /dev/sda e le sue partizioni interne attraverso i file /dev/sda1, /dev/sda2, ecc...
Se per esempio inseriamo una penna usb o colleghiamo una webcam verrà creato il relativo file necessario per far funzionare il dispositivo.
Da questa directory tuttavia non è possibile per accedere direttamente alle periferiche, per fare questo si usa la cartella /media.
/etc:
Contiene i file di configurazione dell'intero sistema, compresi gli utenti di sistema e le relative password (etc/passwd), qui si trova il file sudoers che contiene i nomi degli utenti che possono diventare temporaneamente root.
Le sotto-directory principali sono:
- /etc/apt: file di configurazione dei repository, in particolare /etc/apt/sources.list;
- /etc/grub.d: file per personalizzare la sequenza di boot del sistema;
- /etc/samba: contiene /etc/samba/smb.conf, file di configurazione per la condivisione dati tramite Samba.
/home:
Contiene le cartelle personali degli utenti del sistema.
Ci saranno tante sottocartelle tanti quanti saranno gli utenti e in ognuna di esse sono salvati dati e programmi con relative impostazioni dei vari profili utente.
/lib:
Contenitore dei file di libreria (library) necessari per i programmi di uso generale.
/media:
/media è la folder destinata al montaggio dei dispositivi rimovibili, ad esempio quando viene collegato al computer un Hard Disk esterno, sotto /media verrà creata automaticamente una cartella dalla quale è possibile esplorarne il contenuto.
/mnt:
Secondo il vecchio standard del passato (quando ancora si usavano i floppy disk) sarebbe la directory destinata al montaggio dei dispositivi esterni, ad oggi /media l'ha praticamente sostituita, tuttavia può essere utilizzata per montaggi manuali.
/opt:
Contiene programmi o software di terze parti che non sono presenti nelle repository, le applicazioni saranno salvato sotto /opt/bin mentre eventuali librerie sotto /opt/lib.
/proc:
Contiene le informazioni relative al sistema, come un file system virtuale creato dal kernel dinamicamente istante per istante, in memoria e non sul disco.
/root:
È la home folder dell'utente root, vi si puo' accedere solo con privilegi amministrativi
/run:
È usata da processi di sistema per salvare temporaneamente dati durante la loro esecuzione.
/tmp:
Serve per contenere file temporanei.
/usr:
La directory /usr agli albori dei primi sistemi unix era dove erano salvate le cartelle home degli utenti, attualmente è la directory che contiene la maggior parte dei programmi installati sul sistema.
Qui dentro ritroviamo le sottodirectory /bin e /sbin analoghe a quelle che si trovano sotto la root e oggi non c'è molta differenza riguardo il contenuto, in passato in /bin si trovavano solo i file dei comandi mentre in /usr/bin/ era possibile trovare i file di programmi strutturati come editor di testo e browser web.
Oggi certe distro mettono tutto sotto /usr/bin e /usr/sbin rendendo /bin e /sbin dei semplici puntatori, mentre debian, ubuntu e mint hanno ancora le suddette cartelle distinte e separate.
In /usr/src troviamo codice sorgente, ad esempio del kernel e dei relativi headers mentre in /usr/share abbiamo vari file condivisi come icone, sfondi del desktop e temi.
/var:
Contiene tutti file che hanno informazioni dinamiche, che tendono a modificarsi con il tempo: log, file di pid e lock dei processi in esecuzione, directory di spool (stampa, mail...)
Al suo interno sono presenti varie sotto-directory come /var/log che contiene appunto i files di log del sistema relativi ad eventi del kernel oppure attività del firewall in caso di tentativi di accesso.