1. Il filesystem gerarchico:
* Directory root (`/`): La directory di alto livello contenente tutte le altre directory e file. È il punto di partenza dell'intero filesystem.
* Directory: Cartelle che raggruppano i file correlati e altre directory. Organizzano logicamente il filesystem.
* File: Contenitori per dati. Linux tratta tutto come un file, inclusi dispositivi (stampanti, dischi rigidi), interfacce di rete e processi.
* Paths: La posizione di un file o di una directory all'interno della gerarchia del filesystem. I percorsi assoluti iniziano con `/` (ad esempio, `/home/utente/documenti/report.txt`), mentre i percorsi relativi sono relativi alla directory di lavoro corrente (ad esempio,` report.txt` o `../ Documenti/report.txt`).
2. Inodi:
* Ogni file e directory ha un numero di inodo univoco. L'inode memorizza i metadati sul file, come ad esempio:
* Tipo di file (file normale, directory, link simbolico, ecc.)
* Autorizzazioni (leggere, scrivere, eseguire per il proprietario, il gruppo e altri)
* Proprietà (ID utente e di gruppo)
* Timestamps (ultimo accesso, modifica e tempi di cambio)
* Misurare
* Puntatori ai blocchi di dati sul disco.
* L'INode non archivia i dati del file effettivi; Agisce come una voce di directory che punta a dove vengono archiviati i dati.
3. Tipi di file system:
Linux supporta molti diversi tipi di filesystem, ognuno con le proprie caratteristiche e punti di forza:
* ext4: Il filesystem più comune per Linux, offrendo funzionalità come il journaling (per integrità dei dati), estensioni (per memoria efficiente) e supporto di file di grandi dimensioni.
* btrfs: Un moderno filesystem con funzionalità avanzate come istantanee, controllo dell'integrità dei dati e supporto RAID.
* xfs: Un filesystem di journaling noto per la sua scalabilità e le prestazioni su filesystem di grandi dimensioni.
* FAT32, NTFS: I filesystem utilizzati principalmente sui sistemi Windows, ma spesso accessibili in Linux con driver appropriati.
4. Permessi di file:
Linux utilizza un sistema di autorizzazioni per controllare l'accesso a file e directory. Ogni file ha tre set di autorizzazioni:
* Proprietario: L'utente che ha creato il file.
* Gruppo: Il gruppo associato al file.
* Altri: Tutti gli altri utenti.
Ognuno di questi set ha le autorizzazioni di lettura (r), scrittura (w) ed esegui (x). Queste autorizzazioni sono in genere rappresentate usando notazione ottale (ad esempio, `755`).
5. Comandi e utilità chiave:
Linux fornisce una ricca set di utility di comando per la gestione dei file:
* `LS`:elenca file e directory.
* `mkdir`:crea una nuova directory.
* `rmdir`:rimuove una directory vuota.
* `rm`:rimuove file e directory.
* `cp`:copie file e directory.
* `mv`:sposta o rinomina file e directory.
* `chmod`:modifica le autorizzazioni dei file.
* `chown`:modifica la proprietà del file.
* `Find`:cerca file.
* `Grep`:cerca il testo all'interno dei file.
* `Du`:mostra l'uso del disco.
* `df`:mostra l'utilizzo dello spazio su disco.
6. Virtual Filesystems (VFS):
Il filesystem virtuale funge da livello di astrazione tra il kernel e vari filesystem. Ciò consente al kernel di interagire con diversi tipi di filesystem utilizzando un'interfaccia comune, facendo apparire il filesystem coerente per gli utenti indipendentemente dalla tecnologia sottostante.
In sintesi, la gestione dei file di Linux è un sistema robusto e flessibile che sfrutta una struttura gerarchica, inodi per metadati, diversi tipi di filesystem, controlli di autorizzazione granulare e una potente serie di strumenti di linea di comando. Questa combinazione consente un'organizzazione efficiente, un controllo di accesso e una gestione dei dati.
sistemi © www.354353.com