Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Na výpočet celkovej veľkosti každého adresára by ste zvyčajne používali `du` (použitie disku). „Du` však neodmysliteľne„ prechádza “v zmysle návštevy každého adresára a tlaku jeho názvu a veľkosti osobitne. Uvádza veľkosť každého adresára, *vrátane jeho podadresárov *, ktoré sa jemne líši od prechodu, ktorý by výslovne uvádzal každý zoznam a jeho veľkosť nezávisle od jeho detí.
Takto môžete dosiahnuť priechod adresára, ktorý ukazuje celkovú veľkosť každého adresára:
Používanie `du` s` find`:
To kombinuje „Nájdite“ pre traveršu a „du“ pre výpočet veľkosti. `Nájsť 'uvádza každý adresár a` Xargs' dodáva tieto adresáre na `du`:
`` `Bash
nájsť. -Type d -print0 | xargs -0 -i {} du -sh {}
`` `
* `Nájdite. -Type d -print0`:Toto nájde všetky adresáre (`-type d`) počnúc súčasným adresárom (`. ") a vytlačí svoje mená oddelené nulovými znakmi (` -print0 "). Nulové znaky sú rozhodujúce pre manipuláciu s názvami súborov s priestormi alebo špeciálnymi znakmi.
* `xargs -0 -i {} du -sh {}`:To berie nulové názvy súborov z `find` a spustí` du -sh` na každej z nich. `-0` hovorí` xargs` očakávať vstup s null, `-i {}` sets `{}` ako zástupný symbol pre názov súboru, `du -sh` zobrazuje veľkosť vo formáte čitateľnej ľudskej čítaní (` -h`) a iba veľkosti súhrnu (nie veľkosť každého súboru vo vnútri) `-s`.
Toto je najbližšie, čo sa dostanete k prechodu, ktorý vám výslovne dáva veľkosť každého adresára. Samotný príkaz `du` nie je prísne traverzálny algoritmus, ale ak sa používa s` find`, kombinácia vykonáva požadovanú akciu.