rm (UNIX)
rm(アールエム)はPOSIXおよびSingle UNIX Specificationで規定されているコマンドである。
rmは「remove」の略であり、ファイルシステムよりファイルを削除するために使用される。AT&T UNIXの最初のバージョンから存在していた。
振る舞い
[編集]rmは引数に指定されたファイルを削除する。デフォルトではディレクトリの削除は行なわない。-rや-Rオプションを使用すると、指定されたディレクトリ以下の全ディレクトリツリーが削除される。引数のパスが . または .. で終わる場合はエラーとなる。
POSIXオプションを次に示す。
- -f 存在しないファイルを指定してもエラーを返さない。確認問い合わせをしない。
- -i すべての削除に対して問い合わせを表示する。
- -r または -R 指定以下のディレクトリツリーを削除する。
スティッキービットのセットされているディレクトリ配下のファイルは、そのファイルの所有者かディレクトリの所有者かスーパーユーザーでないと削除できない。
名前が -
で始まるファイルの削除
[編集]rmコマンドの多くの実装では、-
で始まるファイル名を引数に指定する目的で、オプション終了を意味する特殊オプション(--
または -
)が用意されている。例えば前者の場合、ファイル -f
を削除する指定は rm -- -f
とすれば良い。
ただし、これら特殊オプションが存在しなくとも、パス名を付加した rm ./-f
とすることで回避可能である。
これらは mv (UNIX) や cp (UNIX) でも同様のことが言える。
注意事項
[編集]例えば、スーパーユーザーで以下のコマンドを実行するとファイルシステム /配下のファイルがすべて削除されてしまう。(一部ファイルを除く)
rm -rf /
またはrm -rf /*
但し一部のLinux系OS(CentOS 5以降 RHEL3以降)ではエラーが返る事があるが、後者コマンドは前述したOSでも実行されてしまうので注意が必要である。
外部リンク
[編集]- Manpage of RM man page、JM Project(GNU 版)
- rm(1) man page(SunOS リファレンスマニュアル)
- rm(1) man page(HP-UX リファレンス)