Zoeken op website

5 manieren om een grote bestandsinhoud in Linux te legen of te verwijderen


Af en toe, terwijl u met bestanden in een Linux-terminal werkt, wilt u misschien de inhoud van een bestand wissen zonder het noodzakelijkerwijs te openen met behulp van een Linux-opdrachtregeleditor. Hoe kan dit worden bereikt?

In dit artikel bespreken we verschillende manieren om bestandsinhoud te legen met behulp van enkele handige opdrachten.

Let op: voordat we verder gaan met het bekijken van de verschillende manieren, moet u er rekening mee houden dat, omdat in Linux alles een bestand is, u er altijd voor moet zorgen dat de bestanden die u leegmaakt geen belangrijke gebruikers- of systeembestanden zijn. . Het wissen van de inhoud van een kritiek systeem- of configuratiebestand kan leiden tot een fatale applicatie-/systeemfout of -fout.

Dat gezegd hebbende, vindt u hieronder manieren om de bestandsinhoud van de opdrachtregel te wissen.

Belangrijk: voor de doeleinden van dit artikel hebben we het bestand access.log in de volgende voorbeelden gebruikt.

1. Maak de bestandsinhoud leeg door deze om te leiden naar Null

De eenvoudigste manier om de inhoud van een bestand te legen of leeg te maken, is door gebruik te maken van shell redirect null (niet-bestaand object) naar het bestand, zoals hieronder:

> access.log

2. Bestand leegmaken met ‘echte’ opdrachtomleiding

Hier zullen we het symbool gebruiken: is een in de shell ingebouwde opdracht die in essentie equivalent is aan de opdracht true en kan worden gebruikt als een no-op (geen bewerking) .

Een andere methode is om de uitvoer van de ingebouwde opdracht : of true als volgt naar het bestand te leiden:

: > access.log
OR 
true > access.log

3. Bestand leegmaken met de hulpprogramma's cat/cp/dd met /dev/null

In Linux wordt het null-apparaat in principe gebruikt voor het verwijderen van ongewenste uitvoerstromen van een proces, of anders als een geschikt leeg bestand voor invoerstromen. Dit gebeurt normaal gesproken via een omleidingsmechanisme.

En het /dev/null device-bestand is daarom een speciaal bestand dat alle invoer die ernaar wordt verzonden, wegschrijft (verwijdert) of dat de uitvoer ervan dezelfde is als die van een leeg bestand.

Bovendien kunt u de inhoud van een bestand leegmaken door de uitvoer van /dev/null er als invoer naar toe te sturen (bestand) met behulp van het cat-commando:

cat /dev/null > access.log

Vervolgens zullen we de opdracht cp gebruiken om de inhoud van een bestand leeg te maken, zoals weergegeven.

cp /dev/null access.log

In de volgende dd-opdracht betekent if het invoerbestand en of verwijst naar het uitvoerbestand.

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

4. Bestand leegmaken met echo-opdracht

Hier kunt u een echo-opdracht met een lege tekenreeks gebruiken en deze als volgt naar het bestand omleiden:

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

Opmerking: Houd er rekening mee dat een lege string niet hetzelfde is als null. Een string is al een object, net zoals hij leeg kan zijn, terwijl null eenvoudigweg het niet-bestaan van een object betekent.

Om deze reden wordt, wanneer u de out van het echo-commando hierboven naar het bestand omleidt en de bestandsinhoud bekijkt met behulp van het cat-commando, een lege regel (lege string) afgedrukt.

Om een null-uitvoer naar het bestand te sturen, gebruikt u de vlag -n die echo vertelt om de afsluitende nieuwe regel die naar de lege regel leidt die in het vorige commando is geproduceerd, niet uit te voeren.

echo -n "" > access.log

5. Bestand leegmaken met behulp van de opdracht Afkappen

Met de opdracht truncate kunt u de grootte van een bestand verkleinen of uitbreiden tot een bepaalde grootte.

Je kunt het gebruiken met de -s optie die de bestandsgrootte specificeert. Om de inhoud van een bestand te legen, gebruikt u de grootte 0 (nul), zoals in de volgende opdracht:

truncate -s 0 access.log

Dat was het voor nu. In dit artikel hebben we meerdere methoden besproken voor het wissen of legen van bestandsinhoud met behulp van eenvoudige opdrachtregelhulpprogramma's en shell-omleidingsmechanismen.

Dit zijn waarschijnlijk niet de enige beschikbare praktische manieren om dit te doen, dus u kunt ons ook via het feedbackgedeelte hieronder vertellen over andere methoden die niet in deze handleiding worden vermeld.