rmコマンド|ファイル・ディレクトリの削除【Linux】

Linux

(最終更新月:2022年9月)

✔このような方へ向けて書かれた記事となります

「Linuxのrmコマンドについて知りたい」

「rmコマンドでディレクトリ(フォルダ)を削除する方法は?」

「rmコマンドでできること全て知りたい!」

✔当記事を通じてお伝えすること

  • rmコマンドの基礎知識
  • rmコマンドのオプション一覧
  • rmコマンドで注意すること
  • rmコマンドを使っているアプリ実例

当記事を最後までご覧いただければ、rmコマンドの基礎知識がわかるだけでなく、アプリ開発に使用している具体例までご覧いただけます

【著者プロフィール】

profile_icon
【Python歴】11年 x 【Django歴】10年
HP作成、社内システムの構築、コンサルティング

当ブログを通じて、Webアプリの書き方やアプリの公開方法までを解説しています。

☆日報アプリ「D-Repo」(デモ版)→こちら

※Djangoをベースに作成したアプリです。

☆便利ツールアプリ「Tool Station」→こちら

※Django REST frameworkとReactで作成しているアプリです。

icon
icon

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の講座もおすすめです。

icon
icon

当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています

「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」

という方は必見です!

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

タイトルとURLをコピーしました