5 veidi, kā iztukšot vai dzēst lielu faila saturu Linux


Reizēm, strādājot ar failiem Linux terminālā, iespējams, vēlēsities notīrīt faila saturu, to obligāti neatverot, izmantojot Linux komandrindas redaktorus. Kā to panākt? Šajā rakstā mēs veiksim vairākus dažādus failu satura iztukšošanas veidus, izmantojot dažas noderīgas komandas.

Uzmanību: Pirms mēs turpinām aplūkot dažādus veidus, ņemiet vērā, ka, tā kā Linux viss ir fails, jums vienmēr jāpārliecinās, ka iztukšotie faili nav svarīgi lietotāja vai sistēmas faili. Kritiskās sistēmas vai konfigurācijas faila satura notīrīšana var izraisīt letālu lietojumprogrammas/sistēmas kļūdu vai kļūmi.

Ar to teikts, tālāk ir norādīti faila satura notīrīšana no komandrindas.

Svarīgi: šī raksta nolūkos nākamajos piemēros esam izmantojuši failu access.log .

1. Iztukšojiet faila saturu, novirzot uz Null

Vieglākais veids, kā iztukšot vai iztukšot faila saturu, izmantojot čaulas novirzīšanu null (neesošs objekts) uz failu, kā norādīts tālāk:

# > access.log

2. Iztukšojiet failu, izmantojot “true” komandu novirzīšanu

Šeit mēs izmantosim simbolu : ir čaulas iebūvēta komanda, kas būtībā ir ekvivalenta komandai true un to var izmantot kā opciju no-op (bez operācijas) .

Vēl viena metode ir iebūvētās komandas : vai true izejas novirzīšana uz failu šādi:

# : > access.log
OR 
# true > access.log

3. Tukšs fails, izmantojot cat/cp/dd utilītprogrammas ar/dev/null

Operētājsistēmā Linux ierīci null galvenokārt izmanto, lai izmestu nevēlamas procesa izvades straumes, vai arī kā piemērotu tukšu failu ievades straumēm. To parasti veic ar novirzīšanas mehānismu.

Tāpēc ierīces fails /dev/null ir īpašs fails, kas noraksta (noņem) jebkuru tam nosūtīto ievadi vai tā izvade ir tāda pati kā tukša faila.

Turklāt varat iztukšot faila saturu, novirzot /dev/null izvadi uz to (failu) kā ievadi, izmantojot komandu cat:

# cat /dev/null > access.log

Pēc tam mēs izmantosim komandu cp, lai iztukšotu faila saturu, kā parādīts.

# cp /dev/null access.log

Šajā komandā if nozīmē ievades failu un of attiecas uz izvades failu.

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

4. Iztukšojiet failu, izmantojot komandu echo

Šeit jūs varat izmantot komandu atbalss ar tukšu virkni un novirzīt to uz failu šādi:

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

Piezīme. Jums jāpatur prātā, ka tukša virkne nav tas pats, kas null. Virkne jau ir objekts, lai arī tā var būt tukša, bet null vienkārši nozīmē objekta neesamību.

Šī iemesla dēļ, kad jūs novirzāt komandu no kaķa, tiek izdrukāta tukša rinda (tukša virkne).

Lai failam nosūtītu nulles izvadi, izmantojiet karodziņu -n , kas liek atbalsim neizraidīt aizmugurējo jauno rindu, kas noved pie tukšās rindas, kas izveidota iepriekšējā komandā.

# echo -n "" > access.log

5. Iztukšojiet failu, izmantojot komandu saīsināt

Komanda saīsināt palīdz samazināt vai paplašināt faila izmēru līdz noteiktam lielumam.

To var izmantot, izmantojot opciju -s , kas norāda faila lielumu. Lai iztukšotu faila saturu, izmantojiet izmēru 0 (nulle) kā nākamajā komandā:

# truncate -s 0 access.log

Tas ir viss, šajā rakstā mēs esam aplūkojuši vairākas failu satura notīrīšanas vai iztukšošanas metodes, izmantojot vienkāršus komandrindas utilītus un čaulas novirzīšanas mehānismu.

Iespējams, ka šie nav vienīgie pieejamie praktiskie veidi, kā to izdarīt, tāpēc varat arī pastāstīt mums par citām metodēm, kas nav minētas šajā rokasgrāmatā, izmantojot atgriezeniskās saites sadaļu.