5 būdai, kaip ištuštinti arba ištrinti didelį failo turinį sistemoje „Linux“.


Kartais, tvarkydami failus Linux terminale, galbūt norėsite išvalyti failo turinį, nebūtinai jo atidarydami naudodami bet kokius Linux komandų eilutės redaktorius. Kaip tai galima pasiekti?

Šiame straipsnyje apžvelgsime kelis skirtingus failo turinio ištuštinimo būdus, naudodami keletą naudingų komandų.

Atsargiai: prieš pradėdami nagrinėti įvairius būdus, atminkite, kad Linux sistemoje viskas yra failas, todėl visada turite įsitikinti, kad failas (-ai), kurį ištuštinate, nėra svarbūs naudotojo ar sistemos failai. . Išvalius svarbios sistemos ar konfigūracijos failo turinį, gali atsirasti lemtinga programos/sistemos klaida arba gedimas.

Tai pasakius, toliau pateikiamos priemonės, kaip išvalyti failo turinį iš komandinės eilutės.

Svarbu: šio straipsnio tikslais toliau pateiktuose pavyzdžiuose naudojome failą access.log.

1. Ištuštinkite failo turinį nukreipdami į Null

Lengviausias būdas ištuštinti arba ištuštinti failo turinį naudojant apvalkalo peradresavimą null (neegzistuojantis objektas) į failą, kaip nurodyta toliau:

> access.log

2. Ištuštinkite failą naudodami „true“ komandos peradresavimą

Čia naudosime simbolį : yra apvalkalo įtaisyta komanda, kuri iš esmės yra lygiavertė komandai true ir gali būti naudojama kaip no-op (jokios operacijos). .

Kitas būdas yra nukreipti įtaisytosios komandos : arba true išvestį į failą taip:

: > access.log
OR 
true > access.log

3. Ištuštinti failą Naudodami cat/cp/dd programas su /dev/null

Linux sistemoje null įrenginys iš esmės naudojamas nepageidaujamiems proceso išvesties srautams atmesti arba kaip tinkamas tuščias failas įvesties srautams. Paprastai tai atliekama naudojant peradresavimo mechanizmą.

Todėl įrenginio failas /dev/null yra specialus failas, kuris nurašo (pašalina) bet kokią jam siunčiamą įvestį arba jos išvestis yra tokia pati kaip tuščio failo.

Be to, galite ištuštinti failo turinį nukreipdami /dev/null išvestį į jį (failą) kaip įvestį naudodami cat komandą:

cat /dev/null > access.log

Tada naudosime komandą cp, kad ištuštintume failo turinį, kaip parodyta.

cp /dev/null access.log

Kitoje dd komandoje if reiškia įvesties failą, o of nurodo išvesties failą.

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

4. Išvalykite failą naudodami echo komandą

Čia galite naudoti echo komandą su tuščia eilute ir nukreipti ją į failą taip:

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

Pastaba: turėkite omenyje, kad tuščia eilutė nėra tas pats, kas nulinė. Eilutė jau yra objektas, nes ji gali būti tuščia, o nulis tiesiog reiškia objekto nebuvimą.

Dėl šios priežasties, kai nukreipiate komandą iš aukščiau esančios aido į failą ir peržiūrite failo turinį naudodami komandą cat, išspausdinama tuščia eilutė (tuščia eilutė).

Norėdami nusiųsti į failą nulinę išvestį, naudokite vėliavėlę -n, kuri nurodo echo, kad nebūtų išvesta paskutinė eilutė, vedanti į tuščią eilutę, sukurtą ankstesnėje komandoje.

echo -n "" > access.log

5. Ištuštinkite failą naudodami sutrumpinimo komandą

Komanda sutrumpinti padeda sumažinti arba išplėsti failo dydį iki nustatyto dydžio.

Galite naudoti jį naudodami -s parinktį, kuri nurodo failo dydį. Norėdami ištuštinti failo turinį, naudokite 0 (nulio) dydį, kaip nurodyta kitoje komandoje:

truncate -s 0 access.log

Kol kas tiek, šiame straipsnyje aptarėme kelis failų turinio išvalymo arba ištuštinimo būdus naudojant paprastas komandinės eilutės priemones ir apvalkalo peradresavimo mechanizmus.

Tai tikriausiai nėra vieninteliai galimi praktiniai būdai tai padaryti, todėl taip pat galite papasakoti apie kitus šiame vadove nepaminėtus metodus toliau pateiktoje atsiliepimų skiltyje.