5 sätt att tömma eller ta bort innehållet i en stor fil i Linux

, Author

Ibland när du hanterar filer i Linux-terminalen kan du vilja rensa innehållet i en fil utan att nödvändigtvis öppna den med hjälp av någon Linux-kommandoradsredigerare. Hur kan man göra detta? I den här artikeln kommer vi att gå igenom flera olika sätt att tömma filinnehållet med hjälp av några användbara kommandon.

Varning: Innan vi går vidare till att titta på de olika sätten ska du notera att eftersom allt i Linux är en fil måste du alltid se till att den eller de filer du tömmer inte är viktiga användar- eller systemfiler. Att tömma innehållet i en viktig system- eller konfigurationsfil kan leda till ett ödesdigert program-/systemfel eller fel.

Med det sagt, nedan följer sätt att tömma filinnehåll från kommandoraden.

Viktigt: För den här artikeln har vi använt filen access.log i följande exempel.

Tömma filinnehåll genom att omdirigera till noll

Ett enkelt sätt att tömma eller tömma ett filinnehåll med hjälp av shell redirect null (icke-existerande objekt) till filen enligt nedan:

# > access.log
Tömma stor fil med hjälp av Null-omdirigering i Linux
Tömma stor fil med hjälp av Null-omdirigering i Linux

Tömma fil med hjälp av ’true’-kommandot omdirigering

Här kommer vi att använda symbolen : som är ett inbyggt kommando i skalet och som i huvudsak är likvärdigt med true-kommandot, och det kan användas som en no-op (ingen operation).

En annan metod är att omdirigera utdata från : eller true inbyggt kommando till filen på följande sätt:

# : > access.logOR # true > access.log
Tomma stora filer med hjälp av Linuxkommandon
Tomma stora filer med hjälp av Linuxkommandon

Tomma filer med hjälp av cat/cp/dd-verktygen med /dev/null

I Linux används null-enheten i princip för att kassera oönskade utdata från en process, eller som en lämplig tom fil för inmatningsflöden. Detta görs normalt med hjälp av omdirigeringsmekanismen.

Och enhetsfilen /dev/null är därför en speciell fil som skriver bort (tar bort) all inmatning som skickas till den, eller så är dess utdata densamma som för en tom fil.

Det går dessutom att tömma innehållet i en fil genom att omdirigera utdata från /dev/null till den (filen) som indata med hjälp av kommandot cat:

# cat /dev/null > access.log
Tömd fil med hjälp av kommandot cat
Tömd fil med hjälp av kommandot cat

Nästan kommer vi att använda kommandot cp för att tömma innehållet i en fil enligt följande.

# cp /dev/null access.log
Tomma filinnehåll med hjälp av cp-kommandot
Tomma filinnehåll med hjälp av cp-kommandot

I följande kommando betyder if ingångsfilen och of hänvisar till utdatafilen.

# dd if=/dev/null of=access.log
Tomt filinnehåll med hjälp av dd-kommandot
Tomt filinnehåll med hjälp av dd-kommandot

Tomt filinnehåll med hjälp av echo-kommandot

Här kan du använda ett eko-kommando med en tom sträng och omdirigera den till filen enligt följande:

# echo "" > access.logOR# echo > access.log
Tomma filer med hjälp av kommandot echo
Tomma filer med hjälp av kommandot echo

Anmärkning: Du bör komma ihåg att en tom sträng inte är detsamma som null. En sträng är redan ett objekt, även om den kan vara tom, medan null helt enkelt betyder att ett objekt inte existerar.

Av denna anledning, när du omdirigerar utgången från kommandot echo ovan till filen och tittar på filens innehåll med hjälp av kommandot cat, skrivs en tom rad (tom sträng) ut.

För att skicka en noll-utgång till filen använder du flaggan -n som talar om för echo att inte skriva ut den avslutande nya raden som leder till den tomma raden som producerades i det föregående kommandot.

# echo -n "" > access.log
Tömd fil med hjälp av Null Redirect
Tömd fil med hjälp av Null Redirect

Tömd fil med hjälp av truncate-kommandot

Truncate-kommandot hjälper till att krympa eller utöka storleken på en fil till en definierad storlek.

Du kan använda det med alternativet -s som anger filstorleken. För att tömma innehållet i en fil använder du storleken 0 (noll) som i nästa kommando:

# truncate -s 0 access.log
Truncate File Content in Linux
Truncate File Content in Linux

Det var allt för tillfället, i den här artikeln har vi täckt flera metoder för att rensa eller tömma filinnehållet med hjälp av enkla kommandoradsverktyg och skalets omdirigeringsmekanism.

Dessa är förmodligen inte de enda tillgängliga praktiska sätten att göra detta, så du kan också berätta för oss om andra metoder som inte nämns i den här guiden via feedback-sektionen nedan.

Lämna ett svar

Din e-postadress kommer inte publiceras.