質問: **Q1.あるページで「/var/hoge」を削除する場合、「rm /var/hoge」ではなく「cat /dev/null > /var/hoge」の方が良い、と書いてある記述を見かけたのですが** ・理由としては何が挙げられるでしょうか? --- **Q2.別のページで「dev/null は ごみ箱 みたいなもの」という記述も見かけたのですが、** ・dev/null へ出力した内容を取り出すことは出来ますか? ・出力した時点で破棄される? ・rm と何が異なるのですか?? ``` $ ls -l /dev/null crw-rw-rw- 1 root root 1, 3 12月 29 16:46 /dev/null $ less /dev/null /dev/null is not a regular file (use -f to see it) $ less -f /dev/null ```
回答: `rm`を使った場合はファイルが削除されますが、`/dev/null`を使う方法はいわゆる「ゼロクリア」なので、ファイルの存在自体は残ったままになる、という違いがあるだけだと思います。 例えば対象のファイル名を再利用するような場合、ファイルを`rm`で都度削除してしまうと、安全のため存在チェックが必要になりますよね? 「`/dev/null`はゴミ箱みたいなもの」という説明も、ファイルの破棄には使えますがWindowsのそれと同じように「復元」は簡単にできないので誤解を生む説明です。