GNU/Linux >> Tutoriels Linux >  >> Linux

échec de la traversée :u :mauvais message lors de la suppression d'un répertoire extrêmement volumineux sous Linux

Bon, j'ai enfin résolu les problèmes. Cela était dû aux erreurs du système de fichiers qui causaient ls s'afficher à tort et d'autres utilitaires à mal fonctionner.
Je suis désolé que le titre de la question soit trompeur (malgré qu'il y ait effectivement de nombreux fichiers dans u/ , le répertoire n'est pas extrêmement volumineux ).

J'ai résolu le problème en utilisant une clé USB en direct puisque le système de fichiers corrompu est / . Le correctif appliquait simplement sudo fsck -cfk /dev/sda2dev/sda2 est le disque corrompu.


Vous ne pouvez pas supprimer d'énormes quantités de fichiers en utilisant rm . Vous pouvez soit faire

find u/ -type f -print0 | xargs -r -0 rm -f

cela supprimera uniquement les fichiers ; pour tout supprimer, utilisez

find u/ -print0 | xargs -r -0 rm -rf

vous pouvez probablement utiliser le --delete possibilité de find , si votre système l'a :

find u/ -type f --delete

ou la méthode funky avec rsync :

mkdir emptyfolder
rsync -r --delete emptyfolder/ u/

rsync est bien plus rapide que rm lors de la suppression d'éléments, car cela contournera certaines vérifications.


Vous pouvez essayer find /u -type f | while read f; do rm -f $f; done Cela prendra un certain temps mais pourrait fonctionner. Pour une raison quelconque, les boucles dans bash fonctionnent bien lorsque les autres approches échouent.


Linux
  1. Linux – Supprimer efficacement un grand répertoire contenant des milliers de fichiers ?

  2. Linux - Comment inspecter les informations de structure de répertoire d'un fichier Unix/linux ?

  3. Échec du message SOAP lors de la création du domaine

  4. Comment identifier l'utilisateur qui supprime des fichiers d'un répertoire donné sous Linux

  5. Commande de déplacement de répertoire Linux

Commande cd sous Linux (changer de répertoire)

Commande Du sous Linux

Commande murale sous Linux

Commande mv sous Linux

Comment copier un répertoire sous Linux

Linux :ajouter un répertoire à PATH