Help us understand the problem. What is going on with this article?

【ど忘れシリーズ】rmコマンドでディレクトリごと消す方法のおさらい

More than 1 year has passed since last update.

はじめに

Linux環境でディレクトリごと消す方法ですが、

  • よく忘れます!
  • よくググります!

ってな方向けです!おさらいを兼ねて見て頂ければと思います。

rmコマンドとは

字のごとくremoveの略でファイルやディレクトリを削除するコマンド。
rmコマンドの使い方は、

rm -[オプション] [対象ファイルまたはディレクトリ]

です。

オプションのおさらい

代表的なオプションをリストアップしました。
指定するときは先頭に「-」をつけてオプションの1文字をくっつけます。

オプション なんの略? どういう意味? どういう時に必要?
f force 警告メッセージを表示しない いちいち「消しますか?」と聞いてくるのがうざったいとき
i interactive 警告メッセージを表示させる 逐一削除するものを確認していきたいとき
r recursive ディレクトリ内を再帰的に削除する ディレクトリを削除するとき。大文字「R」も同じ動きをする
v verbose 削除する前にファイル名を表示 ファイル名を確認していきたいとき

検証

以下のようなディレクトリ構成とします。

hogehoge┳abc
        ┗hogehoge2━efg

hogehogeディレクトリと同じ階層にいると仮定します。

hogehogeディレクトリを丸ごと消す

今回の目標ですね。

  • ディレクトリ(配下のもの全て含む)
  • 確認せず一気に消す

上記の条件により、force(強制), recursive(再帰)ということで。

結論:ということは?

rm -fr hogehoge

これでディレクトリごと消すことができるということですね。

注意点

rm -fr [ディレクトリ]

を実行するときは削除対象を十分に確認してから消しましょう。
root権限で削除対象を誤るととんでもないことが起きます。

参考

【 rm 】 ファイルやディレクトリを削除する

追記

参考のURLには-dオプションが記載されていますが、
実際のLinuxで下記のヘルプを実行してみると-dオプションは存在しない様です。
(ディストリビューションの違い?)
なくなった経緯の分かる方がいらっしゃったらご教授頂ければ幸いです。m(_ _)m

[user@local ~]$ rm --help
Usage: rm [OPTION]... FILE...
Remove (unlink) the FILE(s).

  -f, --force           ignore nonexistent files, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively.  Less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i).  Without WHEN, prompt always
      --one-file-system  when removing a hierarchy recursively, skip any
                          directory that is on a file system different from
                          that of the corresponding command line argument
      --no-preserve-root  do not treat `/' specially
      --preserve-root   do not remove `/' (default)
  -r, -R, --recursive   remove directories and their contents recursively
  -v, --verbose         explain what is being done
      --help     この使い方を表示して終了
      --version  バージョン情報を表示して終了

By default, rm does not remove directories.  Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.

`-' で始まる名前のファイルを削除するには、例えば `-foo' というファイルなら
こういうコマンドを使いましょう
  rm -- -foo

  rm ./-foo

ファイルの削除に rm を使った場合、通常はそのファイル内容を復元できてしまう、
ということには留意しておいてください。もしその内容を本当に復元不可能にする
保証を得たければ、shred の利用を考えてみてください。
y-aramak
仕事でWindows Server関連を主に使ってきましたが現在phpを使った業務が多くLinuxを建てる機会が多くなったため現在、Linuxを勉強していますm(_ _)m 忘れやすいことや勘違いしやすいものとか書いていきたいと思います。 ご教授、ご鞭撻のほど宜しくお願いします。整体もやっていますのでVDT障害関連の記事も書けたら記載していきたいと思います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした