Vyprázdnit obsah zadaného souboru bez smazání pomocí příkazového řádku
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.