නාමාවලියක ප්‍රමාණය ගණනය කරන්නේ කෙසේද?


191

නාමාවලියක ප්‍රමාණය දැන ගන්නේ කෙසේද? උප බහලුම් සහ ගොනු ඇතුළුව.


Answers:


246
du -s directory_name

හෝ මිනිසාට කියවිය හැකි ප්‍රතිදානය ලබා ගැනීම සඳහා:

du -sh directory_name

මෙම -sඑය, එක් එක් උප බහලුම සඳහා ප්රමාණය පමණක් මුළු ප්රමාණය ලැයිස්තුගත නොවන බව විකල්පය මාධ්යයක්.


7
ඇත්ත වශයෙන්ම duපෙරනිමි ඒකකය POSIX ට අනුව බයිට් 512 ක් වන අතර ලිනක්ස් මත කිලෝබයිට් (පරිසර විචල්‍යය POSIXLY_CORRECTසකසා නොමැති නම් ) හෝ සමඟ du -k.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

3
Il ගිලස්: හොඳ ඇල්ලීම. මම මගේ පිළිතුරෙන් "බයිට් ගණන" ටිකක් ඉවත් කර ඇත.
sepp2k

1
නියමිත පරිදි වැඩ කරන ලදි
skidadon

1
නාමාවලිය ඉතා විශාල නම් සහ උප බහලුම් විශාල ප්‍රමාණයක් තිබේ නම්, එයට බොහෝ කාලයක් ගතවේ ... මිනිත්තු 1 කට ආසන්න කාලයක් .. එය සාමාන්‍ය දෙයක්ද? ප්‍රමාණය වේගයෙන් ලබා ගැනීමට ක්‍රමයක් තිබේද?
ඔව්

2
මගේ ෆෝල්ඩරයේ "බෑගය" ප්‍රමාණය ගණනය කිරීමට මට අවශ්‍ය විය du -sh bag.
ඇන්ටෝනියෝ අල්මේදා

7

Ncdu වැනි වෙනම පැකේජයක් භාවිතා කිරීම හොඳින් ක්‍රියාත්මක විය හැකි නමුත්, බොහෝ ෆෝල්ඩරවල සමාන සංසන්දනය යම් ප්‍රමාණයකට කළ හැකිය. උදාහරණයක් ලෙස ඔබේ පද්ධතියේ ඉහළ පෙළේ නාමාවලි සංසන්දනය කිරීමට ...

cd /    
sudo du -sh ./*

2
වඩාත් සරලව,du -sh /*
රෝයිමා


1
du -csh

-c විශාල එකතුවක් නිෂ්පාදනය කරයි


1
මෙම -cසමඟ එකට භාවිතා කිරීමට තේරුමක් නැත -sඅයිතිය? -sනිශ්චිත නාමාවලියෙහි ප්‍රමාණය පමණක් පෙන්වයි, එනම් නාමාවලියේ මුළු ප්‍රමාණයයි.
ඇන්ඩ්‍රියාස් ස්ටෝර්වික් ස්ට්‍රෝමන්

1

උත්සාහ කරන්න

du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr

මෙය විශාල ඩිරෙක්ටරි සොයා ගැනීමට උපකාරී වේ du -sh ./*


1

ඔබට වේක් පුස්තකාලයෙන් "file-size.sh" භාවිතා කළ හැකිය :

ls -ARgo "$@" | awk '{q += $3} END {print q}'

මෙය ඩු වලට වඩා නිවැරදි ගණනය කිරීමක් ලබා දෙයි. සර්වර් දෙකක ටාර්බෝල් එකක් ඉවත් කර "ඩු-එස්" (- බයිට් සමඟ හෝ නැතිව) භාවිතා කරන්න, එවිට ඔබට විවිධ එකතුවක් පෙනෙනු ඇත, නමුත් මෙම තාක්ෂණය භාවිතා කිරීමෙන් එකතුව ගැලපේ.
ඇන්ජලෝ බබුද්‍රෝ

1

du -hd1

සියලු නාමාවලිවල ප්‍රමාණයන් මිනිස් කියවිය හැකි ආකෘතියෙන් ලැයිස්තුගත කරනු ඇත, උදා

656K    ./rubberband
2.2M    ./lame
652K    ./pkg-config

0

ඔබට ls -ldh ද භාවිතා කළ හැකිය:

ls -ldh /etc drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc

-l දිගු ලැයිස්තුගත කිරීම සඳහා ය; -d යනු dir තොරතුරු ප්‍රදර්ශනය කිරීම සඳහා මිස dir හි අන්තර්ගතය නොවේ, -h යනු හූමා කියවිය හැකි ආකෘතියෙන් ප්‍රමාණය පෙන්වීම සඳහා ය.


4
මෙය නිවැරදි නොවේ, ඉල්ලන පුද්ගලයා පැහැදිලිවම නාමාවලියක අඩිපාර සොයමින් සිටින අතර එහි අන්තර්ගතය තැටියේ ඇත. pp sepp2k ගේ පිළිතුර නිවැරදි ය.
blong

1
Ls -ldh විධානය පෙන්වන්නේ නාමාවලියක ඉනෝඩ ව්‍යුහයේ ප්‍රමාණය පමණි. මෙට්‍රික් යනු ගොනු නාමවල දර්ශක වගුවේ ප්‍රමාණය පිළිබිඹු කිරීමකි, නමුත් නාමාවලිය තුළ ඇති ගොනු අන්තර්ගතයේ සත්‍ය ප්‍රමාණය නොවේ.
linbianxiaocao

0

මම සෑම විටම "ncdu" පැකේජය ස්ථාපනය කර සියලුම නාමාවලිවල ප්‍රතිදානය චිත්‍රක නිරූපණයෙන් දකිමි. මෙයට හේතුව, එක් ඩිරෙක්ටරියක් කොපමණ ප්‍රමාණයක් එකතු කළත්, මගේ යන්ත්‍රවල වැඩිපුරම තැටි අවකාශය ගන්නේ කුමක් දැයි දැන ගැනීමට මට අවශ්‍ය නිසාය.

භාවිතය: sudo ncdu /(ඔබට sudoකියවීමේ අවසරය ඇති ෆෝල්ඩර අවශ්‍ය නොවේ ).

සමස්ත ගොනු පද්ධතියේ තැටි භාවිත සංඛ්‍යාලේඛන පරිලෝකනය කිරීමට යම් කාලයක් ගතවනු ඇත. එය කදිම විධාන රේඛා චිත්‍රක නිරූපණයක් ඇති අතර ස්කෑන් කරන ලද මාර්ගයේ ගැඹුරට හෝ ඉහළට යෑම වැනි ඊතල යතුරු භාවිතා කරමින් යතුරුපුවරු සංචාලනය ඇතුළත් වේ. එබීමෙන් ඔබට අයිතම මකා දැමිය හැකිය D.


0

දැනටමත් හොඳම පිළිතුර ලබා දී ඇති බැවින් මම පහත විධානය සමඟ උත්සාහ කළෙමි

sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

ප්‍රතිදානය

 sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

679445

0

මුල් ප්‍රශ්නය ප්‍රමාණය විමසූ නමුත් එය තැටියේ ප්‍රමාණයද නැතිනම් සත්‍ය දත්ත ප්‍රමාණයද යන්න සඳහන් කර නැත.

'ඩු' ගණනය කිරීම එකම ගොනු පද්ධතියක් භාවිතා කරමින් එකම ප්‍රමාණයේ කොටස් ඇති සේවාදායකයන් අතර වෙනස් විය හැකි බව මම සොයා ගතිමි. ගොනු පද්ධති ලක්ෂණ වෙනස් නම් මෙය අර්ථවත් කරයි, නමුත් එසේ නොවන්නේ මන්දැයි මට සිතාගත නොහැක. ස්ටීවන් පෙන් විසින් ලබා දුන් 'ls | awk' පිළිතුර වඩාත් ස්ථාවර පිළිතුරක් ලබා දුන්නද, තවමත් විශාල ගොනු ලැයිස්තු සමඟ නොගැලපෙන ප්‍රති results ල ලබා දුන්නේය.

එක් සේවාදායකයක් එක්ස්එෆ්එස් භාවිතා කරන විටත්, තවත් සේවාදායකයක් EXT4 භාවිතා කරන විටත්, 'සොයා ගැනීම' භාවිතා කිරීම ලිපිගොනු 300,000+ සඳහා ස්ථාවර ප්‍රති results ල ලබා දී ඇත. එබැවින් ඔබට සියළුම ලිපිගොනු වල දත්ත බයිට් දැන ගැනීමට අවශ්‍ය නම් එය ලබා ගැනීමට මෙය හොඳ ක්‍රමයක් බව මම යෝජනා කරමි:

find /whatever/path -type f -printf "%s\n"|awk '{q+=$1} END {print q}'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.