Vyprázdnit obsah zadaného souboru bez smazání pomocí příkazového řádku

Anonim

Pokud pracujete na příkazovém řádku a potřebujete rychle vyprázdnit obsah souboru, můžete to udělat tak, že před název souboru hodíte symbol větší než a mezeru.

Jak vymazat obsah souboru z příkazového řádku

Trik, jak odstranit obsah souboru při zachování tohoto souboru, vypadá takto:

> název_souboru

Tento přístup funguje v bash a mnoha dalších shellech, ale můžete také použít variantu echo, pokud nefunguje v zsh nebo jiném shellu. Pro zsh použijte k vymazání obsahu souboru z příkazového řádku pomocí echo null a přesměrování následující:

echo -n > název_souboru

Veškerý obsah v cílovém souboru bude okamžitě bez varování odstraněn, ponechá se prázdný, přičemž zůstane zachována existence souborů, název souboru a oprávnění. To je často výhodnější a rychlejší než ruční mazání a opětovné vytváření souboru.

Dobrým praktickým příkladem je vymazání obsahu souborů protokolu, například:

> ~/Library/Logs/updates.log

Nebo dosažení stejného efektu s přesměrováním ozvěny:

echo -n > ~/Library/Logs/updates.log

Tento příkaz můžete také použít k vytvoření nového 0 bajtového souboru v umístění, podobně jako při použití dotykového příkazu.

Toto bude zvláště užitečné, pokud chcete zachovat stejná oprávnění daného souboru, ale chcete přepsat obsah, což je běžný jev u souborů protokolu a podobných položek.

Vyprázdnit obsah zadaného souboru bez smazání pomocí příkazového řádku