Hur man använder kommandot mkfs på Linux

Du måste skapa ett filsystem innan du kan använda någon datalagringsenhet som är ansluten till en Linux-dator. Lär dig hur du använder mkfs och andra verktyg för att göra just det för alla möjliga filsystem. Vi visar dig hur.

mkfs gör filsystem

Kommandot mkfs gör filsystem. På andra operativsystem kallas att skapa ett filsystem formatering. Oavsett dess namn är det processen som förbereder en partition så att den kan lagra data. Partitionen behöver ett sätt att lagra filer, ja. Men det behöver också en mekanism för att lagra namnen och platserna för dessa filer, tillsammans med deras metadata, såsom tidsstämpeln för filskapandet, den ändrade tidsstämpeln för filen, storleken på filen, och så vidare. När mkfs har byggt det nödvändiga ramverket för hantering och lagring av filmetadata kan du börja lägga till filer till partitionen.

Syntaxen är väldigt enkel. Du berättar bara för mkfs vilken enhetspartition du vill att filsystemet ska skapas på och vilken typ av filsystem du vill ha. Det är på framsidan av saken. Bakom kulisserna är det lite annorlunda. Sedan en tid tillbaka på de flesta Linux-distributioner har mkfs varit en omslag för mke2fs. Kommandot mkfs anropar kommandot mke2fs och skickar det de alternativ du har angett. Stackars gamla mke2fs gör allt arbete men får inget av äran.

Syntaxen för mkfs har uppdaterats och det gamla formatet har fasats ut. Båda formerna kommer att fungera, men vi kommer att använda den moderna stilen i den här artikeln.

Valet av filsystem

Det moderna sättet att använda mkfs är att skriva ”mkfs.” och sedan namnet på filsystemet du vill skapa.

För att se filsystemen som mkfs kan skapa, skriv ”mkfs” och tryck sedan på Tab-tangenten två gånger. Det finns inget mellanslag efter ”mkfs”, tryck bara på Tab två gånger.

Listan över tillgängliga filsystem visas i terminalfönstret. Skärmdumpen är från Ubuntu 18.04 LTS. Andra distributioner kan erbjuda fler eller färre alternativ. Vi går igenom dessa och beskriver var och en kort. Efter ett snabbt ord om journalföring.

Journalföring är ett viktigt begrepp i filsystem. Filsystemen registrerar de pågående filskrivningarna till en journal. När varje fil skrivs till uppdateras journalen och de väntande skrivposterna uppdateras. Detta gör att filsystemet kan reparera trasiga, delvis skrivna filer som har inträffat på grund av en katastrofal händelse som ett strömavbrott. Vissa av de äldre filsystemen stöder inte journalföring. De som inte gör det, skriver till disken mindre ofta eftersom de inte behöver uppdatera journalen. De kan fungera snabbare, men de är mer benägna att skadas på grund av avbruten filskrivning.

Ext2: Det allra första filsystemet för Linux var MINIX-filsystemet. Det ersattes senare av det första filsystemet som någonsin skrivits specifikt för Linux, vilket var Ext. Ext2 var Exts efterträdare. Ext2 är inte ett journalfilsystem.
Ext3: Detta var efterträdare till Ext2och kan ses som Ext2 med journalföring, som skyddar ditt filsystem från datakorruption orsakad av krascher och plötsligt strömavbrott.
Ext4: Ext4 är standardfilsystemet för maj Linux-distributioner. Det är ett solidt, beprövat och pålitligt filsystem. Den har funktioner som minska filfragmenteringen och kan användas med större enheter, partitioner och filer än Ext3.
BFS: Det här är Starta filsystem, som är designad för ett jobb och bara ett: att hantera filerna i startpartitionen. Det är sällsynt att du skapar ett startfilsystem för hand. Din Linux-installationsprocess kommer att göra detta åt dig.
FETT: Den Filallokeringstabell filsystemet designades för disketter av ett konsortium av tungviktare inom datorindustrin. Det introducerades 1977. Den enda anledningen till att du skulle använda detta filsystem utan journal är för kompatibilitet med operativsystem som inte är Linux.
NTFS: Den Nytt teknologifilsystem är ett Microsoft journalsystem som introducerats med Windows NT. Det var efterträdaren till FAT. Den enda anledningen till att du skulle använda det här filsystemet är för kompatibilitet med icke-Linux operativsystem.
MINIX: Ursprungligen skapad av Andrew S. Tanenbaum som ett pedagogiskt hjälpmedel, MINIX är ett ”mini-Unix” operativsystem. Numera syftar det till att tillhandahålla ett självläkande och feltolerant operativsystem. MINIX-filsystemet utformades som en förenklad version av Unix-filsystemet. Om du korsutvecklar på en Linux-dator och riktar in dig på en MINIX-plattform kanske du kan använda det här filsystemet. Eller så kanske du behöver kompatibilitet med en MINIX-dator av andra skäl. Användningsfall för det här filsystemet på en Linux-dator faller inte på mig, men det är tillgängligt.
VFAT: Virtuell filallokeringstabell, introducerades med Windows 95 och tog bort gränsen på åtta tecken för filnamn. Filnamn på upp till 255 tecken blev möjliga. Den enda anledningen till att du skulle använda det här filsystemet är för kompatibilitet med icke-Linux operativsystem.
CRAMFS: Den Komprimerat ROM-filsystem är ett skrivskyddat filsystem designat för inbäddade system och specialiserade skrivskyddade användningar, till exempel i uppstartsprocesserna för Linux-datorer. Det är vanligt att ha ett litet, övergående filsystem laddat först så att bootstrap-processer kan startas för att förbereda för att det ”riktiga” startsystemet ska monteras.
MSDOS: Filsystemet för Microsoft Disk operativsystem. Släppt 1981, det är ett elementärt filsystem som är så grundläggande som det blir. Den första versionen hade inte ens kataloger. Det har en framträdande plats i datorhistoriken, men förutom kompatibilitet med äldre system finns det ingen anledning att använda det idag.

Ett säkert sätt att experimentera med filsystem

Att skapa ett filsystem på en partition är destruktivt för all data som redan kan finnas på den partitionen. Att använda en extra hårddisk – eller till och med en reservdator – är det perfekta sättet att experimentera med att skapa och använda olika filsystem. Men naturligtvis har många människor inte reservhårdvara liggandes och väntar på att bli experimenterad.

Däremot kan vi skapa en bildfil och skapa filsystem inom den. När vi väl har monterat det kan vi använda det som om det vore en vanlig partition. Vi kan utforska och experimentera med filsystem utan behov av extra hårdvara. Vi använder kommandot dd för att skapa vår bildfil.

Bildfilen skapas genom att ta källdata och lägga in den i en bild. Vi måste tala om för dd var de kan hämta källdata. Vi använder alternativet if (indatafil) för att tala om för dd att använda /dev/noll som indatakälla. Det här blir en ström av nollor.

Alternativet av (utdatafil) låter oss ange ett namn för bildfilen. Vi kallar det ”wdzwdz.img”.

Storleken på bildfilen bestäms av storleken och antalet block vi lägger till den. Vi använder alternativet bs (blockstorlek) för att begära en blockstorlek på 1 MB och räkningsalternativet för att begära 250 block. Detta ger oss ett filsystem på 250 MB. När du utfärdar det här kommandot, justera antalet block för att passa dina behov och den lediga kapacitet du har på din Linux-dator.

dd if=/dev/zero of=~/wdzwdz.img bs=1M count=250

Filen är skapad åt oss och dd rapporterar att det skapades 250 block åt oss, enligt önskemål.

Vi kan titta på vår bildfil med ls :

ls -hl

Det är 250 MB som förväntat, vilket är uppmuntrande.

Skapa filsystemet

Låt oss välja ett filsystem att använda. Vi går tillbaka i tiden och använder Ext2, som är den tidigaste versionen av Ext som denna implementering av mkfs kan skapa. Det här är ett filsystem som inte är journalförda, så lagra inte något värdefullt i det utan att ha säkerhetskopior någon annanstans. Vi använder mkfs.ext2-varianten av mkfs-kommandot, och vi säger åt den att använda vår bildfil som mål.

mkfs.ext2 ~/wdzwdz.img

Filsystemet skapas och vissa detaljer om filsystemet visas.

Som du kan se av den markerade texten dyker mke2fs upp.

Nu har vi en behållare för filsystemet – bildfilen – som står för en hårddisk i det här scenariot. Inuti den behållaren har vi skapat ett filsystem. Nu måste vi montera filsystemet så att vi kan använda det.

Det här är ett tillfälligt upplägg, så vi gör en monteringspunkt inom /mnt kallas ”nörd.” Vi tar bort det när vi är klara.

sudo mkdir /mnt/geek

Nu kan vi montera vår bildfil.

sudo mount ~/wdzwdz.img /mnt/geek

Vi måste ändra filägande av monteringspunkten så att vi har läs- och skrivåtkomst till den.

sudo chown dave:users /mnt/geek/

Och nu borde vi kunna använda vårt nya filsystem. Låt oss byta till filsystemet och kopiera några filer till det.

cd /mnt/geek
cp ~/Documents/Code/*.? .

Detta kommer att kopiera alla filer med en bokstavstillägg från ~/Documents/Code-katalogen till vårt nya filsystem. Låt oss kontrollera att de har kopierats.

ls

Filerna har kopierats, så vårt filsystem har skapats, monterats och använts. Eller så tror vi. Låt oss dubbelkolla. Från vår hemkatalog kommer vi att avmontera filsystemet. Observera att det bara finns ett ”n” i umount.

sudo umount /mnt/geek

Om vi ​​nu går tillbaka till /mnt/geek och söker efter filer, borde vi inte hitta några eftersom de finns i vår bildfil, och den har avmonterats.

cd /mnt/geek
ls

Ytterligare utforskning

Nu har vi löst processen, att prova ett annat filsystem borde vara enkelt. Vi kommer att använda MINIX-filsystemet den här gången. I vår hemkatalog kan vi skapa ett nytt filsystem i vår befintliga bildfil.

Var försiktig! Om det finns några viktiga filer i filsystemet inuti bildfilen, montera bildfilen och hämta dem innan du skapar ett nytt filsystem.

mkfs.minix ~/wdzwdz.image

Utan någon antydan om att fråga dig ”om du är säker” skapas det nya filsystemet över det gamla. Vi kan montera vår bildfil med exakt samma kommando som tidigare:

sudo mount ~/wdzwdz.img /mnt/geek

Låt oss byta till det nya filsystemet på /mnt/geek och se om vi kan skapa en fil.

touch geek.txt

ls -ahl geek.txt

Och så enkelt och så snabbt som det, vi har skapat ett nytt filsystem, monterat det och vi kan använda det.

Ta bort monteringspunkten

När du är klar kan vi ta bort ”nörden” monteringspunkten. För att göra det kommer vi att använda rmdir:

cd /mnt
sudo rmdir geek

Jonglerar Med Eld

Med Linux, som med det mesta, lär du dig genom att göra. Problemet med vissa kommandon är att de är potentiellt destruktiva. Dilemmat är hur man tränar på att använda dem utan att utsätta ditt system eller din data för risker?

Du har nu en enkel metod att skapa och prova filsystem med mkfs som lämnar din dator orörd.