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.