5 způsobů, jak vyprázdnit nebo odstranit obsah velkého souboru v systému Linux
Občas, když pracujete se soubory v linuxovém terminálu, možná budete chtít vymazat obsah souboru, aniž byste jej museli nutně otevírat pomocí jakéhokoli linuxového editoru příkazového řádku. Jak toho lze dosáhnout?
V tomto článku si projdeme několik různých způsobů vyprázdnění obsahu souboru pomocí některých užitečných příkazů.
Upozornění: Než se podíváme na různé způsoby, mějte na paměti, že protože v Linuxu je vše soubor, musíte se vždy ujistit, že soubory, které vyprazdňujete, nejsou důležité uživatelské nebo systémové soubory . Vymazání obsahu důležitého systému nebo konfiguračního souboru může vést k fatální chybě nebo selhání aplikace/systému.
Níže jsou uvedeny prostředky pro vymazání obsahu souboru z příkazového řádku.
Důležité: Pro účely tohoto článku jsme v následujících příkladech použili soubor access.log
.
1. Vyprázdněte obsah souboru přesměrováním na Null
Nejjednodušší způsob, jak vyprázdnit nebo vymazat obsah souboru pomocí přesměrování shellu null
(neexistující objekt) do souboru, jak je uvedeno níže:
> access.log
2. Vyprázdněte soubor pomocí „skutečného“ přesměrování příkazů
Zde použijeme symbol :
je příkaz vestavěný do shellu, který je v podstatě ekvivalentní příkazu true
a lze jej použít jako ne-op (žádná operace) .
Další metodou je přesměrování výstupu vestavěného příkazu :
nebo true
do souboru takto:
: > access.log
OR
true > access.log
3. Vyprázdněte soubor Pomocí obslužných programů cat/cp/dd s /dev/null
V Linuxu se zařízení null
v zásadě používá pro vyřazení nechtěných výstupních proudů procesu nebo jako vhodný prázdný soubor pro vstupní proudy. To se obvykle provádí mechanismem přesměrování.
A soubor zařízení /dev/null
je tedy speciální soubor, který odepíše (odstraní) jakýkoli vstup, který mu byl odeslán, nebo jeho výstup je stejný jako u prázdného souboru.
Navíc můžete vyprázdnit obsah souboru přesměrováním výstupu /dev/null
na něj (soubor) jako vstup pomocí příkazu cat:
cat /dev/null > access.log
Dále použijeme příkaz cp k vymazání obsahu souboru, jak je znázorněno.
cp /dev/null access.log
V následujícím příkazu dd if
znamená vstupní soubor a of
odkazuje na výstupní soubor.
dd if=/dev/null of=access.log
4. Vyprázdněte soubor pomocí příkazu echo
Zde můžete použít příkaz echo s prázdným řetězcem a přesměrovat jej do souboru následovně:
echo "" > access.log
OR
echo > access.log
Poznámka: Měli byste mít na paměti, že prázdný řetězec není totéž jako null. Řetězec je již objekt, protože může být prázdný, zatímco null jednoduše znamená neexistenci objektu.
Z tohoto důvodu, když přesměrujete příkaz out of echo výše do souboru a zobrazíte obsah souboru pomocí příkazu cat, vypíše se prázdný řádek (prázdný řetězec).
Chcete-li do souboru odeslat nulový výstup, použijte parametr -n
, který říká echo, aby nevypisoval koncový nový řádek, který vede na prázdný řádek vytvořený v předchozím příkazu.
echo -n "" > access.log
5. Vyprázdněte soubor pomocí příkazu zkrátit
Příkaz truncate pomáhá zmenšit nebo rozšířit velikost souboru na definovanou velikost.
Můžete jej použít s volbou -s
, která určuje velikost souboru. Chcete-li vyprázdnit obsah souboru, použijte velikost 0 (nula) jako v následujícím příkazu:
truncate -s 0 access.log
To je prozatím vše, v tomto článku jsme pokryli několik metod vymazání nebo vyprázdnění obsahu souboru pomocí jednoduchých nástrojů příkazového řádku a mechanismů přesměrování shellu.
Toto pravděpodobně nejsou jediné dostupné praktické způsoby, jak toho dosáhnout, takže nám můžete také říci o všech dalších metodách, které nejsou uvedeny v této příručce, prostřednictvím sekce zpětné vazby níže.