rm コマンド
目次
概要
rm - ディレクトリやファイルを削除するコマンドライン
rm [OPTION]... [FILE]...
対象バージョン
- RHEL 10 : GNU rm 9.5
- Ubuntu 24.04 : GNU rm 9.4
説明
ファイルを削除します。
$ rm ./fileA.txt
ディレクトリを削除する際は -r オプションをつけます。rmdir では空ではないディレクトリは削除できませんが、rm -r は空でないディレクトリもすべて再帰的に削除します。
$ rm -r ./dirA
ハイフン(-)で始まるファイルを削除するには、-- というオプションの終わりを示す共通オプションを指定するか、./ をつけて削除します。
$ rm -- -foo $ rm ./-foo
オプション
- -r, -R, --recursive
- ディレクトリやファイルの階層を再帰的に削除します。空ではないディレクトリを中身ごと削除する場合に指定します。
$ rm -r ./dirA
- -d, --dir
- ディレクトリを削除します。ただし、ディレクトリは空である必要があります。
$ rm -d ./dirA
- -f, --force
- ファイルが存在しなくてもエラーメッセージを表示しません。
- -i
- 削除する度に確認を求めます。
$ rm -i fileA.txt fileB.txt rm: remove regular empty file 'fileA.txt'? y rm: remove regular empty file 'fileB.txt'? y
- -I
-iはひとつのファイルを削除する度に確認を求めますが、-Iはディレクトリを削除する場合に最初の1回のみ確認を求めます。ディレクトリ以外のファイルに対しては確認を求めません。$ rm -rI ./dirA ./dirB rm: remove 2 argument recursively? y
- --interactive=MODE
-iや-Iの代わりに確認を求めるタイミングを指定します。MODEにはnever(確認を求めない)、always(-iと同等)、once(-Iと同等) のいずれかを指定します。下記の2行は同じ動作となります。$ rm -rI ./dirA ./dirB $ rm -r --interactive=once ./dirA ./dirB
- --one-file-system
- 削除対象がコマンドラインで指定したディレクトリと別のファイルシステムとなる場合は削除をスキップします。例えば下記の例では
/mntディレクトリを削除しようとしますが、他のファイルシステムをマウントしている場合、マウントされたファイルシステムは削除しません。# rm -r --one-file-system /mnt
- --no-preserve-root
- 通常、ルートディレクトリ(
/) を削除しようとするとエラーとなりますが、エラーとならず削除できるようになります。rootユーザーでのみ使用可能です。chrootしたディレクトリをすべて削除したいなど特殊なケースのみで使用します。# rm -r --no-preserve-root /
- --preserve-root
--no-preserve-rootとは逆にルートディレクトリ(/) を削除しようとするとエラーにします。多くのシステムではデフォルトでこのオプションが設定されています。# rm -r --preserve-root /
- -v, --verbose
- ディレクトリやファイルを削除する度にメッセージを表示します。
$ rm -rv ./dirA ./fileB removed directory './dirA' removed './fileB'
- --help
- ヘルプメッセージを表示します。
- --version
- バージョン情報を表示します。
関連項目
Copyright (C) 2025 杜甫々
初版:2025年7月20日 最終更新:2025年7月20日
https://www.tohoho-web.com/linux/cmd/rm.html