5 načina da ispraznite ili izbrišete veliki sadržaj datoteke u Linuxu


Povremeno, dok se bavite datotekama u Linux terminalu, možda ćete poželjeti da obrišete sadržaj datoteke bez potrebe da je otvarate koristeći bilo koji Linux uređivač komandne linije. Kako se to može postići?

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

Oprez: Prije nego što nastavimo sa razmatranjem 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 sistema ili konfiguracijske datoteke može dovesti do fatalne greške ili greške u aplikaciji/sistemu.

Uz to rečeno, ispod su načini za brisanje sadržaja datoteke iz komandne linije.

Važno: Za potrebe ovog članka koristili 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 shell preusmjeravanje null (nepostojeći objekt) na datoteku kao u nastavku:

> access.log

2. Ispraznite datoteku koristeći 'true' komandno preusmjeravanje

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

Druga metoda je preusmjeravanje izlaza ugrađene naredbe : ili true na datoteku na sljedeći način:

: > access.log
OR 
true > access.log

3. Ispraznite datoteku Koristeći cat/cp/dd uslužne programe sa /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. Ovo se obično radi mehanizmom preusmjeravanja.

I /dev/null datoteka uređaja je stoga posebna datoteka koja otpisuje (uklanja) svaki ulaz koji joj se šalje ili je njegov izlaz isti kao kod praznog fajla.

Dodatno, možete isprazniti sadržaj datoteke tako što ćete preusmjeriti izlaz /dev/null na nju (datoteku) kao ulaz pomoću naredbe cat:

cat /dev/null > access.log

Zatim ćemo koristiti naredbu cp da ispraznimo sadržaj datoteke kao što je prikazano.

cp /dev/null access.log

U sljedećoj dd naredbi, if znači 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 echo naredbu s praznim nizom i preusmjeriti je na datoteku na sljedeći način:

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

Napomena: Imajte na umu da prazan niz nije isto što i null. String je već objekat iako može biti prazan dok null jednostavno znači nepostojanje objekta.

Iz tog razloga, kada preusmjerite gornju naredbu echo u datoteku i pogledate sadržaj datoteke pomoću naredbe cat, ispisuje se prazan red (prazan niz).

Da pošaljete null izlaz u datoteku, koristite zastavicu -n koja govori echo da ne ispisuje završni novi red koji vodi do praznog reda proizvedenog u prethodnoj naredbi.

echo -n "" > access.log

5. Ispraznite datoteku pomoću naredbe truncate

Komanda truncate pomaže da se smanji ili proširi veličina datoteke na definiranu veličinu.

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

truncate -s 0 access.log

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

Ovo vjerovatno nisu jedini dostupni praktični načini da to učinite, 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.