File System
Il file system un area di memoria organizzata in file e directory, sia le directory che i file sono rappresentati da un struttura dati chiamata I-Node:
- Le directory sono i node contente una lista di file/directory
- Le directory formano una struttura ad albero gerarchica
Struttura inode
Ogni file nel filesystem è rappresentato da una struttura dati inode ed è univocamente identificato da un inode number. La cancellazione di un file libera l’inode number che verra’ riutilizzato quando necessario per un nuovo file.
Principali attributi struttura dati inode:
- Type: Tipo di file (regular, block, fifo …)
- User ID: Id dell’utente proprietario del file
- Group ID: Id del gruppo a cui e associato il file
- Mode: Permessi (read, write, exec) di accesso per il proprietario, il gruppo e tutti gli altri
- Size: Dimensione in byte del file
- Timestamps:
ctime(inode changing time),mtime(content modication time),atime(content access time) - Link count: Numero di hard links
- Data pointers: Puntatore alla lista dei blocchi che compongono il file; se si tratta di una directory, il contenuto su disco e costituito di una tabella con 2 colonne: nome del file/directory e suo inode number.
Visualizzare informazioni
Comando "ls"
Per visualizzare le informazioni di un inode possiamo utilizzare il comando
ls nomedir/nomefile, a cui possono essere concatenate queste flag opzionali:[-a] [-c] [-u] [-R] [-l] [-i] [-n] [-S] [-h] [-1]:
-i: mostra l’inode number-l: mostra diritti, num_of_dirs, user, group, date, size, time e la dimensione in blocchi dello spazzino occupato dalla directory,num_of_dirsrappresenta il numero di directory contenute della directory su cui abbiamo effettuatols(vengono contante anche . e .. ) (se ls chiamato su un file ritorna1)-n: mostra le stesse informazioni di-lma consente di visualizzare ID utente e ID gruppo invece del nome estesols -lc nomefileper mostarre ctimels -lu nomefileper mostarre atimels -l nomefile(senza niente) per mostrare mtimels -rmostra il contenuto della directory ma reversedls -Rmostra il contenuto della directory e di tutte le directory figlie (recursive)