Fallocate

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

fallocate - Allokera utrymme för en fil

Kommandot `fallocate` används för att allokera utrymme eller frigöra tidigare allokerat utrymme för en fil i Linux.

Syntax

fallocate [ALTERNATIV]... FIL

Beskrivning

Kommandot `fallocate` används för att allokera utrymme eller frigöra tidigare allokerat utrymme för en fil. Det är främst användbart på filsystem som stödjer detta direkt, som ext4, xfs och btrfs. `fallocate` är inte tillgängligt på macOS som standard.

Alternativ

Kommandot `fallocate` stöder flera alternativ som kan användas för att justera filens allokering:

  • -c, --collapse-range - Kollapsa ett område inom filen, ta bort det och flytta data efter detta område.
  • -d, --dig-holes - Identifiera och markera ledigt utrymme (hål) inom filen, utan att ändra filens storlek.
  • -l, --length=LÄNGD - Anger den totala längden av området som ska allokeras.
  • -n, --keep-size - Behåll filens storlek, även om den är mindre än området som ska allokeras.
  • -p, --punch-hole - Slå ut hål i filen, och markera detta område som ledigt (kräver --keep-size).
  • -o, --offset=OFFSET - Anger början av området som ska allokeras.
  • -x, --posix - Använd posix_fallocate istället för fallocate.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `fallocate`-kommandot:

  • För att allokera 1 GB utrymme för en fil:

fallocate -l 1G fil.txt

  • För att skapa ett hål på 512 MB i en fil, vilket markerar detta område som ledigt:

fallocate -p -o 0 -l 512M fil.txt

  • För att kollapsa ett område på 256 MB från offset 1 GB inom filen:

fallocate -c -o 1G -l 256M fil.txt

  • För att identifiera och markera hål inom en fil utan att ändra dess storlek:

fallocate -d fil.txt

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `fallocate`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `fallocate` är specifikt för Linux och finns inte som standard på macOS. På macOS kan du istället använda andra verktyg som `truncate` eller `dd` för liknande funktioner.
  • Filsystemstöd: `fallocate` fungerar endast på filsystem som stödjer fallocate-systemanropet, som ext4, xfs och btrfs. Detta begränsar dess användning på macOS där dessa filsystem inte är standard.
  • Alternativa kommandon: På macOS kan du använda `truncate` eller `dd` för att allokera eller frigöra utrymme i filer, men dessa kommandon har inte samma funktionalitet som `fallocate`.

Exempel på att allokera utrymme med `truncate` på macOS:

  • För att skapa en fil med en storlek på 1 GB:

truncate -s 1G fil.txt

Det är alltid bra att konsultera `man`-sidan för `fallocate` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `fallocate`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att filsystemet du arbetar på stöder fallocate-systemanropet.
  • Att filen du försöker allokera utrymme för är skrivbar och att du har tillräckliga rättigheter.

Se även

  • truncate - Ändra storleken på filer.
  • dd - Konvertera och kopiera en fil.
  • ls - Lista katalogens innehåll.
  • df - Visa ledigt diskutrymme.

Källor