rm ファイルやディレクトリを削除する
rm [オプション] ファイル...試してみる
rm trash/tmp1.txtファイルを1つ削除します。
rm -v trash/tmp2.txt trash/app.log複数のファイルをまとめて削除し、-v で削除したものを表示します。
ls -R trash残っているものを確認します。
rm -f trash/nothing-f を付けると、存在しないファイルを指定してもエラーになりません。
rm -r trash/oldディレクトリは -r を付けると、中身ごと削除できます。
rm -rf trashディレクトリごと、確認なしでまとめて削除します。
主なオプション
-r, -R | ディレクトリを中身ごと再帰的に削除する |
|---|---|
-f | 確認せずに削除する。存在しないファイルを指定してもエラーにしない |
-i | 削除する前に1つずつ確認する |
-v | 削除したファイルを表示する |
-d | 空のディレクトリを削除する |
解説
元に戻せない
rm で削除したファイルは、ごみ箱には入らず、そのまま消えます。基本的に元に戻せないので、特に -r や -f を使うときは、削除するものを ls で確かめてから実行する習慣をつけましょう。
ディレクトリの削除
ディレクトリは rm だけでは削除できず、「Is a directory」というエラーになります。中身ごと消すときは -r を使います。中身が空のディレクトリなら rmdir でも消せます。rm -d でも空のディレクトリを削除できます。
確認の有無
通常、書き込み禁止のファイルを消そうとすると確認されますが、-f を付けると確認されません。また、シェルによっては rm が rm -i の別名(エイリアス)になっていることがあります。
名前が - で始まるファイル
- で始まる名前のファイルは、オプションと見なされてしまいます。rm -- -file のように -- を挟むか、rm ./-file のようにパスを付けて指定します。