スポンサーリンク

RM(1) FreeBSD 一般コマンドマニュアル RM(1)

名称

rm, unlink − ディレクトリエントリの削除

書式

rm [−dfiIPRrvW] file ...

unlink file

解説

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

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

       −d

ディレクトリも、他のタイプのファイルと同様に削除します。本オ プションなしに file としてディレクトリを指定した場合、エラー になります。

−f
ファイルのパーミッションに関わらす、確認せずにファイルの削除 を行います。ファイルが存在しない場合にもエラーメッセージは表 示せず、終了ステータスもエラーを返しません。 −f オプション以 前に書かれた −i オプションを無視します。

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

−I
3 個より多いファイルの削除、またはディレクトリの再帰的な削除 をしようとした場合には、一度確認を求めるようになります。この オプションは −i ほど煩わしくはありませんが、誤りの防止に対し てはほぼ同じ程度の効果があります。

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

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

−r
−R
と同じです。

−v
ファイルを削除するときに冗長になり、削除する時ファイルを表示 します。

−W
削除したファイルを回復しようとします。現在このオプションは、 ホワイトアウトされたファイルを回復するためにのみ使用可能で す。

rm は、シンボリックリンクを削除するときリンクは削除しますが、リンクが参照 しているファイルは削除しません。

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

本ユーティリティが unlink として呼ばれた場合、非ディレクトリの単一引数の みが指定可能です。この単純モード動作では、オプションは指定不可であり、渡 された引数に対し unlink(2) 動作を実行します。

指定したファイルをすべて削除した場合か、 −f オプションが指定され、存在す るファイルがすべて削除された場合に 0 を返します。エラーが起きた場合は 0 より大きな値を返します。

rm は引数をパースするために getopt(3) を使用します。getopt は ‘--’ 引数を 受け付けます。これはフラグオプションの読み込みを終了させます。それゆえ、 ダッシュ (‘-’) で始まるファイルを削除できます。例えば:

rm -- -filename

絶対もしくは相対参照を用いることで同様の効果が得られます。例えば:

rm /home/user/-filename

rm ./-filename

関連項目

chflags(1), rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)

バグ

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

互換性

rm は、 −f オプションが存在しないファイルに対するエラーのみをマスクする点 が伝統的実装と異なります。 −v は標準ではありませんし、スクリプト中での使 用はお勧めしません。

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

規格

rm コマンドは、 IEEE Std 1003.2 (‘‘POSIX.2’’) 互換です。

単純化された unlink は Version 2 of the Single UNIX Specification (‘‘SUSv2’’) 準拠です。

歴史

rm コマンドは Version 1 AT&T UNIX から登場しました。

FreeBSD 10.0 January 28, 1999 FreeBSD 10.0

スポンサーリンク