GNU/Linux >> Linux Esercitazione >  >> Linux

attraversamento non riuscito:u:messaggio non valido durante l'eliminazione di una directory estremamente grande in Linux

Ok, finalmente ho risolto i problemi. Era dovuto agli errori del filesystem che causavano ls visualizzare in modo errato e altre utilità non funzionano correttamente.
Mi dispiace che il titolo della domanda sia fuorviante (nonostante ci siano davvero molti file all'interno di u/ , la directory non è estremamente grande ).

Ho risolto il problema utilizzando un live usb poiché il filesystem danneggiato è / . La correzione stava semplicemente applicando sudo fsck -cfk /dev/sda2 dove dev/sda2 è il disco danneggiato.


Non puoi rimuovere enormi quantità di file usando rm . Puoi fare entrambi

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

questo eliminerà solo i file; per cancellare tutto, usa

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

probabilmente puoi usare il --delete opzione di find , se il tuo sistema lo ha:

find u/ -type f --delete

o il metodo funky con rsync :

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

rsync è molto più veloce di rm quando elimini elementi in quanto aggirerà alcuni controlli.


Puoi provare find /u -type f | while read f; do rm -f $f; done Questo richiederà un po' di tempo ma potrebbe funzionare. Per qualche ragione, i cicli in bash funzionano bene quando altri approcci falliscono.


Linux
  1. Creazione, eliminazione e gestione di directory su Linux

  2. Linux:eliminare in modo efficiente una directory di grandi dimensioni contenente migliaia di file?

  3. Messaggio SOAP non riuscito durante la creazione del dominio

  4. Comando di spostamento della directory di Linux

  5. Directory JAVA_HOME in Linux

Comando Cd in Linux (Cambia directory)

Du comando in Linux

Comando Wall in Linux

Comando mv in Linux

Come copiare la directory su Linux

Linux:aggiungi una directory a PATH