#はじめに
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権限で削除対象を誤るととんでもないことが起きます。
#追記
参考の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 の利用を考えてみてください。