Ocitnete se v situacích, kdy potřebujete vyprázdnit soubor. To se často stává, když máte velké soubory protokolu a Jak byste to udělali?
Jedním ne tak čistým způsobem by bylo odstranit soubor a poté vytvořit nový soubor. Ale to není dobrý nápad. Nebude to stejný soubor, časové razítko (atime, mtime atd.) se bude lišit spolu s dalšími oprávněními k souboru.
Namísto vytváření nového prázdného souboru můžete smazat jeho obsah. Jak tedy vyprázdníte soubor v Linuxu? Jak ze souboru vymazat veškerý jeho obsah, aniž byste smazali skutečný soubor?
4 způsoby, jak vyprázdnit soubor v Linuxu
Existuje několik způsobů, jak můžete vyprázdnit soubor, aniž byste soubor skutečně smazali. Dovolte mi ukázat vám některé z těchto metod.
Metoda 1:Zkrácení souboru pomocí příkazu truncate
Nejbezpečnějším způsobem zkrácení souboru protokolu je použití příkazu truncate.
truncate -s 0 filename
Ve výše uvedeném příkazu se -s používá k nastavení/úpravě velikosti (v bajtech) souboru. Když použijete -s 0, znamená to, že jste upravili velikost souboru na 0 bajtů. V
Metoda 2:Vyprázdněte soubor pomocí :> nebo>
Nejjednodušší způsob, jak vyprázdnit soubor, je použít níže uvedený příkaz. Pokud se soubor nepoužívá, bude fungovat v Bash:
> filename
Zatímco výše uvedené funguje pouze v Bash Shell, můžete použít podobný příkaz pro ostatní shelly:
:> filename
Tento příkaz můžete také použít k vymazání souboru:
true > filename
Metoda 3:Použití příkazu echo k vyprázdnění souboru v Linuxu
Dalším způsobem, jak vyprázdnit soubor, je příkaz echo v Linuxu:
echo > filename
Příkaz echo můžete také použít tímto způsobem:
echo "" > filename
Metoda 4:K vymazání souboru použijte /dev/null
Můžete také použít slavný /dev/null a kombinovat s příkazem cat k vymazání souboru protokolu:
cat /dev/null > file.log
Nakonec…
A pokud nemáte dostatečná oprávnění pro některý z výše uvedených příkazů, toto je jistý, ale trochu špinavý způsob, jak toho dosáhnout:
touch newfile
mv newfile filename
Soubor můžete také vyprázdnit odstraněním všech řádků v editoru Vim.
Pokud bylo vaším cílem vyčistit soubory protokolů a uvolnit místo, měli byste se dozvědět o čištění protokolů journald.
Doufám, že vám tento rychlý tip pomohl vymazat soubor v Linuxu. Přidejte si nás do záložek pro další rychlé tipy pro Linux.