22 marzo 2011
Questo capitolo è dedicato al filesystem di GNU/Linux ed attualmente offre una panoramica essenziale sul suo funzionamento.
1) Definizione: il filesystem è una struttura utilizzata per l'organizzazione dei dati in un dispositivo ad accesso diretto, ad esempio un disco rigido; tali dispositivi si contrappongono a quelli ad accesso sequenziale, tipicamente i nastri magnetici.
2) Tipi di filesystem:
1) Struttura:
Tutti gli elementi presenti in un filesystem GNU/Linux sono dei file. Partendo da questo presupposto, è facile comprendere come anche le directory, i dispositivi hardware, le partizioni dei dischi, etc., sono essi stessi dei file.
1) Tipi di file:
1) Definizione: ogni file presente in un filesystem GNU/Linux è rappresentato da un inodo archiviato su disco nella cosidetta tabella degli inodi. I file non vengono identificati dal sistema in base al loro nome ma facendo riferimento al relativo numero di inodo: i nomi dei file, invece, rappresentano soltanto dei collegamenti all'inodo stesso. In sostanza, l'inodo è il file.
Esempio:
creiamo un file di testo vuoto di nome alfa.txt:
$ touch alfa.txt
visualizziamone alcune proprietà:
$ ls -il alfa.txt
2760711 -rw-r--r-- 1 stefano stefano 0 2010-03-23 18:09 alfa.txt
il numero 2760711 identifica l'inodo del file appena creato, il terzo
campo invece, il cui valore è 1, rappresenta il numero di collegamenti che
puntano a quell'inodo, al momento esiste un solo collegamento, alfa.txt
A questo punto creiamo un nuovo collegamento all'inodo:
$ ln alfa.txt beta.txt
visualizziamo le proprietà di entrambi i collegamenti:
$ ls -il alfa.txt beta.txt
2760711 -rw-r--r-- 2 stefano stefano 0 2010-03-23 18:09 alfa.txt
2760711 -rw-r--r-- 2 stefano stefano 0 2010-03-23 18:09 beta.txt
la prima cosa da notare è che il numero di inodo è per entrambi i
collegamenti identico, questo perché fanno riferimento allo stesso
inodo, 2760711, inoltre il contatore dei collegamenti ha ora
valore pari a 2.
Rimuoviamo quindi il collegamento originale, alfa.txt:
$ rm alfa.txt
visualizziamo le proprietà di beta.txt:
$ ls -il beta.txt
2760711 -rw-r--r-- 1 stefano stefano 0 2010-03-23 18:09 beta.txt
l'inodo 2760711 continua ad esistere, ed il numero dei collegamenti
ad esso è sceso a 1.
Nota: il numero di collegamenti all'inodo di una directory è costituito dalla directory stessa (.), dalla directory immediatamente superiore (..) e dal numero di sotto-directory della directory medesima.
1) Innesto e disinnesto dei dispositivi hardware:
mount <-t filesystem> <dispositivo>
<punto di mount>
umount <dispositivo | punto di mount>
1)
Comando per inizializzare a basso livello un dischetto:
fdformat <dispositivo>
2)
Comando per creare un file system in un dischetto:
mkfs.<filesystem> <dispositivo>
Filesystem disponibili:
Il seguente elenco riporta il percorso assoluto di alcuni file che ritengo utili nell'utilizzo quotidiano di GNU/Linux.
1) File interessanti: