Dobře, konečně jsem problémy vyřešil. Bylo to kvůli chybám souborového systému, které způsobují ls
k nesprávnému zobrazení a k poruše jiných nástrojů.
Je mi líto, že název otázky je zavádějící (navzdory tomu, že v u/
je skutečně mnoho souborů , adresář není extrémně velký ).
Problém jsem vyřešil pomocí živého usb, protože poškozený souborový systém je /
. Opravou bylo jednoduše použití sudo fsck -cfk /dev/sda2
kde dev/sda2
je poškozený disk.
Pomocí rm
nemůžete odstranit velké množství souborů . Můžete to udělat buď
find u/ -type f -print0 | xargs -r -0 rm -f
tím smažete pouze soubory; pro smazání všeho použijte
find u/ -print0 | xargs -r -0 rm -rf
pravděpodobně můžete použít --delete
možnost find
, pokud jej váš systém má:
find u/ -type f --delete
nebo funky metoda s rsync
:
mkdir emptyfolder
rsync -r --delete emptyfolder/ u/
rsync
je mnohem rychlejší než rm
při mazání věcí, protože to obejde některé kontroly.
Můžete zkusit find /u -type f | while read f; do rm -f $f; done
Bude to chvíli trvat, ale může to fungovat. Z nějakého důvodu fungují smyčky v bash dobře, když jiné přístupy selžou.