Android

Hogyan lehet csonkolni (üres) fájlokat a linuxban

Hogyan csókold meg ? - Első csók - Mikor, hogyan - Csajozás

Hogyan csókold meg ? - Első csók - Mikor, hogyan - Csajozás

Tartalomjegyzék:

Anonim

Bizonyos esetekben érdemes lehet megcsonkítani (kiüríteni) egy meglévő fájlt null hosszúságúra. Egyszerű szavakkal: egy fájl csonkolása azt jelenti, hogy a fájl tartalmát eltávolítják anélkül, hogy a fájlt törölné.

A fájl csonkítása sokkal gyorsabb és könnyebb, mint a fájl törlése, újra létrehozása és a helyes engedélyek és tulajdonjogok beállítása. Továbbá, ha a fájlt egy folyamat nyitja meg, akkor a fájl eltávolítása hibát okozhat az azt használó programban.

Ez az oktatóanyag elmagyarázza, hogyan lehet a fájlokat a Linux rendszerekben nullméretre truncate a shell átirányítás és a truncate parancs segítségével.

Héj átirányítás

A fájlok csonkításához a legegyszerűbb és leggyakrabban használt módszer a > shell átirányítási operátor használata.

A fájlok átirányítás segítségével történő csonkításának általános formátuma:

: > filename

Bontjuk le a parancsot:

  • A : kettőspont true és nem eredményez kimenetet. Az átirányítási operátor > átirányítja az előző parancs kimenetét az adott fájlra. filename , a csonkolni kívánt fájl.

Ha a fájl létezik, akkor nulla lesz. Ellenkező esetben a fájl jön létre.

Ahelyett : használhat egy másik parancsot is, amely nem eredményez kimenetet.

Íme egy példa a cat parancs használatára a /dev/null eszköz tartalmának /dev/null , amely csak a fájl végét karaktert adja vissza:

cat /dev/null > filename

Egy másik használható parancs az echo . A -n opció azt mondja az echo ne vonjon be új sort:

echo -n > filename

A legtöbb modern héjon, mint például a Bash vagy a Zsh, az átirányítási szimbólum előtt elhagyhatja a parancsot, és használhatja:

> filename

A fájl csonkolásához rendelkeznie kell írási jogosultságokkal a fájlban. Általában a sudo használják erre, de a megemelkedett root jogosultságok nem vonatkoznak az átirányításra. Íme egy példa:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

Számos megoldás teszi lehetővé az átirányítást a sudo . Az első lehetőség futtathat egy új parancsértelmezőt a sudo paranccsal, és végrehajthat egy parancsot a parancsértelmezőn belül a -c zászló használatával:

sudo sh -c '> filename'

Egy másik lehetőség: a kimenetet a tee parancsba csatolni, a tee jogosultságait megemelni a sudo , és az üres kimenetet egy megadott fájlba írni:

: | sudo tee filename

truncate parancsot

truncate egy olyan parancssori segédprogram, amely lehetővé teszi a fájl méretének a megadott méretre való csökkentését vagy kibővítését.

A fájlok nullméretre csonkításának általános szintaxisa a truncate paranccsal a következő:

truncate -s 0 filename

A -s 0 opció a fájl méretét nullára állítja.

Például az Nginx hozzáférési napló ürítéséhez a következőket használja:

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

Üres minden naplófájl

Az idő múlásával a merevlemez-meghajtó rengeteg nagy naplófájllal összerakódhat, és nagy mennyiségű lemezterületet igényel.

A következő parancs üríti a /var/log könyvtár alatt a.log végződő fájlokat:

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

Jobb lehetőség a naplófájlok elforgatása, tömörítése és eltávolítása a logrotate eszközzel.

Következtetés

Egy fájl csonkításához Linux alatt használja a > átirányítási operátort, majd a fájl nevét.

csonka terminál