コンテンツにスキップ

rm (UNIX)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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 リファレンス)