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.