Bien, finalmente resolví los problemas. Fue debido a los errores del sistema de archivos que causan ls mostrarse incorrectamente y otras utilidades funcionar mal.
Lamento que el título de la pregunta sea engañoso (a pesar de que hay muchos archivos dentro de u/ , el directorio no es extremadamente grande ).
Resolví el problema usando un usb en vivo ya que el sistema de archivos dañado es / . La solución fue simplemente aplicar sudo fsck -cfk /dev/sda2 donde dev/sda2 es el disco dañado.
No puede eliminar grandes cantidades de archivos usando rm . Puedes hacer
find u/ -type f -print0 | xargs -r -0 rm -f
esto eliminará solo archivos; para borrar todo, use
find u/ -print0 | xargs -r -0 rm -rf
probablemente puedas usar el --delete opción de find , si su sistema lo tiene:
find u/ -type f --delete
o el método funky con rsync :
mkdir emptyfolder
rsync -r --delete emptyfolder/ u/
rsync es mucho más rápido que rm al eliminar cosas, ya que omitirá algunos controles.
Puedes probar find /u -type f | while read f; do rm -f $f; done Esto tomará un tiempo pero podría funcionar. Por alguna razón, los bucles en bash funcionan bien cuando fallan otros enfoques.