Písmena v mkfs
znamená "vytvořit souborový systém". Příkaz se běžně používá pro správu úložných zařízení v Linuxu. Mkfs si můžete představit jako nástroj příkazového řádku pro formátování disku do konkrétního souborového systému.
mkfs -t [fs type] [target device]
Můžete také použít příkaz mkfs následujícím způsobem.
mkfs.[fs type] [target device]
V tomto tutoriálu budu obecně diskutovat o tom, co je souborový systém. Uvedu také příklady efektivního použití příkazu mkfs.
Protože se příkaz mkfs zabývá disky a diskovými oddíly, vyžaduje, abyste byli uživatel root nebo sudo s přístupem ke spouštění příkazů správce.
mkfs je mocný nástroj. Je důležité pochopit potenciální důsledky změny souborového systému. Výběrem nesprávného uzlu zařízení vymažete všechna data na tomto zařízení. Tento příkaz používejte na vlastní nebezpečí. Byli jste varováni
Co je to souborový systém?
Systém souborů (fs) označuje strukturu a logiku, která spravuje data na zařízení. Systém souborů řídí, jak se data ukládají a načítají.
Existuje mnoho typů souborových systémů a každý má své výhody a nevýhody. Zde jsou nejběžnější typy souborových systémů:
- TUK*
- NTFS
- ext*
- APFS
- HFS*
Pravděpodobně jste se již setkali s jedním nebo více z těchto typů souborových systémů. Můžete dokonce přiřadit typy k jejich příslušným operačním systémům.
Obecně řečeno, FAT/NTFS jsou určeny pro Windows, Ext se používá se systémy Linux a APFS/HFS jsou systémy souborů macOS. Každý z nich řeší logiku struktury souborů odlišně, což může vést k problémům.
To je důvod, proč je důležité na to myslet před deklarováním typu souborového systému nebo „formátováním“ vašeho zařízení. Každý případ použití je jiný a je na vás, abyste se rozhodli, který souborový systém nejlépe vyhovuje vašim potřebám.
příklady příkazů mkfs
Dovolte mi, abych vám ukázal některé z nejběžnějších použití příkazu mkfs.
Prosím, nezkoušejte žádný z těchto příkazů na svém skutečném systému naslepo. Zformátuje cílové zařízení/diskový oddíl a vymaže všechna data.
mkfs bez jakékoli možnosti vytvoří souborový systém ext2
Pokud neurčíte typ souborového systému pro cílové zařízení, použije výchozí souborový systém ext2.
sudo mkfs /dev/sdb1
Určení typu souboru pomocí mkfs
Použití ext2 není příliš pohodlné ani vhodné. Většina linuxových systémů v dnešní době doporučuje používat ext4. Systém souborů můžete určit následujícím způsobem:
sudo mkfs -t ext4 /dev/sdb1
Můžete to také použít takto:
sudo mkfs.ext4 /dev/sdb1
Kontrola chybných bloků na zařízení
Můžete také zkontrolovat, zda na zařízení nejsou špatné bloky, ale mějte na paměti, že kontrola často trvá dlouho.
sudo mkfs -c /dev/sdb1
Bonusový tip:Zkontrolujte typ souborového systému zařízení
Možná budete chtít zkontrolovat typ souborového systému zařízení, které jste právě naformátovali pomocí příkazu mkfs. K tomuto účelu můžete použít příkaz file.
sudo file -sL /device
Zde je příklad, který ukazuje, jaký druh výstupu by mohl zobrazit:
[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)
Případ použití v reálném životě:Použití příkazu mkfs k vytvoření souboru Systém na zařízení USB
Nyní, když máte nějaké základní informace, můžete začít používat mkfs.
Nejpraktičtější ukázka, která mě napadá, je formátování USB flash disku. Tyto stejné principy budou platit pro jakýkoli typ úložiště, který si vyberete.
Najděte své zařízení
Nejprve budete muset najít své zařízení. Jedna metoda, kterou můžete použít, je sudo fdisk -l
. Zobrazí se seznam všech uzlů disku, které jsou aktuálně připojeny.
[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
Váš výstup se bude samozřejmě lišit. Buďte velmi opatrní při určování požadovaného disku . Pokud si nejste jisti, vyjměte disk a spusťte fdisk -l
příkaz znovu. Pokud máte správné zařízení, nebude při odpojení uvedeno.
Ověřte oddíl
Zařízení, které používám, je Patriot Memory USB a nachází se na adrese /dev/sdb
. Kromě identifikace správného disku se budete muset ujistit, že měníte fs požadovaného oddílu.
Použil jsem nástroje fdisk k odstranění existujících dat a zapsání nové tabulky oddílů. Zatímco jsem to dělal, vytvořil jsem nový oddíl pro zápis. Tento oddíl bude naším cílem:/dev/sdb1
.
Odpojit
Než se pokusíte změnit systém souborů, budete jej muset odpojit pomocí umount
příkaz.
[email protected]:~$ sudo umount /dev/sdb1
Vytvořte systém souborů
Nyní, když jste ověřili svůj cíl a odpojili disk, můžete přistoupit k vytvoření systému souborů.
Přidal jsem -v
podrobná možnost zde pro zobrazení více informací při spuštění.
[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
Tento proces může nějakou dobu trvat, ale měl by skončit za méně než 20 minut, pokud cíl není větší než 2 TB.
Měl jsem několik problémů s programem visícím na poslední položce. Bohužel zde není žádný indikátor průběhu a nebyly vyvolány žádné chyby.
Ověřte nově vytvořený souborový systém
Nejprve zkontrolujte souborový systém zařízení, které jste právě použili. Je to ta, kterou jste chtěli?
sudo file -sL /dev/sdb1
Je důležité se ujistit, že zařízení je rozpoznáno na systémech, se kterými jej budete používat. Vytvořil jsem složku s názvem test a v ní soubor s názvem test.txt.
Chcete-li ušetřit čas, můžete sem zkopírovat a vložit mé příkazy.
mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt
Pokud vše fungovalo, měli byste být schopni připojit disk k požadovaným systémům a přistupovat k souborům. Pokud nemáte přístup k souborům ve vašem systému, pravděpodobně došlo k problému s kompatibilitou.
Závěr
Doufám, že najdete tohoto rychlého průvodce mkfs
užitečný příkaz. Pokud se vám tento návod líbí, sdílejte jej na sociálních sítích.
Pokud máte nějaké připomínky nebo dotazy, zanechte je níže. Pokud máte nějaké návrhy na témata, která byste rádi viděli, klidně je také zanechte.