"Ne peut pas supprimer 'some_directory': directory non vide"

J'ai essayé de supprimer un directory, mais

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

Mais listr son contenu ne renvoie aucun

 $ ls DE.aspx_files $ 

Ajouté: En fait

 $ 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 

Lorsque j'essaie de rm .fuse_hidden0001d4bf00000006 , il est supprimé, mais un autre nouveau .fuse_hidden0001d4bf00000007 créé.

Alors, je me request ce qui s'est passé et comment résoudre ce problème?

Note: il s'agit d'un disque dur externe externe nouvellement acheté, et je viens de copyr quelques files à l'aide d'un programme de récupération de données.

OS: Ubuntu 12.04

Merci!

Fichiers cachés

Vous avez peut-être des files cachés. Vous pouvez les find avec ls -la pour vous assurer que vous êtes bien en les supprimant en premier. Vous pouvez ensuite supprimer les files avant d'exécuter rm -r ou rmdir si nécessaire.

Forcer la suppression récursive

Vous pouvez également faire rm -rf pour forcer la suppression récursive même si le directory cible contient des files. Tous les avertissements habituels s'appliquent, mais vous obtiendrez le travail sans tenir count de ce que contient votre directory, pourvu que vous ayez la permission de supprimer les files et les directorys, bien sûr.

Les files du formulaire .fuse_hidden* sont créés par les filesystems FUSE lorsqu'un file est supprimé mais toujours utilisé quelque part et doit toujours avoir une input de directory. Ceci est similaire aux files .nfs* sur les directorys exportés sur NFS .

Exécutez df -T . pour voir le type de système de files monté sur le directory courant et son sharepoint assembly. Pour un disque dur externe, les chances sont qu'il s'agit d'un système de files NTFS monté via le pilote NTFS-3G , qui est basé sur FUSE.

Le nom est un faux nom que le pilote du système de files invente pour un file supprimé. Vous ne pouvez pas supprimer le file (ou plutôt, si vous créez le file, il réapparaît sous un autre nom). Vous ne pouvez pas non plus supprimer le directory, car il n'est pas vide. Vous aurez besoin de find ce qui utilise ce file. La cause la plus probable de l'utilisation est si elle est ouverte par une application. Exécutez lsof /media/mount-point/media/mount-point correspond au sharepoint assembly du système de files et searchz un file ouvert dans ce directory.

Si sur le mac, notez aussi les files * .localisés, qui peuvent devenir invisibles même pour 'ls -la', 'find' et leurs semblables sur un système de files FUSE. [Ceci a été découvert à l'aide d'un système de files FUSE créé par ConnectedData Transporter sur un MacBook Pro.]

Cela peut se produire lorsque vous enregistrez un file dans un client torrent. Assurez-vous simplement que vous fermez le client torrent ou supprimez le torrent d'amorçage.

Une possibilité commune est que le directory est maintenu par un process en cours d'exécution. Exécutez ps aux pour vérifier tout ce qui est suspect. Essayez également de redémarrer la machine.

Pour les disques durs externes, ce problème pourrait être résolu par,

  • Cliquez avec le button droit sur le dossier et select Move to Trash
  • Vider la poubelle

Cela a fonctionné pour moi même si rm -rf n'a pas fonctionné.