Android

Kuinka katkaista (tyhjät) tiedostot Linuxissa

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

Sisällysluettelo:

Anonim

Joissain tilanteissa saatat haluta katkaista (tyhjentää) olemassa olevan tiedoston nollapituiseksi. Yksinkertaisin sanoin tiedoston lyhennys tarkoittaa tiedoston sisällön poistamista poistamatta tiedostoa.

Tiedoston typistäminen on paljon nopeampaa ja helpompaa kuin tiedoston poistaminen, sen uudelleen luominen ja oikeiden oikeuksien ja omistajuuden asettaminen. Lisäksi, jos tiedosto avataan prosessilla, tiedoston poistaminen voi aiheuttaa sitä käyttävän ohjelman toimintahäiriön.

Tämä opetusohjelma selittää kuinka lyhentää tiedostoja nollakokoon Linux-järjestelmissä käyttämällä kuorien uudelleenohjausta ja truncate .

Shell-uudelleenohjaus

Helpoin ja käytetyin tapa tiedostojen karsimiseen on > kuoren uudelleenohjausoperaattorin käyttö.

Tiedostojen typistämisen uudelleenohjauksen yleinen muoto on:

: > filename

Jaotellaan komento:

  • : Kaksoispiste tarkoittaa true eikä tuota mitään lähtöä. Uudelleenohjausoperaattori > ohjaa edellisen komennon lähtö annettuun tiedostoon. filename , tiedosto, jota haluat katkaista.

Jos tiedosto on olemassa, se katkaistaan ​​nollaan. Muuten tiedosto luodaan.

Sen sijaan : voi käyttää myös toista komentoa, joka ei tuota lähtöä.

Tässä on esimerkki cat komennon käyttämisestä /dev/null laitteen sisällön /dev/null , joka palauttaa vain tiedoston lopun merkin:

cat /dev/null > filename

Toinen komento, jota voidaan käyttää, on echo . -n asetus käskee echo ta jättämättä uutta riviä:

echo -n > filename

Useimmissa nykyaikaisissa kuorissa, kuten Bash tai Zsh, voit jättää komennon ennen uudelleenohjaussymbolia ja käyttää:

> filename

Jotta tiedosto voidaan katkaista, sinulla on oltava tiedostoon kirjoitusoikeudet. Käytät yleensä sudo tähän, mutta korotetut juurioikeudet eivät koske uudelleenohjausta. Tässä on esimerkki:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

On olemassa useita ratkaisuja, jotka sallivat uudelleenohjauksen sudo sovelluksella. Ensimmäinen vaihtoehto voi suorittaa uuden kuoren sudo-komennolla ja suorittaa komennon kuoren sisällä -c lipun avulla:

sudo sh -c '> filename'

Toinen vaihtoehto on liittää lähtö tee komentoon, nostaa tee oikeuksia sudo ja kirjoittaa tyhjä lähtö annettuun tiedostoon:

: | sudo tee filename

truncate komento

truncate on komentoriviohjelma, jonka avulla voit pienentää tai laajentaa tiedoston kokoa annettuun kokoon.

Yleinen syntaksi tiedostojen lyhentämiseksi nollakokoksi typistämiskomennolla on seuraava:

truncate -s 0 filename

-s 0 -asetus asettaa tiedoston koon nollaksi.

Voit esimerkiksi tyhjentää Nginx-käyttölokin:

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

Tyhjennä kaikki lokitiedostot

Ajan myötä kiintolevy voi olla sotkuinen monien suurten lokitiedostojen kanssa, jotka vievät paljon levytilaa.

Seuraava komento tyhjentää tiedostot, jotka päättyvät “.log” hakemistoon /var/log :

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

Parempi vaihtoehto olisi kiertää, pakata ja poistaa lokitiedostoja logrotate työkalulla.

johtopäätös

Voit katkaista tiedoston Linuxissa käyttämällä uudelleenohjausoperaattoria > ja sen jälkeen tiedostonimeä.

katkaista pääte