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.