CodeGym /Corsi /Docker SELF /Gestione dei file system: comandi lsblk, blkid

Gestione dei file system: comandi lsblk, blkid

Docker SELF
Livello 6 , Lezione 0
Disponibile

Gestione dei file system: comandi lsblk, blkid

1. L'importanza di comprendere i file system

Benvenut* a una nuova lezione del corso, dove esploreremo il mondo affascinante dei file system di Linux. Oggi vedremo come individuare i dispositivi, capire la loro struttura e scoprire quali tipi di file system sono installati su di essi. Aggiungeremo un po' di magia della command-line con gli strumenti lsblk e blkid. E daremo un’occhiata al perché scavare nei dati con strumenti programmabili è sempre fico!

Che cos'è un file system?

Se il sistema operativo è il "cuore" del tuo computer, il file system è il suo "sistema nervoso". È proprio questo che organizza e gestisce l'accesso ai dati sui dispositivi di archiviazione (dischi rigidi, SSD, chiavette USB). Il file system definisce come i dati vengono memorizzati, letti e scritti.

Ecco alcuni esempi di file system che potresti incontrare:

  • ext4 — il file system standard della maggior parte delle distribuzioni Linux.
  • NTFS — file system utilizzato da Windows.
  • FAT32 — popolare per dispositivi esterni e chiavette USB.
  • XFS, btrfs — alternative più avanzate per Linux con supporto per funzionalità come snapshot.

Quando colleghi un disco o una chiavetta su Linux, il file system deve essere "montato" affinché il sistema possa iniziare a lavorarci. Per gestire questo (e molto altro), utilizzeremo i comandi.


2. Comando lsblk: panoramica dei dispositivi connessi

Fondamenti del comando lsblk

Linux offre tanti strumenti per lavorare con dispositivi e partizioni. Uno dei più utili è il comando lsblk. Il suo nome significa "list block devices" — mostrare l'elenco dei dispositivi a blocchi.

La sintassi è semplice:

lsblk

Questo comando mostra una tabella di tutti i dispositivi a blocchi nel sistema, inclusi hard disk, SSD, unità USB e le loro partizioni.

Esempio di output:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0  200G  0 part /home
└─sda3   8:3    0  250G  0 part 
sdb      8:16   1   16G  0 disk 
└─sdb1   8:17   1   16G  0 part /media/usb
  • NAME: Nome del dispositivo. Per esempio, sda, sdb. Le lettere (a, b...) corrispondono all'ordine in cui i dispositivi vengono rilevati dal sistema.
  • SIZE: Dimensione del dispositivo.
  • TYPE: Tipo di dispositivo. Per esempio, disk — è un disco fisico, mentre part — è una sua partizione.
  • MOUNTPOINT: Percorso in cui il dispositivo è montato nel file system.

Parametri utili

lsblk è un comando piuttosto flessibile. Usando parametri aggiuntivi, puoi ottenere ancora più informazioni:

  • lsblk -f — mostra il tipo di file system e l'UUID (identificatore univoco) di ogni dispositivo.
  • lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT — output solo delle colonne di interesse (per esempio, nome, dimensione, file system, punto di montaggio).

Esempio:

lsblk -f

Risultato:

NAME   FSTYPE LABEL    UUID                                 MOUNTPOINT
sda                                                         
├─sda1 ext4   rootfs   1111-2222-3333-4444                 /
├─sda2 ext4   home     5555-6666-7777-8888                 /home
└─sda3 swap            9999-AAAA-BBBB-CCCC                 [SWAP]
sdb    vfat   USB_DISK AAAA-BBBB                           /media/usb

3. Comando blkid: magia degli identificatori unici

A volte hai bisogno di ottenere informazioni dettagliate su un dispositivo o sul suo file system. Qui entra in gioco il comando blkid. Il suo scopo è identificare i dispositivi in base al loro file system e UUID.

Fondamenti del comando blkid

Eseguilo senza parametri:

blkid

Esempio di output:

/dev/sda1: UUID="1111-2222-3333-4444" TYPE="ext4"
/dev/sda2: UUID="5555-6666-7777-8888" TYPE="ext4"
/dev/sda3: UUID="9999-AAAA-BBBB-CCCC" TYPE="swap"
/dev/sdb1: UUID="AAAA-BBBB" TYPE="vfat" LABEL="USB_DISK"
  • UUID: Identificatore univoco della partizione (non cambia neanche se il dispositivo viene rinominato, ad esempio da sda a sdb).
  • TYPE: Tipo di file system.
  • LABEL: Etichetta della partizione.

Utilità pratica degli UUID

Gli UUID sono particolarmente importanti in Linux perché i dispositivi possono cambiare dinamicamente i loro nomi durante l'avvio. Ad esempio, ciò che oggi si chiama /dev/sda domani potrebbe diventare /dev/sdb. Grazie agli UUID, puoi utilizzare un'identificazione stabile per montare i dispositivi. Ne parleremo più approfonditamente nella prossima lezione, dove tratteremo il file /etc/fstab.


4. Lavorare con dispositivi non montati

A volte colleghi un disco o una chiavetta USB, ma non compare come montato. Questo potrebbe succedere perché non c'è un file system attivo. Usa lsblk e blkid per capire velocemente cosa sta succedendo.

Supponiamo che tu abbia collegato un'unità USB, ma nell'output di lsblk vedi:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   16G  0 disk 

Questo significa che il dispositivo sdb non ha una partizione attiva. Controlla l'output di blkid per verificare se ha un file system:

blkid /dev/sdb

Se non ci sono risposte, questo conferma che il dispositivo non è ancora formattato. Ne parleremo nella prossima lezione.


5. Confronto tra lsblk e blkid

Entrambi i comandi sono utili, ma il loro utilizzo è diverso:

  • Usa lsblk per avere una panoramica dell'intero sistema: dove si trova cosa, quali partizioni sono montate.
  • Usa blkid per chiarire i dettagli sul file system (tipo, etichetta, UUID).

Tabella di confronto

Comando Scopo principale Output
lsblk Mostra i dispositivi, le loro partizioni e i punti di montaggio NAME, SIZE, TYPE, MOUNTPOINT, FSTYPE ecc.
blkid Richiede informazioni sul file system (UUID, LABEL, TYPE) UUID, TYPE, LABEL

6. Esempio: Dalla ricerca del dispositivo alla comprensione della sua struttura

Compito

  1. Trovare il dispositivo USB collegato.
  2. Identificare il suo file system.
  3. Preparare il dispositivo per il montaggio.

Passaggi

  1. Collega il dispositivo ed esegui:

    lsblk
    
    Trova il tuo dispositivo. Ad esempio, sdb.
  2. Controlla se il file system è presente:

    blkid /dev/sdb
    

    Se il file system è assente, vedrai un output vuoto. Questo significa che il dispositivo deve essere formattato.

  3. Se il file system è presente, vedrai il suo tipo e UUID. Ora puoi utilizzarlo per ulteriori operazioni (ad esempio, il montaggio).

Ora hai le conoscenze necessarie per lavorare con i file system su Linux. Nella prossima lezione ci occuperemo di formattazione dei dispositivi, creando file system e preparandoli all'uso! Preparati per un processo emozionante di trasformazione di un disco "grezzo" in uno strumento pronto all'uso.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION