Android

Kako skraćivati ​​(prazne) datoteke u Linuxu

tronçonneuse thermique LIDL PARKSIDE à essence Petrol Chainsaw Benzin-Kettensäge

tronçonneuse thermique LIDL PARKSIDE à essence Petrol Chainsaw Benzin-Kettensäge

Sadržaj:

Anonim

U nekim ćete situacijama postojeću datoteku morati izrezati (isprazniti) do nule. Jednostavnim riječima, skraćivanje datoteke znači uklanjanje sadržaja datoteke bez njenog brisanja.

Skraćivanje datoteke mnogo je brže i jednostavnije od brisanja datoteke, rekreiranja i postavljanja ispravnih dozvola i vlasništva. Također, ako se datoteka otvori procesom, uklanjanje datoteke može uzrokovati neispravnost programa koji koristi.

Ovaj tutorial objašnjava kako svesti datoteke na nulu u Linux sustavima koristeći preusmjeravanje ljuske i naredbu truncate .

Preusmjeravanje ljuske

Najjednostavnija i najčešće korištena metoda za skraćivanje datoteka je uporaba operatora preusmjeravanja ljuske.

Opći format za skraćivanje datoteka pomoću preusmjeravanja je:

: > filename

Raščlanimo naredbu:

  • : Dvotočka znači true i ne daje izlaz. Operator za preusmjeravanje > preusmjerava izlaz prethodne naredbe na zadanu datoteku. filename , datoteku koju želite skratiti.

Ako datoteka postoji, bit će skraćena na nulu. Inače će datoteka biti stvorena.

Umjesto : može koristiti i drugu naredbu koja ne daje izlaz.

Evo primjera upotrebe cat naredbe za ispis sadržaja /dev/null uređaja, koji vraća samo znak završetka datoteke:

cat /dev/null > filename

Druga naredba koja se može upotrijebiti je echo . Opcija -n kaže da echo ne dodaje novi redak:

echo -n > filename

Na većini modernih školjki poput Bash ili Zsh možete izostaviti naredbu prije simbola za preusmjeravanje i koristiti:

> filename

Da biste mogli izrezati datoteku, morate imati dopuštenja za pisanje na datoteku. Obično biste koristili sudo za to, ali povišene korijenske povlastice ne odnose se na preusmjeravanje. Evo primjera:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

Postoji nekoliko rješenja koja omogućuju preusmjeravanje sa sudo . Prva opcija može pokrenuti novu ljusku sa sudo-om i izvršiti naredbu unutar te ljuske koristeći -c zastavu:

sudo sh -c '> filename'

Druga je mogućnost slanje izlaza na tee naredbu, podizanje tee privilegija sudo i pisanje praznog izlaza u datoj datoteci:

: | sudo tee filename

truncate Zapovjedništvo

truncate je uslužni program naredbenog retka koji vam omogućuje smanjiti ili proširiti veličinu datoteke na zadanu veličinu.

Opća sintaksa za skraćivanje datoteka na nulu veličine pomoću naredbe truncate je sljedeća:

truncate -s 0 filename

Opcija -s 0 postavlja veličinu datoteke na nulu.

Na primjer, za pražnjenje dnevnika pristupa Nginx biste upotrijebili:

sudo truncate -s 0 /var/log/nginx/access.log

Ispraznite sve datoteke dnevnika

S vremenom se vaš disk može zakrpiti s velikim brojem velikih dnevnika koji zauzimaju veliku količinu prostora na disku.

Sljedeća naredba ispraznit će datoteke koje završavaju s.loglog u direktoriju /var/log :

sudo truncate -s 0 /var/log/**/*.log

Bolja opcija bila bi okretanje, komprimiranje i uklanjanje zapisa dnevnika pomoću alata logrotate .

Zaključak

Za skraćivanje datoteke u Linuxu koristite operatora preusmjeravanja > nakon čega slijedi naziv datoteke.

skraćivati ​​terminal