(最終更新月:2022年9月)
✔このような方へ向けて書かれた記事となります
「Linuxのrmコマンドについて知りたい」
「rmコマンドでディレクトリ(フォルダ)を削除する方法は?」
「rmコマンドでできること全て知りたい!」
✔当記事を通じてお伝えすること
- rmコマンドの基礎知識
- rmコマンドのオプション一覧
- rmコマンドで注意すること
- rmコマンドを使っているアプリ実例
当記事を最後までご覧いただければ、rmコマンドの基礎知識がわかるだけでなく、アプリ開発に使用している具体例までご覧いただけます。
rmコマンドとは?
rmコマンドはファイルやフォルダ(ディレクトリ)を削除するLinux OSのコマンドです。
コマンドの構成は以下のようになります。
rm -オプション ファイル(ディレクトリ)
具体的にファイルとディレクトリを削除するコマンドを見ていきます。
実際にターミナルを開いておこなう際は、消して良いフォルダ内でおこなうようにしてください。
rmコマンドで消すと元に戻らないので注意が必要です!
ファイルの削除
ファイルを削除するコマンドは以下のとおり。
rm ファイル1 ファイル2 ・・・
たとえば、「sample1.txt」を削除するときはこのようになります。
rm sample1.txt
ディレクトリ(フォルダ)を削除
ディレクトリを削除するには、「-r」オプションを使用します。
rm -r ディレクトリ1 ディレクトリ2 ・・・
たとえば、「sample1」「sample2」の2つを削除する場合はこのとおりです。
rm -r sample1 sample2
現在のディレクトリ内の全てを削除する
全て消えてしまうのを了承のうえ、コマンドを入力してください。
全て消したい場合は以下のとおりです。
rm -r *
「rm *」コマンドではディレクトリの削除ができません。
rmコマンドのオプション一覧
rmのコマンド一覧を見ていきましょう。
- 強制実行のオプション: -f
- 確認メッセージの表示: -i
- 確認メッセージの表示②:-I(大文字のアイ)
- ディレクトリの削除: -r
- 空のディレクトリを削除: -d
- 実行内容を表示する: -v
- 複数のオプションを同時に使う
以下のファイルが入っているディレクトリにいるとします。
$ ls
dir1 dir2 dir3 sample1.txt sample2.txt
「sample1.txt」「sample2.txt」がファイル、「dir1」「dir2」「dir3」がディレクトリです。
強制実行のオプション: -f
-f をつけると、ファイルが見つからない場合もエラーメッセージが出てこないようになります。
たとえば、-fオプションのあるなしではいかのようになります。
-f をつけない場合
$ rm sample3.txt
rm: 'sample3.txt' を削除できません: そのようなファイルやディレクトリはありません
-f をつける場合
$ rm -f sample3.txt
エラーメッセージが出てきません。
確認メッセージの表示: -i
-i オプションをつけると、削除実行前に確認メッセージが表示されます。
$ rm -i sample2.txt
rm: 通常の空ファイル 'sample2.txt' を削除しますか?
「y」で削除、「n」で削除しない、となります。
$ rm -i sample2.txt
rm: 通常の空ファイル 'sample2.txt' を削除しますか? y
$ ls
dir1 dir2 dir3 sample1.txt
「y」で削除が実行されています。
確認メッセージの表示②:-I(大文字のアイ)
-I オプションも、確認メッセージを表示します。
小文字「i」のときと違いは、3つ以上のファイル、もしくはディレクトリごと削除する場合にメッセージが表示されます。
一つのファイルを削除するときは、メッセージは出てきません。
$ rm -I sample1.txt
3つ以上のファイルもしくは、ディレクトリだとメッセージが出てきます。
$ rm -rI dir3
rm: remove 1 argument recursively? y
ディレクトリの削除: -r
-rオプションは、ディレクトリを削除するためのものです。
この場合、ディレクトリ内のファイルも全て削除されるので注意しましょう。
$ rm -r dir2
空のディレクトリを削除: -d
-dオプションは、指定したディレクトリが空の場合に削除するためのものです。
空でないディレクトリを指定するとメッセージが出てきて削除ができません。
$ rm -d dir4
rm: 'dir4' を削除できません: ディレクトリは空ではありません
実行内容を表示する: -v
-vオプションは、実行したことをコメントに残すためのものです。
たとえば以下のように-vオプションをつけると、メッセージが表示されます。
$ rm -v sample5.txt
'sample5.txt' を削除しました
複数のオプションを同時に使う
rmコマンドのオプションは、アルファベットを連続して入力すれば、複数同時に使えます。
使い方は以下のとおりです。
rm -オプション1オプション2・・・ ファイルなど
具体的には以下のとおりです。
$ rm -rv dir4
'dir4/sample4.txt' を削除しました
removed directory 'dir4'
「-r」と「-v」オプションを同時に使う場合は、「-rv」となります。
rmコマンドの注意点
rmコマンド使用の際の注意点は、実行した削除を元に戻すことはできない、ことです。
そのためには以下のような対策をしましょう。
- 「-i」オプションで、事前確認を徹底
- 「-v」オプションで、実行結果を確認
- 「-f」オプションは、強制的に実行されるので控える
rmコマンドの実用例
こちらでは、PythonでLinuxOSを操作するコマンドの例をご覧いただきます。
folder_name = f"{settings.MEDIA_ROOT}/resized/{slug}"
os.system(f"rm -rf {folder_name}")
一度作成したフォルダを削除するようPythonのosモジュールと組み合わせて、rmコマンドを実行しています。
OSモジュールについての解説はこちらです。
まとめ:rmコマンドは、オプションを駆使して使いこなそう
当記事の内容をまとめます。
- rmコマンドとは、LinuxOSのターミナル上でファイルやディレクトリを削除するもの
- オプションを使うことで、ディレクトリを削除したり、確認メッセージを表示させたりできる
- rmコマンドは、消したものを元に戻せないので、気をつけて使おう
ターミナルのコマンドは使いこなせば、とても簡単にファイル・フォルダ操作ができます。
興味がある方はUdemyの講座もおすすめです。