「 'some_directory'を削除できません:ディレクトリが空ではありません」


27

ディレクトリを削除しようとしましたが、

$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty

しかし、そのコンテンツをリストしても何も返されません

$ ls DE.aspx_files
$

追加:実際に

$ ls -la DE.aspx_files

total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting    0 Sep 13 22:34 ..
-rw------- 1 ting ting    0 Sep 13 22:34 .fuse_hidden0001d4bf00000006

私がしようとするとrm .fuse_hidden0001d4bf00000006、それは削除さ.fuse_hidden0001d4bf00000007れますが、別の新しいが作成されます。

だから私は何が起こったのだろうか、この問題をどのように修正するのですか?

注:新しく購入した外付けポータブルHDDであり、データ回復プログラムを使用していくつかのファイルをコピーするだけです。

OS:Ubuntu 12.04

ありがとう!


3
そこでFUSEファイルシステムをマウントしているものを把握する必要があります。試してみてくださいmount | fgrep fuseそれを見つけるために、そしてfusermount -u <mountpoint>自分のディレクトリを削除しようとする前に、それをアンマウントします。
CodeGnome

マウントせずにファイルを削除するにはどうすればよいですか?
スティーブンボストン

回答:


16

隠しファイル

隠しファイルがある可能性があります。それらを見つけて、ls -la最初に実際に削除しても問題ないことを確認できます。その後、実行前rm -rまたはrmdir必要に応じてファイルを削除できます。

再帰削除を強制する

rm -rfターゲットディレクトリにファイルが含まれている場合でも、強制的に再帰削除を実行することもできます。通常のすべての警告が適用されますが、ファイルとディレクトリを削除する権限がある限り、ディレクトリの内容に関係なくジョブが実行されます。


1
また、find DE.aspx_files -exec ls -la {} \;隠しファイル、または特殊文字で名前が付けられたファイルを識別するために実行できます。
ティムケネディ

おかげで、私は犯人の隠しファイルを特定しました。これは削除できますが、新しい兄弟が生成されます。追加した部分をご覧ください。「ディレクトリが空ではない」ため、強制削除も機能しません。
ティム

56

フォームのファイルは、ファイルが削除されたときにFUSEファイルシステム.fuse_hidden*によって作成されますが、まだどこかで使用されており、ディレクトリエントリが必要です。これは、NFS経由でエクスポートされたディレクトリ上のファイルに似ています。.nfs*

実行df -T .して、現在のディレクトリとそのマウントポイントにマウントされているファイルシステムのタイプを確認します。外部ハードディスクの場合、これはNTFS-3Gドライバーを介してマウントされたNTFSファイルシステムである可能性があります。これはFUSEに基づいています。

この名前は、ファイルシステムドライバーが削除されたファイルに対して作成する偽の名前です。ファイルを削除することはできません(または、ファイルを作成すると、別の名前で再び表示されます)。ディレクトリは空ではないため、削除することもできません。このファイルを使用しているものを見つける必要があります。使用されている最も可能性の高い原因は、何らかのアプリケーションによって開かれている場合です。ファイルシステムマウントポイントのlsof /media/mount-point場所を実行し/media/mount-point、そのディレクトリで開いているファイルを探します。


6
この答えは、実際に問題を解決するものです
マーティンエルハート

おかげで、それは動作します。私はこの答えを使って、フォルダを使用しているものをたくさん見ました。再起動してから、同じリストをもう一度表示しようとしました-空でした。そして、削除はスムーズに進みました。
セバスチャン

12

外付けハードディスクの場合、この問題は次の方法で解決できます。

  • フォルダを右クリックして選択します Move to Trash
  • ゴミ箱を空にする

rm -rfうまくいかなくても、私にとってはうまくいきました。


1
はい、これは機能します。なぜ?!ただし、ファイルはゴミ箱に置かれ、同様に問題があります。
スティーブンボストン

-1

Macの場合は、*。localizedファイルにも注意してください。これは、FUSEファイルシステム上の 'ls -la'、 'find'、およびそれらのilkでも見えなくなる可能性があります。[これは、MacBook ProでConnectedData Transporterが作成したFUSEファイルシステムを使用して発見されました。]


-1

これは、トレントクライアントでもファイルをシードしているときに発生する可能性があります。トレントクライアントをオフにするか、シードトレントを削除してください。

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