File System
Denominazione dei dischi fissi
Linux indica i dischi fissi collegati nel sistema in questo modo:
hdX
se si tratta di un disco IDE (usando versioni meno recenti del kernel)sdX
se si tratta di un disco SATA (oppure, con le ultime versioni di Linux, anche i dischi IDE)
dove X
è una lettera dell'alfabeto. Al primo disco del sistema sarà assegnata la lettera a
(hda
oppure sda
) e via via saranno assegnate tutte le lettere che servono.
Le partizioni di ogni disco vengono indicate con dei numeri progressivi:
1-4
indicano le partizioni primarie- da
5
in poi sono le partizioni logiche
Ad esempio:
sda1
è la prima partizione primaria del nostro primo disco SATAhdc5
è la prima partizione logica del nostro terzo disco IDE
Tutti i dischi presenti nel sistema vengono "elencati" sotto la directory /dev
. Perciò il "nome completo" dei due dischi visti nell'esempio precedente sarà:
/dev/sda1
/dev/hdc5
Si noti quindi come i supporti di memorizzazione vengono identificati tramite file.
Struttura
Il filesystem linux è strutturato a partire dalla sua radice (indicata con /
e chiamata root) e tutti i dischi e i dispositivi removibili vengono "agganciati" (l'operazione si chiama montaggio, in inglese mount) in una directory sotto /
.
Una comune struttura di filesystem Linux è la seguente (si digiti ad esempio ls -hl /
):
/ | |-- bin/ (file eseguibili di base) | |-- boot/ (file necessari all'avvio) | |-- dev/ (file che rappresentano le periferiche hardware collegate al sistema) | |-- etc/ (file di configurazione del sistema e dei servizi) | |-- home/ (file personali degli utenti) | | | |- ferdy (file personali di ferdy) | |- cesca (file personali di cesca) | |-- media/ (periferiche esterne montate in automatico dal sistema) | |-- mnt/ (contenitore per le periferiche che vogliamo montare) | |-- opt/ (file e programmi opzionali, ad es. giochi) | |-- root/ (la home directory dell'utente root) | |-- sbin/ (file eseguibili solo dall'utente root) | |-- tmp/ (file temporanei) | |-- usr/ (i programmi installati sul sistema) | | | |- bin/ (gli eseguibili dei programmi installati) | |-- var/ (dati variabili. Ad es. database, caselle di posta, etc)
È importante sottolineare che ciascun elemento del filesystem può fisicamente risiedere su un differente disco rigido, o perfino risorsa remota, in altre parole un utente ha la possibilità di distribuire qualsiasi directory (di sistema comprese) tra i vari supporti fisici come meglio crede.
Linux VS Windows
In ambiente Windows ogni nuovo disco e ogni nuova partizione installati nel sistema si vedono attribuiti la lettera dell'alfabeto successiva all'ultima utilizzata. Ad esempio, se installassimo un nuovo disco fisso in un sistema Windows che utilizza:
A:
per il floppyC:
per il disco di sistemaD:
per un secondo disco di datiE:
per il masterizzatore
al nuovo disco verrebbe automaticamente assegnata la lettera F:
. Un utente che in windows aprisse esplora risorse vedrebbe quindi subito tutti i dispositivi fisici installati con le relative cartelle e poco più sotto l'icona delle risorse di rete.
In ambiente Linux le cose funzionano diversamente, infatti si vedono solo file e directory essedo i dispositivi fisici non immediatamente visibili; in genere questo è l'aspetto più traumatico per un utente abituato con windows, tuttavia come già scritto un tale approccio permette di distribuire le directory, di sistema comprese, come meglio si crede, mentre in windows le cartelle \Programmi
e \Windows
devono obbligatoriamente risiedere sul disco fisico identificato con la lettera C:
.
In sintesi la rappresentazione linux della struttura di file e cartelle in linux esclude a priori i dispositivi fisici. È come se in windows da esplora risorse si vedesse semplicemente un albero di questo tipo (le lettere tra parentesi indicano in modo del tutto arbitrario il dispositivo fisico dove ciascuna cartella risiede effettivamente):
Desktop (C:) | | -- Computer | | | | -- Programmi\ (C:) | | | -- Microsoft\ (C:) | | | -- Office\ (F:) | | -- Windows\ (C:) | | | -- System\ (C:) | | | -- System32\ (D:) | | -- Utenti\ (D:) | | -- Cartella1\ (D:) | | | -- CartellaN\ (F:) | | -- Cartella2\ (D:) | | -- Cartella3\ (F:) | -- Rete