GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo del comando mkfs in Linux per formattare il filesystem su un disco o una partizione

Le lettere in mkfs sta per "crea file system". Il comando è comunemente usato per la gestione dei dispositivi di archiviazione in Linux. Puoi pensare a mkfs come a uno strumento da riga di comando per formattare un disco in un filesystem specifico.

mkfs -t [fs type] [target device]

Puoi anche usare il comando mkfs nel modo seguente.

mkfs.[fs type] [target device]

In questo tutorial, discuterò in generale cos'è un file system. Fornirò anche esempi per utilizzare il comando mkfs in modo efficace.

Poiché il comando mkfs si occupa di dischi e partizioni, richiede che tu sia un utente root o sudo con accesso per eseguire i comandi di amministrazione.

mkfs è uno strumento potente. È importante comprendere le potenziali conseguenze dell'alterazione del filesystem. La selezione del nodo del dispositivo sbagliato cancellerà tutti i dati su quel dispositivo. Utilizzare questo comando a proprio rischio. Sei stato avvisato

Cos'è di nuovo un file system?

Un file system (fs) si riferisce alla struttura e alla logica che gestiscono i dati su un dispositivo. Il file system controlla il modo in cui i dati vengono archiviati e recuperati.

Esistono molti tipi di file system e ognuno ha i suoi vantaggi e svantaggi. Ecco i tipi più comuni di filesystem:

  • GRASSO*
  • NTFS
  • est*
  • APFS
  • HFS*

Probabilmente ti sei già imbattuto in uno o più di questi tipi di filesystem in precedenza. Puoi anche associare i tipi ai rispettivi sistemi operativi.

In generale, FAT/NTFS sono progettati per Windows, Ext viene utilizzato con sistemi Linux e APFS/HFS sono file system macOS. Ognuno di questi affronta la logica della struttura dei file in modo diverso, il che può causare problemi.

Questo è il motivo per cui è fondamentale pensarci prima di dichiarare un tipo di filesystem o di "formattare" il tuo dispositivo. Ogni caso d'uso è diverso e sta a te decidere quale filesystem funziona meglio per le tue esigenze.

esempi di comandi mkfs

Lascia che ti mostri alcuni degli usi più comuni del comando mkfs.

Per favore, non provare nessuno di questi comandi sul tuo sistema attuale alla cieca. Formatterà la partizione del dispositivo/disco di destinazione cancellando tutti i dati.

mkfs senza alcuna opzione crea un filesystem ext2

Se non specifichi il tipo di filesystem per il dispositivo di destinazione, utilizzerà il filesystem ext2 predefinito.

sudo mkfs /dev/sdb1

Specifica il tipo di file con mkfs

L'uso di ext2 non è molto conveniente o consigliabile. La maggior parte dei sistemi Linux oggigiorno consiglia di utilizzare ext4. È possibile specificare il file system nel modo seguente:

sudo mkfs -t ext4 /dev/sdb1

Puoi anche usarlo in questo modo:

sudo mkfs.ext4 /dev/sdb1

Verifica la presenza di blocchi danneggiati su un dispositivo

Puoi anche verificare la presenza di blocchi danneggiati su un dispositivo, ma tieni presente che il controllo spesso richiede molto tempo.

sudo mkfs -c /dev/sdb1

Suggerimento bonus:controlla il tipo di filesystem di un dispositivo

Potresti voler controllare il tipo di filesystem di un dispositivo che hai appena formattato usando il comando mkfs. È possibile utilizzare il comando file per questo scopo.

sudo file -sL /device

Ecco un esempio che mostra che tipo di output potrebbe mostrare:

[email protected]:~$ sudo file -s /dev/nvme0n1p2
/dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=34daa4b7-a2c4-4983-b5cc-df9baa6a6543 (extents) (64bit) (large files) (huge files)

Caso d'uso reale:utilizzo del comando mkfs per creare un file Sistema su un dispositivo USB

Ora che hai alcune informazioni di base, puoi iniziare a usare mkfs.

La dimostrazione più pratica che mi viene in mente è la formattazione di un'unità di archiviazione flash USB. Questi stessi principi si applicheranno a qualsiasi tipo di archiviazione tu scelga.

Trova il tuo dispositivo

Per prima cosa dovrai trovare il tuo dispositivo. Un metodo che puoi usare è sudo fdisk -l . Questo elencherà tutti i nodi del disco attualmente montati.

[email protected]:~$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c62c49c

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        4096  1023998  1019903  498M 83 Linux
/dev/sda2        1024000 44036094 43012095 20.5G 83 Linux
/dev/sda3       44036096 52424702  8388607    4G 82 Linux swap / Solaris

Disk /dev/sdb: 28.93 GiB, 31040995328 bytes, 60626944 sectors
Disk model: Patriot Memory  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 91A34D6F-E67B-E54D-B19C-5CC828DAAB9A

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 60626910 60624863 28.9G Linux filesystem

La tua uscita ovviamente varierà. Si prega di fare molta attenzione quando si identifica l'unità desiderata . Se non sei sicuro, rimuovi il disco ed esegui fdisk -l comando di nuovo. Se hai il dispositivo corretto, non verrà elencato mentre sei disconnesso.

Verifica la partizione

Il dispositivo che sto usando è una Patriot Memory USB e si trova in /dev/sdb . Oltre a identificare il disco corretto, dovrai assicurarti di modificare l'FS della partizione desiderata.

Ho usato gli strumenti fdisk per eliminare i dati esistenti e scrivere una nuova tabella delle partizioni. Mentre lo facevo, ho creato una nuova partizione su cui scrivere. Quella partizione sarà il nostro obiettivo:/dev/sdb1 .

Smonta

Prima di provare a modificare il file system, dovrai smontarlo utilizzando umount comando.

[email protected]:~$ sudo umount /dev/sdb1

Crea il file system

Ora che hai verificato il tuo target e smontato l'unità, puoi procedere alla creazione del file system.

Ho aggiunto il -v opzione dettagliata qui per visualizzare più informazioni durante l'esecuzione.

[email protected]:~$ sudo mkfs.ext4 /dev/sdb1 -v
mke2fs 1.45.5 (07-Jan-2020)
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1896832 inodes, 7578107 blocks
378905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
232 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Filesystem UUID: 73882769-7599-4c79-a00b-ef317ccd921d
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

Questo processo può richiedere del tempo, ma dovrebbe terminare in meno di 20 minuti, a meno che il target non sia maggiore di 2 TB.

Ho avuto diversi problemi con il programma sospeso sull'ultimo elemento. Sfortunatamente, non c'è un indicatore di avanzamento e non ho avuto errori.

Verifica il filesystem appena creato

Innanzitutto, controlla il filesystem del dispositivo che hai appena utilizzato. È quello che volevi?

sudo file -sL /dev/sdb1

È importante assicurarsi che il dispositivo sia riconosciuto sui sistemi con cui lo utilizzerai. Ho creato una cartella chiamata test e un file al suo interno chiamato test.txt.

Per risparmiare tempo, puoi copiare e incollare i miei comandi qui.

mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt

Se tutto ha funzionato, dovresti essere in grado di montare l'unità sui sistemi desiderati e accedere ai file. Se non riesci ad accedere ai file sul tuo sistema, probabilmente c'è un problema di compatibilità.

Conclusione

Spero che tu possa trovare questa guida rapida a mkfs comando utile. Se ti piace questo tutorial, condividilo sui social media.

Se hai commenti o domande, lasciali qui sotto. Se hai suggerimenti per argomenti che vorresti vedere trattati, sentiti libero di lasciare anche quelli.


Linux
  1. Risolvere i problemi utilizzando il filesystem proc su Linux

  2. Crea file utilizzando la riga di comando in Linux

  3. 4 strumenti per scaricare qualsiasi file utilizzando la riga di comando in Linux

  4. Esempi di comandi mkfs.ext4 in Linux

  5. Rimuovi un file su Linux usando il numero di inode

Come utilizzare il comando touch in Linux

Usando il comando gratuito di Linux

Come cancellare in modo sicuro un disco e un file utilizzando il comando shred di Linux

Tutorial sull'uso del comando Timeout su Linux

Come formattare le partizioni del disco su Linux

Esempi di comandi mkfs in Linux