5 načina za pražnjenje ili brisanje sadržaja velike datoteke u Linuxu


Povremeno, dok radite s datotekama u Linux terminalu, možda ćete htjeti obrisati sadržaj datoteke bez nužnog otvaranja pomoću bilo kojeg uređivača Linux naredbenog retka. Kako se to može postići?

U ovom ćemo članku proći kroz nekoliko različitih načina pražnjenja sadržaja datoteke uz pomoć nekih korisnih naredbi.

Oprez: Prije nego što nastavimo s pregledom različitih načina, imajte na umu da budući da je u Linuxu sve datoteka, uvijek morate biti sigurni da datoteke koje praznite nisu važne korisničke ili sistemske datoteke . Brisanje sadržaja kritičnog sustava ili konfiguracijske datoteke može dovesti do fatalne pogreške aplikacije/sustava ili kvara.

S tim u vezi, u nastavku su navedeni načini brisanja sadržaja datoteke iz naredbenog retka.

Važno: Za potrebe ovog članka upotrijebili smo datoteku access.log u sljedećim primjerima.

1. Ispraznite sadržaj datoteke preusmjeravanjem na Null

Najlakši način da ispraznite ili ispraznite sadržaj datoteke koristeći ljusku preusmjerite null (nepostojeći objekt) u datoteku kao što je prikazano u nastavku:

> access.log

2. Ispraznite datoteku korištenjem 'pravog' preusmjeravanja naredbi

Ovdje ćemo koristiti simbol : je naredba ugrađena u ljusku koja je suštinski ekvivalentna naredbi true i može se koristiti kao no-op (bez operacije) .

Druga metoda je preusmjeravanje izlaza : ili true ugrađene naredbe u datoteku ovako:

: > access.log
OR 
true > access.log

3. Ispraznite datoteku pomoću uslužnih programa cat/cp/dd s /dev/null

U Linuxu, null uređaj se u osnovi koristi za odbacivanje neželjenih izlaznih tokova procesa ili kao prikladna prazna datoteka za ulazne tokove. To se obično radi mehanizmom preusmjeravanja.

Datoteka uređaja /dev/null stoga je posebna datoteka koja otpisuje (uklanja) svaki ulaz koji joj je poslan ili je njezin izlaz isti kao kod prazne datoteke.

Osim toga, možete isprazniti sadržaj datoteke preusmjeravanjem izlaza /dev/null u nju (datoteku) kao ulaz pomoću naredbe cat:

cat /dev/null > access.log

Zatim ćemo koristiti naredbu cp za brisanje sadržaja datoteke kao što je prikazano.

cp /dev/null access.log

U sljedećoj naredbi dd, if označava ulaznu datoteku, a of se odnosi na izlaznu datoteku.

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

4. Ispraznite datoteku pomoću naredbe echo

Ovdje možete koristiti naredbu echo s praznim nizom i preusmjeriti je u datoteku na sljedeći način:

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

Napomena: Trebate imati na umu da prazan niz nije isto što i null. Niz je već objekt koliko god mogao biti prazan, dok null jednostavno znači nepostojanje objekta.

Iz tog razloga, kada preusmjerite izlaz iz gornje naredbe echo u datoteku i pregledate sadržaj datoteke pomoću naredbe cat, ispisuje se prazan red (prazan niz).

Da biste poslali nulti izlaz u datoteku, upotrijebite oznaku -n koja govori echo da ne ispisuje novi red na kraju koji vodi do praznog retka proizvedenog u prethodnoj naredbi.

echo -n "" > access.log

5. Ispraznite datoteku pomoću naredbe truncate

Naredba truncate pomaže smanjiti ili proširiti veličinu datoteke na definiranu veličinu.

Možete ga koristiti s -s opcijom koja određuje veličinu datoteke. Da biste ispraznili sadržaj datoteke, upotrijebite veličinu 0 (nula) kao u sljedećoj naredbi:

truncate -s 0 access.log

To je to za sada, u ovom smo članku pokrili više metoda brisanja ili pražnjenja sadržaja datoteke pomoću jednostavnih uslužnih programa naredbenog retka i mehanizama preusmjeravanja ljuske.

Ovo vjerojatno nisu jedini dostupni praktični načini za to, tako da nam možete reći i o svim drugim metodama koje nisu spomenute u ovom vodiču putem odjeljka za povratne informacije u nastavku.