ターミナルで空でないディレクトリを削除する方法は?


630

次のディレクトリを削除するにはどうすればよいですか?

入力しました:

rmdir lampp

このエラーが発生します:

rmdir: failed to remove `lampp': Directory not empty

ディレクトリ内のすべてのファイルを削除し、ディレクトリフォルダを削除するコマンドはありますか?


1
上記のすべての詳細コマンドを使用して、「新規フォルダ」などのディレクトリを削除できません。それは二重の言葉です。しかし、そのディレクトリを削除したいです。どんな提案も歓迎します。T.Divakara、バンガロール、インド

ファイル名の空白スペース。「引用符」> rmdir「新規フォルダー」<次にフォルダーdisapersを使用するか、非表示文字にエスケープ文字を使用してください。
ケンMollerup

2
するだけでいいrm -r lamppでしょう。
ジョン

回答:


877

以下のコマンドを使用します。

rm -rf lampp

lamppディレクトリに含まれるすべてのファイルとフォルダーを削除します。

ユーザーにフォルダーを削除する権限がない場合:

sudoコマンドの先頭に追加します:

sudo rm -rf folderName

それ以外の場合、sudoあなたなしで許可が拒否されます。また-f、ディレクトリの削除中は使用しないようにすることをお勧めします。

sudo rm -r folderName

注:これは、ターミナルで削除するフォルダーと同じレベルに既にいる場合を想定しています。

sudo rm -r /path/to/folderName

参考-fまでに-r、文字、、を使用できます-v

  • -f =存在しないファイルを無視し、プロンプトを表示しない
  • -r =ディレクトリとその内容を再帰的に削除する
  • -v =何が行われているのかを説明するため

69
私の謙虚な意見では、最初の試行で「f」を追加しないことをお勧めします。その目的は、特に間違ったディレクトリで誤って実行した場合に、重要となる可能性がある特定の警告プロンプトを無視することです。私の意見では、最初に「f」なしで試してみてください。その後、多くの警告プロンプトが表示され、それらをすべて無視しても問題ない場合、Ctrl + Cを外し、「 f "。
thomasrutter

@BKSpurgeonは、誤って入力し--no-preserve-rootない限りそうではありませ
ムル

@thomasrutter ...同意する。ファイル「xxx」の所有者:ルート およびグループ:ルートは、-fスイッチで削除できます。そしてsudoなし。これは-fなしのメッセージです: " rm:書き込み保護された通常ファイル '/home/william/.cache/netbeans/v08.01/tmp/xxx'?_"を削除します。_やさしく踏みます。
意志

95
rm -R lampp

ただし、このような再帰的なコマンドには注意する必要があります。意図していないものを誤って削除してしまうことは簡単です。

Enterキーを押す前に、どのディレクトリにいるか、コマンドを正しく入力したかどうかを常にダブルチェックすることをお勧めします。

より安全なバージョン

rm -R -i lampp

追加-iすると、削除のたびにプロンプ​​トが表示されるため、少し安全になります。ただし、多くのファイルを削除する場合、これはあまり実用的ではありません。それでも、これを最初に試すことができます。

オプションに関する注意-f

多くの人は-f、それを(-Rfまたはに結合して-rf)使用することを提案し、迷惑なプロンプトを取り除くと主張しています。しかし、通常のケースでは、あなたがそれを必要とし、それを使用すると、おそらくいくつかの問題が抑制していない知りたいの。使用するときに、引数に存在しないディレクトリまたはファイルが指定されていても警告は表示されません。rmは何も削除せずに静かに失敗します。一般的なルールとして、最初に-f:なしで試してください。引数に問題がある場合は、気づくでしょう。書き込みアクセスなしでファイルに関するプロンプトが多すぎる場合は、次のように試してみてください。-f。または、削除するファイルとディレクトリへの完全なアクセス許可を持つユーザー(またはsudoを使用するスーパーユーザー)からコマンドを実行して、そもそもこれらのプロンプトが表示されないようにします。


4
注:小文字-rも使用でき、ここでも同じ効果があります。大文字のみを使用する傾向がある-Rのは、grepやなどの他のコマンドと一貫性があるためchmodです。一部のコマンドは大文字のみをサポートしています。
thomasrutter

これは、Androidでadb(Androidデバッグブリッジ)を使用して機能しました。rm -rfを試みましたが、うまくいきませんでした。rm -Rを使用する必要がありました。ありがとう。
raddevus

これは、特にBashターミナルの使用に不慣れな場合に適したソリューションです。コマンドはに短縮できますrm -ir FOLDER
AlainD

24

CLIモードでディレクトリを削除する方法はたくさんあります。どちらの方法に慣れているかによります。

rm -rvf /path/to/directory  
  • -r =ディレクトリとその内容を再帰的に削除します
  • -v =何が行われているのかを説明する
  • -f =存在しないファイルを無視し、プロンプトを表示しない

Linuxを初めて使用する場合は、コマンドのマニュアルページ(man rm)を使用して、オプションと精度を高めてください。


-2

今日はそれで問題を抱えていましたが、sudoでそれを克服しました。

警告:以下のコマンドを使用する前に、すべてのものを削除することを確認してください。

$ sudo rm -R [Directory name]

今日はこれを無事に完了し、不要/不要であることを確認した空でないディレクトリを多数削除しました。

14.04 LTSを使用しています


4
「SUDO」はコマンドではありません-「sudo」はコマンドです。それでも、空でないディレクトリの削除にはsudoを使用せず、所有していないファイルの削除にはsudoを使用します。もちろん、これを行うのは危険であり、あまり賢くはありません。所有していないファイルをやみくもに削除してはいけません。
マーティフライド14

-3

ところで、私は個人的に書き込み保護されたファイル(.gitおよびサブディレクトリ)を含むディレクトリを削除したいと思い、最終的にこれらのファイルを正常に削除するにはスーパーユーザーになる必要があることに気付きました。ここに私がやったことがあります:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

4
sudo suここには必要ないと思います。rmコマンドの前にを付けるだけsudoです。セキュリティのために、(sudoの支持者によると)不要な場合はルートプロンプトに留まらないことをお勧めします。
thomasrutter 14

2
また、どのディレクトリにいるのかを非常によく確認してくださいsudo rm -r
トニーマーティン14年

/directory_name削除するディレクトリについて疑いの余地がないように、コマンドをroot相対()にすることができます。
YaakovのAinspan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.