J'ai un répertoire en lui-même. Comment puis-je le supprimer.
~/.local/share/Trash/files$ ls devices/
reg-dummy
~/.local/share/Trash/files$ ls devices/reg-dummy/
subsystem
~/.local/share/Trash/files$ ls devices/reg-dummy/subsystem/
devices
Aussi
~/.local/share/Trash/files$ find devices/ | head -n 20
devices/
devices/reg-dummy
devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
De plus, bien que mon cerveau ne puisse pas résoudre le problème d'arrêt, il semble que cela sudo rm -rf devices
continue indéfiniment sans produire de sortie.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
Même chose pour perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. Même chose pour du -s devices/
. Même chose pour les du -sch ~/.local/share/Trash/
autres commandes
$ cd ~/.local/share/Trash/files/devices/reg-dummy/subsystem/devices/
$ ls -ldi
8131921 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ cd reg-dummy/subsystem/devices/
$ ls -dli
8131926 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ find .local/share/Trash/files/ -maxdepth 1 -delete
find: cannot delete `.local/share/Trash/files/devices': Directory not empty
find: cannot delete `.local/share/Trash/files/': Directory not empty
Je ne veux pas qu'il reste dans ma poubelle pour toujours!
Remarque: je faisais une sauvegarde grossière d'un ordinateur en utilisant simplement scp
, mais j'ai manqué d'espace, puis cela s'est produit.
filesystem
PyRulez
la source
la source
rm -rf devices
-il?ls -dli devices
andls -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, nondevice
. J'essaye de voir si ce sont réellement des liens durs (le même inode). Cependant, sachez que s'il s'agit d'un grand répertoire,rm -rf
cela prendra beaucoup de temps mais finira par fonctionner. Si le problème est lié aux liens circulaires, vous obtiendrez un message d'erreur sur la récursion infinie. S'il n'y a pas de message d'erreur, laissez simplementrm -rf
suivre son cours.Réponses:
La sortie de
ls -ldi
affichera le numéro d'inode du répertoire. Si le répertoire dans le répertoire a vraiment le même numéro d'inode que son ancêtre, plutôt que juste le même nom, alors votre système de fichiers est corrompu et vous devrez démarrer en mode de secours et le fsck.la source
Je pense toujours que cela
rm -rf
fonctionnera si vous lui donnez suffisamment de temps, mais sinon, l'un ou les deux devraient:Vous pouvez vous assurer que quelque chose se passe si vous utilisez
rm -rfv ~/.local/share/Trash/files/devices
au moins cela vous permettra de savoir que les fichiers sont supprimés.Quoi qu'il en soit, cela ne peut pas être un problème de lien dur (malgré mon très mauvais commentaire) car les répertoires ne peuvent pas être liés sous Linux. En général, lorsque vous avez une récursion infinie, comme cela peut arriver avec les liens logiciels, vous obtiendrez un message à cet effet, qui ne semble pas se produire.
L'autre possibilité à laquelle je peux penser est que le dossier Corbeille est un système étrange qui lui est propre. Je ne sais pas vraiment comment ça marche, je ne l'utilise jamais. Cependant, vous pourriez avoir plus de chance de supprimer les fichiers de niveau supérieur directement au lieu de cibler le répertoire problématique:
Vous devriez également essayer de vider le dossier Corbeille de l'interface graphique, sélectionnez simplement Corbeille et cliquez sur "Vider la corbeille", voir si cela fonctionne.
la source
rm
ne produiront de sortie. Combien de temps ont-ils couru? J'ai également mis à jour lafind
commande, la précédente était fausse, désolé. Jetez un œil à la réponse mise à jour. Enfin, nous travaillons aveugles ici. Veuillez mettre à jour votre question avec la sortie de l'ls -l
endroit où vous l'avez utiliséls
, montrez également le résultat dedu -sch ~/.local/share/Trash/
sorte que nous connaissions la taille.du -sch ~/.local/share/Trash/
qui vous donnera la taille. Et veuillez ajouter tout ce que les divers commentaires ont demandé, ils sont nécessaires pour que nous puissions comprendre ce qui se passe.(Je suis convaincu que cela fonctionnera et comme je vais voyager en ce moment, je laisserai cela comme une réponse que je pourrai supprimer à l'avenir si cela ne fonctionne pas.)
Tout d'abord, pour être en sécurité, exécutez
Deuxièmement, si la sortie de "1" n'affiche aucun fichier important, exécutez
La dernière étape serait
la source