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.