Joskus, kun käsittelet tiedostoja Linux-päätteellä, saatat haluta tyhjentää tiedoston sisällön avaamatta sitä välttämättä millään Linux-komentorivieditorilla. Miten tämä voidaan saavuttaa? Tässä artikkelissa käymme läpi useita eri tapoja tyhjentää tiedoston sisältö joidenkin käyttökelpoisten komentojen avulla.
Varoitus: Koska Linuxissa kaikki on tiedostoa, sinun on aina varmistettava, että tyhjennettävät tiedostot eivät ole tärkeitä käyttäjä- tai järjestelmätiedostoja. Kriittisen järjestelmä- tai konfiguraatiotiedoston sisällön tyhjentäminen voi johtaa kohtalokkaaseen sovellus-/järjestelmävirheeseen tai vikaan.
Tämän sanottuani, alla on keinoja tiedostojen sisällön tyhjentämiseen komentoriviltä.
Tärkeää: Tässä artikkelissa olemme käyttäneet tiedostoa access.log
seuraavissa esimerkeissä.
Tyhjennä tiedoston sisältö ohjaamalla se nollaan
Helpoisin tapa tyhjentää tai tyhjentää tiedoston sisältö käyttämällä komentorivin uudelleenohjausta null
(ei-olemassaoleva objekti) tiedostoon kuten alla:
# > access.log
Tyhjennä tiedosto käyttämällä ’true’-komennon uudelleenohjausta
Tässä käytämme symbolia :
on shellin sisäänrakennettu komento, joka vastaa olennaisilta osiltaan komentoa true
, ja sitä voidaan käyttää ei-op-käskynä (no-op, no operation).
Toinen tapa on ohjata :
tai true
sisäänrakennetun komennon tuloste tiedostoon näin:
# : > access.logOR # true > access.log
Tyhjennä tiedosto käyttämällä cat/cp/dd-apuohjelmia /dev/null:lla
Linuxissa null
-laitetta hyödynnetään pohjimmiltaan prosessin ei-toivottujen ulostulovirtojen hylkäämiseen tai muutoin sopivana tyhjänä tiedostona sisääntulovirtoja varten. Tämä tapahtuu yleensä uudelleenohjausmekanismin avulla.
Ja /dev/null
-laitetiedosto on siis erityinen tiedosto, joka kirjoittaa pois (poistaa) kaikki sille lähetetyt syötteet tai sen tuloste on sama kuin tyhjä tiedosto.
Lisäksi voit tyhjentää tiedoston sisällön ohjaamalla /dev/null
:n ulostulon siihen (tiedostoon) syötteenä cat-komennolla:
# cat /dev/null > access.log
Jatkossa tyhjennämme tiedoston sisällön cp-komennon avulla kuvan osoittamalla tavalla.
# cp /dev/null access.log
Oheisessa komennossa if
tarkoittaa syöttötiedostoa ja of
viittaa tulostiedostoon.
# dd if=/dev/null of=access.log
Tyhjän tiedoston käyttäminen echo-komennon käyttäminen
Tässä voit käyttää echo-komentoa, jossa on tyhjä merkkijono, ja ohjata sen tiedostoon seuraavasti:
# echo "" > access.logOR# echo > access.log
Huomautus: On syytä muistaa, että tyhjä merkkijono ei ole sama kuin null. Merkkijono on jo objekti paljon se voi olla tyhjä, kun taas null tarkoittaa yksinkertaisesti objektin olemattomuutta.
Tästä syystä, kun ohjaat yllä olevan echo-komennon ulostulon tiedostoon ja tarkastelet tiedoston sisältöä cat-komennolla, on tulostaa tyhjän rivin (tyhjän merkkijonon).
Voidaksesi lähettää nollatulosteen tiedostoon käytä lippua -n
, joka käskee echo:ta jättämään tulostamatta edellisen komennon tuottamaan tyhjään riviin johtavan rivin perään tulevan rivinvaihdon.
# echo -n "" > access.log
Tyhjä tiedosto käyttämällä truncate-komentoa
Komennon truncate avulla voit kutistaa tai laajentaa tiedoston koon määritettyyn kokoon.
Komentoa voit käyttää tiedoston koon määrittävän -s
-option kanssa. Jos haluat tyhjentää tiedoston sisällön, käytä kokoa 0 (nolla) kuten seuraavassa komennossa:
# truncate -s 0 access.log
Tässä artikkelissa olemme käsitelleet useita menetelmiä tiedostojen sisällön tyhjentämiseen tai poistamiseen yksinkertaisten komentorivin apuohjelmien ja komentotulkin uudelleenohjausmekanismin avulla.
Nämä eivät luultavasti ole ainoita käytettävissä olevia käytännön keinoja, joten voit kertoa meille myös muista menetelmistä, joita ei ole mainittu tässä oppaassa alla olevassa palauteosiossa.