Pourquoi est-ce que "Directory not empty" s'affiche lorsque j'essaie de supprimer un répertoire vide?

32

J'ai ce répertoire vide, mais je continue à recevoir le message d'erreur suivant:

Cannot remove test: Directory not empty

Je sais que cette question a été posée à maintes reprises mais aucune n’a aidé.

J'ai essayé ls -la pour m'assurer qu'il n'y avait pas de fichiers cachés, et il ne semble pas y avoir:

J'ai essayé sudo rmdir test ainsi que sudo rm -rf test , et je ne sais pas ce qui ne va pas.

J'ai lu que cela pouvait être un problème avec le système de fichiers, mais je n'ai aucune idée de ce que je ferais pour y remédier.

    
posée rbrick 29.12.2014 - 05:34
la source

10 réponses

27

J'ai eu le même problème sur un disque dur externe, j'ai essayé tellement de manières en utilisant la ligne de commande, mais j'ai échoué à chaque fois. C'est ce qui a fonctionné pour moi:

  1. Faites un clic droit sur le dossier
  2. Déplacer vers la corbeille
  3. Vider la corbeille

Oui, c'est idiot mais ça a fonctionné pour moi (je ne sais pas vraiment comment et pourquoi, mais le sacré dossier n'existe plus)

    
réponse donnée Marco Ottina 19.02.2016 - 11:13
la source
3

Vous pouvez le supprimer en tapant sudo rm -rf {dir_name} . Le répertoire peut avoir été défini avec une autorisation en lecture seule. J'espère que la commande donnée peut supprimer le dossier.

    
réponse donnée Wolverine 30.12.2014 - 00:32
la source
3

Je n’avais pas le même problème pour supprimer le répertoire car il n’était pas vide.

Cette séquence d’opérations a fonctionné pour moi.

  1. En ligne de commande en premier

    sudo rmdir  --ignore-fail-on-non-empty folder-name-to-be-deleted
    

La commande ci-dessus aide ubuntu à ignorer le répertoire qui n'est pas vide.

  1. Ensuite, allez dans le dossier Shift + Del. C'est tout.
réponse donnée Amit 15.04.2017 - 05:58
la source
2

J'ai installé le système dual ubuntu win 10 +. Et les deux systèmes partagent les parititions Windows.

Récemment, je suis également tombé sur incapable de supprimer les dossiers vides dans ces partitions sous Ubuntu. Je ne peux pas trouver de solution pour le résoudre sous Linux.

Cependant, après avoir basculé vers Windows et exécuté

chkdsk

via cmd pour le disque cible. Certaines erreurs sont extraites. et puis je cours

chkdsk /F

pour corriger une erreur de disque.

Après avoir terminé, je peux maintenant supprimer ces dossiers.

    
réponse donnée e-cloud 12.07.2017 - 04:31
la source
1

Si vous utilisez btrfs, il s'agit peut-être d'un répertoire vide avec un i_size différent de zéro. Vous pouvez vérifier si c'est le cas avec:

stat -c %s test

La taille d’un dossier vide dans btrfs doit être nulle. Dans mon cas, j'ai 6160 avec ~/.config/chromium/Default .

La solution suggérée consiste à démonter le système de fichiers, à exécuter btrfs check pour confirmer le problème et à rechercher d’autres répertoires problématiques, puis à exécuter btrfs check --repair pour corriger le problème. Cette opération est risquée, cependant, c'est une bonne idée de sauvegarder les fichiers en premier.

Source: FAQ sur les problèmes de Btrfs

    
réponse donnée wzhd 14.02.2016 - 10:29
la source
1

solution d'interface graphique

  1. Déplacer ou couper & amp; collez le dossier dans le dossier Corbeille
  2. vider la corbeille

c'est fait.

Solution en ligne de commande

sudo mv folder_error/ .local/share/Trash

vous pouvez effacer avec trash-cli: trash-empty ou

sudo rm -fr ~/.local/share/Trash/*
    
réponse donnée Kadir Y. 18.07.2017 - 15:09
la source
0

Si le répertoire fait partie d’un système de fichiers monté avec CIFS (aka samba), et qu’il contient un fichier qui est un lien symbolique cassé, alors ls ne parvient pas à mentionner ce fichier. (J'observe ce bogue sur un client CIFS exécutant 14.04.2 LTS et un serveur exécutant 12.04.5 LTS.)

Donc, le répertoire n’est pas vide , mais (via CIFS) vous n’avez aucun moyen de le voir. Le fichier est visible uniquement et ne peut donc être supprimé que par une commande exécutée sur le serveur de fichiers hébergeant ce système de fichiers.

    
réponse donnée Camille Goudeseune 19.06.2015 - 22:10
la source
0

Ce problème apparaît lorsque ces dossiers ou fichiers ne sont pas complètement copiés. C'est une erreur d'entrée / sortie. J'ai essayé de supprimer avec Shift + Del ou par des commandes, mais celles-ci ne fonctionnaient pas. J'ai essayé le clic droit et "Move to Trash" et ça a fonctionné.

    
réponse donnée lhodeniz 09.04.2016 - 06:28
la source
0

J'ai eu le même problème sur Ubuntu 16.04 et je l'ai corrigé par:

  1. vider le dossier corbeille
  2. redémarrage

L'ouverture et la fermeture du gestionnaire de fichiers n'ont pas permis de redémarrer correctement.

    
réponse donnée dale 02.08.2016 - 23:20
la source
-1

essayez cette commande:

sudo lsof | grep deleted 

Vérifiez dans la liste si votre répertoire est toujours utilisé. : D

Si oui, arrêtez le service et vous pourrez supprimer le répertoire.

    
réponse donnée ashwin2011 29.12.2014 - 11:49
la source

Lire d'autres questions sur les étiquettes