ディレクトリとそのすべてのコンテンツを削除するにはどうすればよいですか?


141

bashで私が知っているのは

rmdir directoryname

ディレクトリが削除されますが、空の場合のみです。サブディレクトリを強制的に削除する方法はありますか?

回答:


216

次のコマンドはそれを行います。ただし、注意してください。

rm -rf directoryname

52
「-f」は「--force」で、これはいくつかの健全性チェックとプロンプトを無効にします。開始するより安全なコマンドは次のとおりrm -r directorynameです。
ジム・パリ

何らかの理由でrm: invalid option -- r、rm -r <directoryname>でディレクトリを削除しようとするとエラーが発生します。
サンスポーン


1
@JimParis「安全」という言葉は相対的だと思います。リモートコンピューターで実行するスクリプトを作成しているとします。そのスクリプトには、ディレクトリを削除するコマンドがあります。ここでは、rm -rf directorynameユーザーの入力を待機しているため、スクリプトの実行を一時停止させたくないcoz を使用する方が「安全」です。もちろん、ディレクトリを削除しても害がないことを確認する必要があります。
ジョンレッド

7

場合はrm -rf directoryname、あなたを失敗し、使用してみてくださいrm -R -f directoryname、またはrm --recursive -f directoryname

これらがうまくいかない場合は、rmの再インストールまたはシェルの切り替えを検討する必要があります。


これらは私のrmのマニュアルページで利用できるオプションでした。man rm再帰削除のオプションと強制オプションを表示するために入力して調べました。
saterHater

あなたのrmマニュアルページはリストされてい-rますか?それは何をするためのものか?(テスト目的で作成したディレクトリで試してみてください。ダミーファイル(およびサブディレクトリ)のみが含まれています。)どのオペレーティングシステムを使用していますか?
Gマン

PS rm -r動作しない場合、それはシェルの問題ではなく、OSの問題です。(厳密に言うと、rm使用しているバージョンの問題であるため、別のバージョンのをインストールするrmか、システムを検索して別のrmディレクトリに別のバージョンがあるかどうかを確認することで対処できます。/bin。)
G-Man

ああ、そう。Ubuntu 14.04を使用していることを忘れていman rmました。端末で実行すると、lessテキストビューアーでテキストファイルが表示されました。スクロールして、インデントされたエントリに-Rオプションと--recursiveオプションが-rオプションと混同された全体で、これらの引数がすべて同一であることを示しました。
saterHater

1
編集:試しましたsudo rm -r directoryNameか?基本的なコマンドの不文律はそれがある-r(!どこ史上あなたが選ぶ始まる)のすべてに再帰的に実行するためのプログラムがファイルシステムを提出できるようになりますし、-fは強制的にそれはだ場合でも、物事を行いますその危険。「cd」、「mv」、「ls」は、ほとんどこの原理を保持しています。ls -r /デュジーになりcp -rf / /dev/null、ファイルシステム上のすべてを破壊します。<-そのコマンドを実行しないでください!
saterHater
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.