GNU/Linux >> Znalost Linux >  >> Linux

traversal failed:u:Špatná zpráva při mazání extrémně velkého adresáře v Linuxu

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.


Linux
  1. Linux – efektivně odstranit velký adresář obsahující tisíce souborů?

  2. Jak zkontrolovat neúspěšné nebo špatné pokusy o přihlášení v Linuxu

  3. Příkaz přesunutí adresáře pro Linux

  1. JAVA_HOME adresář v Linuxu

  2. Při instalaci Pillow na Alpine Linux neexistuje žádný takový soubor nebo adresář

  3. Jak automaticky spustit skript, když se v Linuxu změní obsah adresáře?

  1. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?

  2. Zpráva SOAP selhala při vytváření domény

  3. Jak identifikovat uživatele, který maže soubory z daného adresáře v Linuxu