コマンド一発でファイルをゼロクリアする

シェルスクリプトの講義のTAが明日あるので、入門unixシェルプログラミングを見ていたところ面白いコマンドがあったので。

ファイルを消さずにゼロクリアするコマンドの紹介。

>file
: >file

このいずれかの方法で出来るらしい。 >fileの場合は虚無をfileにリダイレクトしているのでゼロクリアされる。 : >file の場合は、 何もしないコマンドである: の実行結果がfileにリダイレクトされるので0クリアされる。

ちなみにzshで上書き防止をしていた場合は

: >| file

とかするといい感じにゼロクリアされる。