フォルダーを削除できないのはなぜですか?


14
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

私はこれらのフォルダを端末から削除しようとしました:

rm -r

2
そのエラー出力がnautilusからのものである場合は、質問にスクリーンショットを追加できます。また、rm -rターミナルからの出力は何ですか?この投稿の答えを試してみましたか?
ルシオ

1
rm -rf代わりに使用
-nickanor

私はrm -Rf再帰的にディレクトリを削除するために使用されていますが、これはあなたのためかもしれません。大文字のRは再帰的を意味しますman rm
。man

1
このディレクトリを削除する権限がありますか?ls -laこのオプションを破棄するには、実行してここに貼り付けてください。
revnoise

フォルダーは、Windowsで最初に削除され、Ubuntuで削除しようとしたと思います。その後、Windows上で削除しようとしたが、エラーを言った。 Directory not empty しかし、そのすべて空の約束。Windowsではエラーと表示されますError x00000
-tepheno

回答:


10

あなたはしてみてくださいましたsudo rm -r。どんな種類のファイルがありますか?最初にすべてのファイルを削除してから、フォルダーを削除することもできます。それは余分な仕事ですが、時には仕事を成し遂げる価値があります。

sudo スーパーユーザーアクション用です。


私はsudoを知っていて、フォルダにはサブフォルダ内にのみファイルがありません。アーティストフォルダー、アルバムフォルダー、MP3なし。ただのフォルダー。
テフェノ

それは男...作品
Angelinナダール

9

この問題は、btrfsファイルシステム上のフォルダーで発生しました。マウントポイントとlsofの確認は、通常の検索対象です。私の場合、それは修正されて以来、古いバグによって引き起こされた破損でした:

通常確認すること:

  • lsofを+ D <パス> -この意志L iがsの全てのT OのペンFジル。開いているファイルを含むフォルダーを削除することはできませんが、通常は「デバイスまたはリソースがビジー」というわずかに異なるエラーが発生します。「+ D <path>」を省略すると、lsofはすべてのファイルシステム上のすべてのフォルダーのリストを表示することに注意してください-これは時間の無駄になります。;)
  • mount:これは現在マウントされているファイルシステムを表示します。アクティブにマウントされたマウントポイントまたはその親フォルダーを削除することはできません。
  • btrfs sub list <path>:マウントポイントと同様に、btrfs固有のコマンドbtrfs subvolume delete <path>を使用しない限り、btrfsサブボリュームを削除できません。

破損の回避策

簡単に修復できない破損の場合、基本的な回避策は、バックアップしてファイルシステムをフォーマットし、復元することです(不良データを残します)。ファイルシステムにあるデータの量によっては、これは面倒な場合があります。:-/

私の場合、問題のフォルダーはサブボリューム内にあったので、上記を行うことができましたが、ファイルシステム全体ではなくサブボリュームのみを削除しました。データをバックアップし、サブボリュームbtrfs sub del <subvolume-path>を削除しました。その後、問題のあるフォルダーを除外して、新しいサブボリュームに復元することができました。

i_sizeの破損

私の場合の原因はi_sizeの破損であることがわかりました。ゼロではありませんでした。Btrfsはi_sizeを使用して、フォルダーが空かどうかを判断します。これを確認するには、次を実行します。

stat -c %s <foldername>

btrfsの空のフォルダーのi_sizeはゼロでなければなりません。extでは、通常4kです。

関連リンク:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory


6

試してみてくださいcdディレクトリには、使用してすべてのファイルを削除しますrm -rf *。その後、ディレクトリから出て、ディレクトリのrmdir削除に使用してみてください。


これは私にとってはうまく機能します+1 Thanks man
AndrewL64

私はこれを試して、「引数リストが長すぎます」
-Rafael_Espericueta

1

試してみる sudo rm -rf [Folder name]

それでも空ではないディレクトリが表示されている場合は、そのディレクトリが使用されていることを意味します。それを閉じるか、どのプログラムがそれを使用しているかを確認してから、コマンドを再使用してください。

Unityプロジェクトを削除しようとしていて、Unityハブで使用されていたときに働いていました。ユニティハブを閉じて、コマンドを書き直すだけで正常に機能しました。


0

削除するフォルダーの直前のフォルダーに移動し、フォルダー名でフォルダー名を変更してこのコマンドを実行します:rm -rf foldername

Rは再帰を意味し、fは力を意味します。


rm: cannot remove Wan Pisu - New World': Directory not empty
テフェノ

使いました-rfか?
ラモンスアレス

-rf私はrm -r -f -vサーを使ったと思います。
テフェノ

私はちょうど同じディレクトリ名でテストを行なったし、それはまた、RF vを分離するあなたの方法を使用して、私のために働いた。あなたは、あなたが使用している確信しているrmといませんかrmdir?詳細(-v)は手がかりを与えましたか?また、ディレクトリ内に0バイトのファイルはありますか?「rm -r -f -v Wan \ Pisu \-\ New \ World /削除 'Wan Pisu-New World / test.test'削除ディレクトリ: 'Wan Pisu-New World'」
ラモンスアレス

いいえ、それらは単なるフォルダです。また、WindowsでError; 0x-----削除する場合も削除できません。-v私が知っていることを説明していますrm --help
テフェノ


0

書き込み権限が設定されていない場合、ディレクトリを削除することはできません。

以下の例では、私はディレクトリの所有者ですが、削除することはできません。書き込み権限を追加すると、chmodすべてが成功します。

DIR:/xieerqi
skolodya@ubuntu:$ ls -dl TESTDIR/                                              
dr-xr-xr-x 2 xieerqi xieerqi 4096 Jan 24 16:06 TESTDIR//

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              
rm: cannot remove ‘TESTDIR/one & two’: Permission denied
rm: cannot remove ‘TESTDIR/tom&jerry’: Permission denied
rm: cannot remove ‘TESTDIR/jekyl&hide’: Permission denied
rm: cannot remove ‘TESTDIR/pdfReader.sh’: Permission denied

DIR:/xieerqi
skolodya@ubuntu:$ chmod +w TESTDIR/                                            

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              

DIR:/xieerqi
skolodya@ubuntu:$ echo $?
0

0

Ubuntu VirtualBox仮想マシン(VM)にマウントされているフォルダーがWindowsにあります。私は、Windowsのファイルマネージャから、または使用してVM内部からそれらを削除することができませんでしたrmdirrm -Rf *

TLDR:を使用して、Git Bash(もちろんWindows)でそれらを削除できましたrm -Rf *

Windowsファイルマネージャーで削​​除しようとしたときに、フォルダーを削除するには管理者特権が必要だと言われました。しかし、管理者としても失敗しました。

Ubuntu VM内(共有ファイルの削除で問題が発生したことはありません)から、エラーcannot remove protocol errorとその他のエラーが発生しました。

最後に、WindowsのGit Bashで、フォルダーを削除できました。Git Bashがフォルダーに何らかのロックをかけていると推測しています。Git Bashでは、作業ディレクトリは削除しようとしていたディレクトリの1つでした。私はそれをバックアウトし、rm -Rfエラーなしで使用して削除しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.