5 måder at tømme eller slette et stort filindhold i Linux


Lejlighedsvis kan du, når du beskæftiger dig med filer i Linux-terminalen, rydde indholdet af en fil uden nødvendigvis at åbne den ved hjælp af nogen Linux-kommandolinjeditorer. Hvordan kan dette opnås? I denne artikel gennemgår vi flere forskellige måder at tømme filindhold ved hjælp af nogle nyttige kommandoer.

Forsigtig: Inden vi fortsætter med at se på de forskellige måder, skal du bemærke, at fordi alt i Linux er en fil, skal du altid sørge for, at de fil (er), du tømmer, ikke er vigtige bruger- eller systemfiler. Rydning af indholdet af et kritisk system eller en konfigurationsfil kan føre til en fatal applikation/systemfejl eller fejl.

Med det sagt er nedenstående metoder til at rydde filindhold fra kommandolinjen.

Vigtigt: I forbindelse med denne artikel har vi brugt fil access.log i de følgende eksempler.

1. Tøm filindhold ved at omdirigere til Null

En nemmeste måde at tømme eller tømme et filindhold ved hjælp af shell-omdirigering null (ikke-eksisterende objekt) til filen som nedenfor:

# > access.log

2. Tøm fil ved hjælp af 'sand' omdirigering af kommando

Her bruger vi et symbol : er en shell-indbygget kommando, der er essens svarende til true -kommandoen, og den kan bruges som en no-op (ingen operation) .

En anden metode er at omdirigere output fra : eller true indbygget kommando til filen sådan:

# : > access.log
OR 
# true > access.log

3. Tøm fil ved hjælp af kat/cp/dd-hjælpeprogrammer med/dev/null

I Linux bruges null -enheden grundlæggende til at kassere uønskede outputstrømme i en proces eller ellers som en passende tom fil til inputstrømme. Dette gøres normalt ved en omdirigeringsmekanisme.

Og enhedsfilen /dev/null er derfor en speciel fil, der afskriver (fjerner) enhver input, der sendes til den, eller dens output er den samme som for en tom fil.

Derudover kan du tømme indholdet af en fil ved at omdirigere output fra /dev/null til den (fil) som input ved hjælp af cat-kommandoen:

# cat /dev/null > access.log

Dernæst bruger vi cp-kommandoen til at tømme et filindhold som vist.

# cp /dev/null access.log

I den følgende kommando betyder hvis inputfilen og af henviser til outputfilen.

# dd if=/dev/null of=access.log

4. Tøm fil ved hjælp af ekkokommandoen

Her kan du bruge en ekkokommando med en tom streng og omdirigere den til filen som følger:

# echo "" > access.log
OR
# echo > access.log

Bemærk: Du skal huske på, at en tom streng ikke er den samme som null. En streng er allerede et objekt, da det kan være tomt, mens null simpelthen betyder, at et objekt ikke eksisterer.

Af denne grund, når du omdirigerer ud af kat-kommandoen, udskrives en tom linje (tom streng).

For at sende en nul-output til filen skal du bruge flagget -n , som fortæller ekko om ikke at udsende den efterfølgende nye linje, der fører til den tomme linje, der blev produceret i den forrige kommando.

# echo -n "" > access.log

5. Tøm fil ved hjælp af trunkeret kommando

Den trunkerede kommando hjælper med at formindske eller udvide filens størrelse til en defineret størrelse.

Du kan bruge den med indstillingen -s , der angiver filstørrelsen. For at tømme et filindhold skal du bruge størrelsen 0 (nul) som i den næste kommando:

# truncate -s 0 access.log

Det er det for nu, i denne artikel har vi dækket flere metoder til at rydde eller tømme filindhold ved hjælp af enkle kommandolinjeværktøjer og shellomdirigeringsmekanisme.

Disse er sandsynligvis ikke de eneste tilgængelige praktiske måder at gøre dette på, så du kan også fortælle os om andre metoder, der ikke er nævnt i denne vejledning via feedbackafsnittet nedenfor.