RM(1)

名称
rm - ディレクトリエントリの削除

書式
rm [-f | -i] [-dPRrW] file ...

解説
rm ユーティリティは、コマンドラインで指定された非ディレクトリタイプのファイルの 削除を試みます。 もし、指定のファイルに書込みパーミッションがなく、 標準入力がターミナルだった場合、削除を実行してよいかどうかの確認を (標準エラー出力を使って) 求めます。

オプションは以下のものがあります:

-d  ディレクトリも、他のタイプのファイルと同様に削除します。

-f  ファイルのパーミッションに関係なく、確認のプロンプトも出さずにファイルの削除を 試みます。 ファイルが存在しない場合にも診断メッセージは表示せず、 終了ステータスもエラーを表すものに変更しません。 -f オプションより前で指定した -i オプションは無効となります。

-i  ファイルのパーミッションや標準入力がターミナルであるかどうかに関わらず、 各ファイルを削除する前に、確認を求めるようになります。 -i オプションより前で指定した -f オプションは無効となります。

-P  通常ファイルを削除する前に、上書きします。ファイルは 3 回上書きされます。 削除する前にまず 0xff のバイトパターンで、次に 0x00 で、そして最後にもう一度 0xff で上書きします。

-R  各 file を根とする階層の削除を試みます。 -R オプションは、暗黙のうちに -d オプションが指定されたものとみなされます。 -i オプションが指定されているときには、最初にディレクトリを 削除するつもりかどうかの確認が求められ、さらに奥のディレクトリについても 各ディレクトリの中身の削除に移る前に確認が求められます。 確認に対して削除すると答えなかった場合には、それ以下のディレクトリは スキップされます。

-r  -R と同一です。

-W  指定した名前のファイルの復活を試みます。 現在、このオプションはホワイトアウトで守られたファイルの復活にしか 利用できません。

rm ユーティリティは、シンボリックリンクに対する削除の場合、リンクは削除しますが、 参照されているファイルは削除しません。

ファイル ``.'' と ``..'' を削除しようとするとエラーになります。

rm ユーティリティは、 指定したファイルまたはディレクトリ階層をすべて削除した場合か、 -f オプションが指定され、存在するファイルがすべて削除された場合に 0 を返します。 エラーが起きた場合は 0 より大きな値を返します。

関連項目
rmdir(1), undelete(2), unlink(2), fts(3), symlink(7)

バグ
-P オプションではファイルシステムが固定ブロック長であると仮定されます。 UFS は固定長ファイルシステムですが、LFS はそうではありません。 さらに、通常ファイルは上書きされますが、それ以外の種類のファイルは 上書きされません。

互換性
この rm ユーティリティは、多くの種類のエラーをマスクするのではなく、 -f オプションが存在しないファイルに対するエラーのみをマスクする点が伝統的 実装と異なります。

また、伝統的な BSD 実装では標準エラー出力ではなく標準出力に確認が出力されていました。

規格
rm ユーティリティは p1003.2 互換です。