ලිනක්ස් හි තැටි අවකාශය කොතැනට ගොස් ඇත්දැයි සොයා බැලීම?


576

ලිනක්ස් පද්ධති පරිපාලනය කරන විට, කොටසක් සම්පූර්ණ වූ පසු වැරදිකරු සොයා ගැනීමට මම බොහෝ විට වෙහෙසෙනවා. මම සාමාන්‍යයෙන් භාවිතා කරන du / | sort -nrනමුත් විශාල ගොනු පද්ධතියක ඕනෑම ප්‍රති results ලයක් ලබා දීමට බොහෝ කාලයක් ගතවේ.

එසේම, නරකම වැරදිකරු ඉස්මතු කිරීමට මෙය සාමාන්‍යයෙන් සාර්ථක වන නමුත් බොහෝ විට මම වඩාත් සියුම් අවස්ථාවන් duනොමැතිව sortයොමුවී ඇති අතර පසුව ප්‍රතිදානය හරහා ගමන් කිරීමට සිදුවිය.

මම පද්ධති කිහිපයක් පරිපාලනය කළ යුතු නිසාත්, නව මෘදුකාංග ස්ථාපනය කිරීමත් කරදරයක් වන බැවින් (විශේෂයෙන් තැටියේ ඉඩ නොමැති විට!) සම්මත ලිනක්ස් විධාන මත යැපෙන විධාන රේඛා විසඳුමකට මම කැමැත්තෙමි.


1
Post මෙහි ලිපි වැඩි දියුණු කිරීමට කාලය ගැනීම ගැන බාට් ස්තූතියි, නමුත් ටැග් එකතු කිරීමේදී තව ටිකක් සැලකිලිමත් වන ලෙස මම ඔබෙන් ඉල්ලා සිටිය හැකිද? ටැග් දෘශ්‍යතාව සඳහා නොවේ, ඔවුන් ප්‍රශ්නය විස්තර කරයි. තැටි ටැගය මෙහි නුසුදුසුය (එහි ටැග් විස්තරය බලන්න), මෙම යෝජිත සංස්කරණයේදී ඔබ එකතු කළ ටැග් දෙකක් වත් සුදුසු නොවේ (කාලි ඩේබියන් නොවේ, සහ පීපීඒ සම්බන්ධ නැත).
ස්ටීවන් කිට්

Answers:


697

ncduවිශිෂ්ට විධාන රේඛා තැටි භාවිත විශ්ලේෂකයක් උත්සාහ කරන්න :

රූප විස්තරය මෙහි ඇතුළත් කරන්න


15
සාමාන්‍යයෙන්, සරල ගැටළුවක් විසඳීම සඳහා යමක් ස්ථාපනය කිරීමට ඉල්ලා සිටීම මම පිළිකුල් කරමි, නමුත් මෙය විශිෂ්ටයි.
gwg

21
sudo apt install ncduඋබුන්ටු මත එය පහසුවෙන් ලබා ගනී. එය නියමයි
ඔරියන් එඩ්වර්ඩ්ස්

10
කුමන ගොනු පද්ධතිය අවකාශය අඩු දැයි ඔබ බොහෝ විට දනී. කුමන අවස්ථාවකදී ඔබට භාවිතා ncdu -xකළ හැක්කේ නාමාවලිය පරිලෝකනය කරන ලද එකම ගොනු පද්ධතියේ ගොනු සහ නාමාවලි පමණක් ගණනය කිරීමට ය.
ලූක්

11
හොඳම පිළිතුර. එසේම: sudo ncdu -rx /රූට් ඒරියා ඩ්‍රයිව් එකෙන් පමණක් විශාලතම ඩර්ස් / ෆයිල්ස් පිළිබඳ පිරිසිදු කියවීමක් ලබා දිය යුතුය. ( -r= කියවීමට පමණි, -x = එකම ගොනු පද්ධතියේ රැඳී සිටින්න (අර්ථය: වෙනත් ගොනු පද්ධති සවිකිරීම් හරහා
නොයන්න

8
මට ncdu ස්ථාපනය කළ නොහැකි තරම් ඉඩ ප්‍රමාණයක් ඇත
Chris

347

කෙලින්ම යන්න එපා du /. dfඔබට රිදවන කොටස සොයා ගැනීමට භාවිතා කරන්න , ඉන්පසු duවිධාන උත්සාහ කරන්න .

මම උත්සාහ කිරීමට කැමති එකක්

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

මන්ද එය ප්‍රමාණයන් "මිනිස් කියවිය හැකි ආකාරයෙන්" මුද්‍රණය කරන බැවිනි. ඔබට ඇත්ත වශයෙන්ම කුඩා කොටස් නොමැති නම්, ගිගාබයිට් වල ඇති නාමාවලි සඳහා අඹරීම ඔබට අවශ්‍ය දේ සඳහා හොඳ පෙරණයකි. මෙය ඔබට යම් කාලයක් ගතවනු ඇත, නමුත් ඔබ කෝටා සකසා නොමැති නම්, මම සිතන්නේ එය එසේ වනු ඇති බවයි.

Chajchavannes අදහස් දැක්වීමේදී පෙන්වා දෙන පරිදි, ඔබ ඕනෑවට වඩා ව්‍යාජ ධනාත්මක දේ සොයා ගන්නේ නම් ප්‍රකාශනය වඩාත් නිවැරදිව ලබා ගත හැකිය. මම එම යෝජනාව ඇතුළත් කළ අතර එය වඩා හොඳ කරයි, නමුත් තවමත් ව්‍යාජ ධනාත්මක ප්‍රති are ල ඇත, එබැවින් වෙළඳ ගනුදෙනු පමණක් ඇත (සරල එක්ස්ප්‍රස්, නරක ප්‍රති results ල; වඩා සංකීර්ණ හා දිගු එක්ස්පර්, වඩා හොඳ ප්‍රති results ල). ඔබේ නිමැවුමේ කුඩා ඩිරෙක්ටරි ඕනෑ තරම් තිබේ නම්, ඒ අනුව ඔබේ රීජෙක්ස් සකසන්න. උදාහරණයක් වශයෙන්,

grep '^\s*[0-9\.]\+G'

ඊටත් වඩා නිවැරදියි (<1GB නාමාවලි ලැයිස්තුගත නොවේ).

ඔබ නම් කළ කෝටා ඇති, ඔබ භාවිතා කළ හැකිය

quota -v

තැටිය රඳවාගෙන සිටින පරිශීලකයින් සොයා ගැනීමට.


2
මෙය ඉතා ඉක්මන්, සරල හා ප්‍රායෝගිකයි
zzapper

26
grep '[0-9]G'ව්‍යාජ ධනාත්මක දෑ රාශියක් අඩංගු වූ අතර කිසිදු දශමයක් අතහැර දමා ඇත. මෙය මට වඩා හොඳින් ක්‍රියාත්මක විය:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
ඔබට ඇත්ත වශයෙන්ම විශාල නාමාවලි තිබේ නම්, ඔබට අවශ්‍ය [GT]වන්නේ නිකම්ම නොවේG
Vitruvius

1
ගොනු පද්ධතියේ සියලුම නාමාවලි (කම්මැලි) හරහා තැටි භාවිතය අඛණ්ඩව අධීක්ෂණය කරන මෙවලමක් තිබේද? වෙබ් යූඅයි වෙත විකාශනය කළ හැකි යමක් තිබේද? වඩාත් මෘදු-තාත්වික තොරතුරු.
CMCDragonkai

22
මම භාවිතා කිරීමට කැමතියිdu -h | sort -hr | head
augurar

110

පළමු බැල්ම සඳහා, “සාරාංශය” දැක්ම භාවිතා කරන්න du:

du -s /*

ප්‍රති is ලය වන්නේ එහි එක් එක් තර්කවල ප්‍රමාණය මුද්‍රණය කිරීමයි, එනම් ඉහත නඩුවේ සෑම මූල ෆෝල්ඩරයක්ම.

තවද, GNUdu සහ BSDdu යන දෙකම ගැඹුරින් සීමා කළ හැකිය ( නමුත් POSIX duහට එය කළ නොහැක! ):

  • GNU (ලිනක්ස්,…):

    du --max-depth 3
  • BSD (macOS,…):

    du -d 3
    

මෙය ප්‍රතිදාන සංදර්ශකය ගැඹුර 3 දක්වා සීමා කරනු ඇත. ගණනය කළ හා පෙන්වන ප්‍රමාණය තවමත් සම්පූර්ණ ගැඹුරෙහි එකතුව වේ. එසේ තිබියදීත්, දර්ශන ගැඹුර සීමා කිරීම ගණනය කිරීම වේගවත් කරයි.

තවත් ප්‍රයෝජනවත් විකල්පයක් නම් -h(GNU සහ BSD යන වචන දෙකෙහිම වචන, නමුත් නැවත වරක් POSIX මත පමණක් නොවේ du) “මිනිස් කියවිය හැකි” නිමැවුම් සඳහා (එනම් KiB, MiB ආදිය ).


23
උත්සාහ කිරීම ගැන duපැමිණිලි කරන්නේ නම් . -d--max-depth 5
ReactiveRaven

8
නියම පිළිතුරු. මට නිවැරදි බව පෙනේ. මම යෝජනා කරනවා du -hcd 1 /directory. -h මිනිස් කියවිය හැකි සඳහා, සී සඳහා සම්පූර්ණ හා ගැඹුර සඳහා ඩී.

මම භාවිතා කරමිdu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headපෙරීම සඳහා අවසරය ප්‍රතික්ෂේප කරන ලදි
srghma

53

ඔබට පහත විධානය භාවිතා කර ද ක්‍රියාත්මක කළ හැකිය du:

~# du -Pshx /* 2>/dev/null
  • මෙම -sඑක් එක් තර්කය සඳහා විකල්පය සාරාංශ හා ප්රදර්ශනය එකතුව.
  • h Mio, Gio, ආදිය මුද්‍රණය කරයි.
  • x = එක් ගොනු පද්ධතියක රැඳී සිටින්න (ඉතා ප්‍රයෝජනවත්).
  • P = සිම්ලින්ක් අනුගමනය නොකරන්න (උදාහරණයක් ලෙස ගොනු දෙවරක් ගණන් කිරීමට හේතු විය හැක).

ප්‍රවේශම් වන්න, /rootඩිරෙක්ටරිය පෙන්වන්නේ නැත, ~# du -Pshx /root 2>/dev/nullඑය ලබා ගැනීම සඳහා ඔබ ධාවනය කළ යුතුය (වරක්, මගේ /rootඩිරෙක්ටරිය පිරී ඇති බව පෙන්වා නොදී මම බොහෝ සෙයින් අරගල කළෙමි ).

සංස්කරණය කරන්න: නිවැරදි කරන ලද විකල්පය -P


2
du -Pshx .* * 2>/dev/null+ සැඟවුණු / පද්ධති නාමාවලි
මයිඛයිලෝ ඇඩමොවිච්

/root/ගැටළු නොමැතිව පෙන්වයි. එය පෙන්වන්නේ නැත්තේ ඇයි?
Atralb

27

ගොනු පද්ධතියේ විශාලතම ලිපිගොනු සොයා ගැනීම සැමවිටම බොහෝ කාලයක් ගතවනු ඇත. අර්ථ දැක්වීම අනුව ඔබට විශාල ගොනු සොයන සමස්ත ගොනු පද්ධතිය හරහා ගමන් කළ යුතුය. එකම විසඳුම වන්නේ ගොනුව නියමිත වේලාවට පෙර සූදානම් කර ගැනීම සඳහා ඔබේ සියලු පද්ධතිවල ක්‍රෝන් ජොබ් එකක් ධාවනය කිරීමයි.

තවත් දෙයක් නම්, ඩු හි x විකල්පය වෙනත් ගොනු පද්ධති වෙත සවිකිරීමේ ස්ථාන අනුගමනය කිරීමෙන් ඩු තබා ගැනීමට ප්‍රයෝජනවත් වේ. එනම්:

du -x [path]

මම සාමාන්‍යයෙන් ක්‍රියාත්මක කරන සම්පූර්ණ විධානය:

sudo du -xm / | sort -rn > usage.txt

මෙම -mඅදහස් මෙගාබයිට් ප්රතිඵල නැවත, සහ sort -rnපළමු ප්රතිඵල විශාලතම සංඛ්යාව නිරාකරණය කරනු ඇත. එවිට ඔබට සංස්කාරකයක use.txt විවෘත කළ හැකි අතර විශාලතම ෆෝල්ඩර (/ සිට ආරම්භ වේ) ඉහළින්ම ඇත.


3
-xධජය පෙන්වා දීමට ස්තූතියි !
SamB

1
"විශාලතම දේ සොයා ගැනීමට බොහෝ කාලයක් ගත වේ .." -> හොඳයි, එය රඳා පවතී, නමුත් එකඟ නොවීමට නැඹුරු වේ: ncduඅවම වශයෙන් ඉක්මන් duහෝ find(ගැඹුර සහ තර්ක මත පදනම්ව) වැනි උපයෝගිතා සමඟ එතරම් කාලයක් ගත නොවේ ..
bshea

මම මුල විය කැමති නැහැ පටන්, මම ගොනුව ලියා ඇති අනුවර්තනය වීමට ඇති:sudo du -xm / | sort -rn > ~/usage.txt
බෲනෝ

20

මම සැමවිටම භාවිතා කරමි du -sm * | sort -n, එමඟින් වර්තමාන වැඩ කරන නාමාවලියෙහි උප බහලුම් මෙබිබයිට් වලින් කොපමණ ප්‍රමාණයක් භාවිතා කරයිද යන්න වර්ග කළ ලැයිස්තුවක් ඔබට ලබා දේ.

වින්ඩර්ස්ටාට් වින්ඩෝස් හි කරන දේට සමාන වන “ප්‍රමාණ දර්ශන” මාදිලියක් ඇති කොන්කුවර් ද ඔබට උත්සාහ කළ හැකිය: එය ඔබගේ ඉඩෙන් වැඩි ප්‍රමාණයක් භාවිතා කරන්නේ කුමන ගොනු / නාමාවලි වලද යන්න නිරූපණය කරයි.

යාවත්කාලීන කිරීම: වඩාත් මෑත සංස්කරණ වලදී, ඔබට du -sh * | sort -hමිනිසාට කියවිය හැකි ලිපිගොනු පෙන්වන ඒවා භාවිතා කළ හැකිය . (K, M, G, ... සමඟ සංඛ්‍යා උපසර්ග වනු ඇත ...)

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


එය Konqueror 3.x පමණක් වුවද - ගොනු ප්‍රමාණයේ දර්ශනය තවමත් KDE4 වෙත ගෙන ගොස් නොමැත.

'ඩු-ෂ් * | sort -h 'මගේ ලිනක්ස් (සෙන්ටෝස් ඩිස්ට්‍රෝ) කොටුව මත හොඳින් ක්‍රියා කරයි. ස්තූතියි!
pahariayogi

19

වත්මන් නාමාවලියට පහළින් සිටින නරකම වැරදිකරුවන් 25 දෙනා සඳහා මම මෙය භාවිතා කරමි

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

කාලයත් සමඟ ප්‍රමාණයෙන් වැඩි වන බව පෙනෙන සැඟවුණු ෆෝල්ඩරයක් සොයා ගැනීමට මෙම විධානය උපක්‍රමයක් කළේය. ස්තූතියි!
thegreendroid

මෙය බයිට් වලින්ද?
පරිශීලක

පෙරනිමියෙන්, මගේ පද්ධතියේ, 'ඩු-එස්' මිනිස් කියවිය හැකි හොඳ ප්‍රතිදානයක් ලබා දෙයි. ඔබට කුඩා ලිපිගොනු සඳහා සරල බයිට් ගණනක් ලැබෙනු ඇත, පසුව විශාල ගොනු සඳහා 'KB' හෝ 'MB' උපසර්ගයක් සහිත අංකයක් ලැබේ.
serg10

මිනිස් කියවිය හැකි ප්‍රතිදානයක් ලබා ගැනීම සඳහා ඔබට ඩු-එස්එච් කළ හැකිය.
සිද්ධාර්ථ

Id සිද්ධාර්ථ ඔබ එකතු කළහොත් -h, එය sort -nrවිධානයේ බලපෑම වෙනස් කරනු ඇත - එයින් අදහස් කරන්නේ වර්ග කිරීම තවදුරටත් ක්‍රියාත්මක නොවනු ඇති අතර පසුව headවිධානය තවදුරටත් ක්‍රියාත්මක නොවනු ඇත
ක්ලෙයාර් මැක්‍රේ

14

කලින් සමාගමක අපි ක්‍රෝන් ජොබ් එකක් එක රැයකින් පවත්වා ගෙන ගිය අතර යම් ප්‍රමාණයකට වඩා වැඩි ලිපිගොනු හඳුනා ගත්තා, උදා

find / -size +10000k

ඔබ සොයන නාමාවලි පිළිබඳව වඩාත් තෝරා බේරා කටයුතු කිරීමට ඔබට අවශ්‍ය විය හැකි අතර, නොබැඳි ලෙස දුරස්ථව සවිකර ඇති ධාවක ගැන විමසිල්ලෙන් සිටින්න.


-x ඔබගේ සොයා ගැනීමේ විධානයෙහි ආරම්භක ස්ථානය හැර වෙනත් උපාංගවල ලිපිගොනු සොයාගත නොහැකි බව තහවුරු කර ගැනීමට ඔබට සොයා ගැනීමේ විකල්පය භාවිතා කළ හැකිය. මෙය දුරස්ථව සවිකර ඇති ධාවක ගැටළුව විසඳයි.
rjmunro

10

එක් විකල්පයක් වනුයේ ඔබේ du / sort විධානය ක්‍රෝන් ජොබ් එකක් ලෙස ක්‍රියාත්මක කිරීම සහ ගොනුවකට ප්‍රතිදානය කිරීමයි, එබැවින් ඔබට අවශ්‍ය විටෙක එය දැනටමත් තිබේ.


10

මම පාවිච්චි කරනවා

du -ch --max-depth=2 .

මගේ අවශ්‍යතාවන්ට සරිලන පරිදි උපරිම ගැඹුර වෙනස් කරමි. "C" විකල්පය ෆෝල්ඩර සඳහා එකතුව මුද්‍රණය කරන අතර "h" විකල්පය සුදුසු පරිදි K, M, හෝ G ප්‍රමාණයන් මුද්‍රණය කරයි. අනෙක් අය පවසා ඇති පරිදි, එය තවමත් සියලුම නාමාවලි පරිලෝකනය කරයි, නමුත් එය විශාල නාමාවලි සොයා ගැනීමට පහසු වන පරිදි ප්‍රතිදානය සීමා කරයි.


9

විධාන රේඛාව සඳහා මම සිතන්නේ du / sort ක්‍රමය හොඳම බවයි. ඔබ සේවාදායකයක නොමැති නම් ඔබ Baobab - තැටි භාවිත විශ්ලේෂකය දෙස බැලිය යුතුය . මෙම වැඩසටහන ක්‍රියාත්මක වීමට යම් කාලයක් ගතවනු ඇත, නමුත් ඔබට පැරණි ලිනක්ස් අයිඑස්ඕ ඇති තැනට ගැඹුරු, ගැඹුරට උප බහලුම පහසුවෙන් සොයාගත හැකිය.


2
SSH, FTP, SMB සහ WebDAV හරහා දුරස්ථ ෆෝල්ඩර ස්කෑන් කළ හැකිය.

මේක නියමයි. සමහර දේවල් දෘශ්‍යමාන කිරීම සඳහා GUI සමඟ වඩා හොඳින් ක්‍රියා කරයි, මෙය ඒවායින් එකකි! CrashPlan සඳහා කෙසේ හෝ මගේ සේවාදායකයේ X- සේවාදායකයක් අවශ්‍යය, එබැවින් එයද ක්‍රියාත්මක වේ.
කාල නියමය

9

මම දෙවෙනි තැනට යනවා xdiskusage. නමුත් මම සටහනට එක් කිරීමට යන්නේ එය සැබවින්ම ඩු ෆ්‍රොන්ටෙන්ඩ් එකක් වන අතර ගොනුවකින් ඩු ප්‍රතිදානය කියවිය හැකිය. එබැවින් ඔබට du -ax /home > ~/home-duඔබේ සේවාදායකය, scpගොනුව නැවත ධාවනය කර එය ප්‍රස්තාරිකව විශ්ලේෂණය කළ හැකිය. නැතහොත් එය ssh හරහා නල කරන්න.


6

ඩුගේ ප්‍රතිදානය සරල අමුතු පිටපතකට පෝෂණය කිරීමට උත්සාහ කරන්න, එය නාමාවලියෙහි ප්‍රමාණය යම් සීමාවකට වඩා විශාල දැයි පරීක්ෂා කරයි, එසේ නම් එය මුද්‍රණය කරයි. ඔබට තොරතුරු ලබා ගැනීමට පෙර මුළු ගසම ගමන් කරන තෙක් ඔබ බලා සිටිය යුතු නැත (එදිරිව වෙනත් බොහෝ පිළිතුරු).

උදාහරණයක් ලෙස, 500 MB ට වඩා පරිභෝජනය කරන ඕනෑම නාමාවලි පහත දැක්වේ.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

ඉහත කරුණු තව ටිකක් නැවත භාවිතා කළ හැකි කිරීම සඳහා, ඔබේ .bashrc හි ශ්‍රිතයක් නිර්වචනය කළ හැකිය (නැතහොත් ඔබට එය තනි පිටපතක් බවට පත් කළ හැකිය).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

එබැවින් dubig 200 ~/200 MB ට වඩා භාවිතා කරන නාමාවලි සඳහා නිවාස නාමාවලිය යටතේ (උපාංගයේ සිම්ලින්ක්ස් අනුගමනය නොකර) බලන්න.


ග්‍රෙප් හැක්ස් දුසිමක් වඩා ඉහළට ඔසවා තැබීම කණගාටුවට කරුණකි. අපොයි සහ du -kඩු කි.බ. ඒකක භාවිතා කරන බවට එය පරම ඔයගොල්ලන්ට
ndemou

-K ගැන හොඳ අදහසක්. සංස්කරණය කරන ලදි.
මාර්ක් බොර්ගර්ඩිං

ඊටත් වඩා සරල හා වඩා ශක්තිමත්: du -kx $2 | awk '$1>'$(($1*1024))(පෙරනිමි ක්‍රියාව print $0
අවදි කිරීමට

හොඳ කරුණ @ date_thompson_085. මා දන්නා (net / free-BSD & GNU) සියලුම සංස්කරණ සඳහා එය සත්‍යයකි. @ mark-borgerding එවිට මෙයින් අදහස් කරන්නේ ඔබට ඔබේ පළමු උදාහරණය සාධාරණ ලෙස සරල කළ හැකි බවයිdu -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding: ඔබට kBytes කිහිපයක් කොහේ හරි ඉතිරිව තිබේ නම් ඔබට du හි සම්පූර්ණ ප්‍රතිදානය මේ ආකාරයෙන් තබා ගත හැකිය du -kx / | tee /tmp/du.log | awk '$1 > 500000'. මෙය ඉතා ප්‍රයෝජනවත් වේ, මන්ද ඔබේ පළමු පෙරීම awk '$1 > 200000' /tmp/du.logsort -nr /tmp/du.log|less
less ල

4

ඩු (1) සඳහා චිත්‍රක විකල්පයක් ලෙස මම හොඳ පැරණි xdiskusage වලට කැමතියි .


ප්‍රශ්නයේ මෙම කොටස සැලකිල්ලට ගන්න: "එතැන් සිට සම්මත ලිනක්ස් විධාන මත රඳා පවතින විධාන රේඛා විසඳුමකට මම කැමතියි ..."
ndemou

4

දළ විශ්ලේෂණයක් ලබා ගැනීමට සහ එහි සිට පහළට සරඹ කිරීමට මම පහත සඳහන් දෑ භාවිතා කිරීමට කැමැත්තෙමි ...

cd /folder_to_check
du -shx */

මෙය GB, MB වැනි මානව කියවිය හැකි නිමැවුම් සමඟ ප්‍රති results ල පෙන්වනු ඇත. දුරස්ථ ගොනු පද්ධති හරහා ගමන් කිරීම ද එමඟින් වළක්වනු ඇත. මෙම -sෆොල්ඩරයක් වැඩි විස්තර කිරීමට උනන්දුවක් නම්, ඔබ තව දුරටත් පහත හිල් හැකි නිසා එක් එක් ෆෝල්ඩරය පමණක් සංදර්ශන සාරාංශයක් විකල්පය සොයාගෙන ඇත. මෙම විසඳුම මඟින් ෆෝල්ඩර පමණක් පෙන්වන බව මතක තබා ගන්න, එවිට ඔබට ලිපිගොනු අවශ්‍ය නම් තරු ලකුණු කිරීමෙන් පසු / ඉවත් කිරීමට ඔබට අවශ්‍ය වනු ඇත.


4

මෙහි සඳහන් කර නැති නමුත් මකාදැමූ / එල්ලෙන ලිපිගොනු සම්බන්ධයෙන්ද ඔබ පරීක්ෂා කළ යුතුය. මගේ ළඟ 5.9GB මකා දැමූ tmp ගොනුවක් තිබී ඇත.

/server/207100/how-can-i-find-phantom-storage-usage එම ගොනුවේ (ක්‍රෝන්) ක්‍රියාවලි හිමිකරු සොයා ගැනීමට මට උදව් කළ අතර පසුව මට /proc/{cron id}/fd/{file handle #}ගොනුව අඩු කර ගැනීමට හැකි විය . පැන යාමේ ආරම්භය ලබා ගැනීම සඳහා ප්‍රශ්නය, එය නිරාකරණය කර, පසුව අවකාශය පිරිසිදු කිරීම සඳහා ගොනුව ප්‍රතිරාවය කරන්න.


3

පර්යන්තයෙන් ඔබට ඩියුට්‍රි සමඟ තැටි භාවිතය පිළිබඳ දෘශ්‍ය නිරූපණයක් ලබා ගත හැකිය

එය ඉතා වේගවත් හා සැහැල්ලු ය

dutree

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

වෙබ් අඩවියේ ඇති සියලුම භාවිත විස්තර බලන්න


2

විධාන රේඛාව සඳහා ඩු (සහ එහි විකල්ප) හොඳම ක්‍රමය ලෙස පෙනේ. ඩිස්ක් හොග් පෙනෙන්නේ එය ක්‍රෝන් රැකියාවකින් ඩු / ඩීඑෆ් තොරතුරු භාවිතා කරන බවයි පීටර්ගේ යෝජනාව සරල හා හොඳම සංයෝජනය විය හැකිය.

( FileLight සහ KDirStat GUI සඳහා වඩාත් සුදුසු වේ.)


2

වැනි සම්මත මෙවලම් ඔබට භාවිතා කළ හැකිය find හා sortඔබේ තැටියේ ඉඩ භාවිතය විශ්ලේෂණය කිරීමට.

ලැයිස්තුව බහලුම් ඔවුන්ගේ ප්රමාණය අනුව පෙල:

find / -mount -type d -exec du -s "{}" \; | sort -n

ලැයිස්තුව ගොනු ඔවුන්ගේ ප්රමාණය අනුව පෙල:

find / -mount -printf "%k\t%p\n" | sort -n

1
විශාල ප්‍රමාණයේ පිළිවෙලට හඳුනා ගැනීම සඳහා මෙය හොඳම පිළිතුර ලෙස මට පෙනේ
විමල් ක්‍රිෂ්ණා

2

සමහර විට වටිනා බව සටහන් කිරීම mcබහලුම inodes ප්රමාණය (සාමාන්යයෙන් පෙරනිමියෙන් පෙන්වන්න විසින් (මධ්යම රාත්රියේ හමුදාපති කදිම පෙළ-මාදිලිය ගොනු කළමනාකරු) 4096) නමුත් සමඟCtrlSpace මෙනුව මෙවලම් හෝ ඔබ ඉඩ මානව කියවිය හැකි තෝරාගත් බහලුම විසින් අල්ලා බලන්න පුළුවන් ආකෘතිය (උදා: සමහරක් වැනි 103151M).

නිදසුනක් ලෙස, පහත පින්තූරයේ 2018 සහ 2017 වැනිලා ටෙක්ස් ලයිව් බෙදාහැරීම්වල සම්පූර්ණ ප්‍රමාණය පෙන්වන අතර, 2015 සහ 2016 අනුවාදයන් පෙන්වන්නේ ඉනෝඩයේ ප්‍රමාණය පමණි (නමුත් ඒවා ඇත්ත වශයෙන්ම 5 Gb ට ආසන්න වේ).

එනම්, CtrlSpaceඑකක් සඳහා එකක් කළ යුතුය, සත්‍ය නාමාවලි මට්ටම සඳහා පමණි, නමුත් ඔබ එය සමඟ සැරිසැරීමේදී එය ඉතා වේගවත් හා පහසුය, mcසමහර විට ඔබට අවශ්‍ය නොවනු ඇත ncdu(ඇත්ත වශයෙන්ම, මෙම අරමුණු සඳහා පමණක් වඩා හොඳය). එසේ නැත්නම්, ඔබ ද ක්රියාත්මක කළ හැකිය ncduසිට mc. mcවෙනත් පර්යන්තයකින් පිටවීම හෝ දියත් කිරීමකින් තොරව .

mwe


1

මුලදී මම ඩිරෙක්ටරි වල ප්‍රමාණය පරීක්ෂා කරමි.

du -sh /var/cache/*/

1

පසුගිය දින කිහිපය තුළ විශාල ලිපිගොනු එකතු කර ඇති බව ඔබ දන්නේ නම් (කියන්න, 3), එවිට ඔබට ls -ltraමෑතකදී එකතු කරන ලද ලිපිගොනු සොයා ගැනීමට " " සමඟ ඒකාබද්ධව සොයා ගැනීමේ විධානයක් භාවිතා කළ හැකිය :

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

මෙය ඔබට ලබා දෙන්නේ ගොනු (" -type f") මිස නාමාවලි නොවේ; පසුගිය දින 3 තුළ (" -mtime -3") වෙනස් කිරීමේ කාලය සහිත ලිපිගොනු සහ ls -lartසොයාගත් එක් එක් ගොනුවට (" -exec" කොටස) එරෙහිව " " ක්‍රියාත්මක කරන්න .


1

අසමාන තැටි අවකාශය භාවිතය අවබෝධ කර ගැනීම සඳහා බොහෝ විට මූල නාමාවලියෙන් ආරම්භ කර එහි විශාලතම දරුවන් හරහා ගමන් කිරීම ප්‍රයෝජනවත් වේ.

අපට මෙය කළ හැකිය

  • du හි ප්‍රතිදානය ගොනුවකට සුරකිමින්
  • ප්‍රති result ලය නැවත නැවත ලබා ගැනීම

එනම්:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

දැන් කියමු / usr ඉතා විශාල ලෙස පෙනේ

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

දැන් / usr / local සැක සහිත ලෙස විශාල නම්

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

සහ යනාදි...


1

100Mb ට වඩා විශාල ගොනු සොයා ගැනීමට මම මෙම විධානය භාවිතා කර ඇත:

find / -size +100M -exec ls -l {} \;

1

තවම මෙතන? නැත්නම් සමහර විට මෙම පිළිතුර ඉහළට ඔසවා ඇත ...

වෙනත් පිළිතුරු වල විස්තර කර ඇති විවිධ චිත්‍රක මෙවලම් තිබියදීත්, ඔබට අවකාශය නිදහස් කර ගත හැකි ආකාරය හඳුනා ගැනීමේ මූලික ගැටළුව විසඳීමට ඒවා බොහෝ දේ නොකරයි.

මම දැනට එම ගැටලුව පිළිබඳව පර්යේෂණ කරමින් සිටිමි අතර ප්‍රවේශවීමේ වේලාවන් සහ ප්‍රමාණයන් පිළිබඳව වාර්තා කරන . මට තවම එය සමඟ සෙල්ලම් කිරීමට අවස්ථාවක් ලැබී නැත - එය ලියා ඇත්තේ සයිමන් ටැතම් විසිනි (ඔබ පුට්ටි ගැන අසා ඇති) එබැවින් එය සංවේදී / විශ්වාසදායක විය හැකිය.

කෙසේ වෙතත්, මෙහි ලැයිස්තුගත කර ඇති සියලුම මෙවලම් මෙන්, එය ඉල්ලුම මත දත්ත රැස් කරයි. වේගවත්ම දෘඩාංගවල වඩාත්ම කාර්යක්ෂම කේතීකරණය පවා මිල්ට්-ටෙරාබයිට් ගොනු පද්ධතියක් ඇවිදීමට කාලය ගතවනු ඇත.


ඔබට GUI භාවිතා කළ නොහැකි නම් (ඔබ දුරස්ථ සේවාදායකයක සිටින ආකාරයට), ncdu -eහොඳින් ක්‍රියා කරයි. ප්රදර්ශනය, විවෘත භාවිතය වරක් mනම් Mසහ ප්රදර්ශනය කිරීමට ආකාරයක mtime වන විට, (වාඩිවුණා කුඩා) අතර ප්රතිශතයක් ප්රස්තාරය ඔබ ප්රමාණය පිළිබඳ අදහසක් ලබා ගැනීමට තවමත් පවතී.
සිතාරම්

"ඔබට GUI එකක් භාවිතා කළ නොහැකි නම් (ඔබ දුරස්ථ සේවාදායකයක සිටින ආකාරයට)," - දුරස්ථ සේවාදායකයක් ඔබට ගුයි භාවිතා කිරීම වළක්වන්නේ ඇයි?
symcbean

0

නරකම වැරදිකරු (ය) duමිනිස් කියවිය හැකි ස්වරූපයෙන් ප්‍රතිදානය නංවා egrepනිත්‍ය ප්‍රකාශනයකට ගැලපීම මට සාර්ථක විය.

උදාහරණයක් වශයෙන්:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

එමඟින් ඔබට මෙගා 500 හෝ ඊට වැඩි සියල්ල ආපසු ලබා දිය යුතුය.


අංක ගණිතමය මෙහෙයුම් සඳහා grep භාවිතා නොකරන්න - ඒ වෙනුවට awk භාවිතා කරන්න : du -k | awk '$1 > 500000'. පළමු උත්සාහයේදී තේරුම් ගැනීම, සංස්කරණය කිරීම සහ නිවැරදි කර ගැනීම වඩා පහසුය.
ndemou

0

ඔබට වේගය අවශ්‍ය නම්, ඔබට නිරීක්ෂණය කිරීමට අවශ්‍ය ගොනු පද්ධතිවල කෝටා සක්‍රීය කළ හැකිය (ඔබට කිසිදු පරිශීලකයෙකු සඳහා කෝටා සැකසිය යුතු නැත), සහ එක් එක් පරිශීලකයා භාවිතා කරන තැටි අවකාශය ලැයිස්තු ගත කිරීම සඳහා කෝටා විධානය භාවිතා කරන ස්ක්‍රිප්ට් එකක් භාවිතා කරන්න. උදාහරණයක් වශයෙන්:

quota -v $user | grep $filesystem | awk '{ print $2 }'

විශේෂිත ගොනු පද්ධතියේ පරිශීලකයා සඳහා බ්ලොක් වල තැටි භාවිතය ඔබට ලබා දෙනු ඇත. තත්පර කිහිපයකින් මේ ආකාරයෙන් භාවිතයන් පරීක්ෂා කිරීමට ඔබට හැකි විය යුතුය.

කෝටා සක්‍රිය කිරීම සඳහා ඔබේ / etc / fstab ගොනුවේ ඇති ගොනු පද්ධති විකල්පයන් සඳහා usrquota එක් කළ යුතු අතර පසුව නැවත පණගැන්විය යුතු අතර එමඟින් කෝටෑක් කැඳවීමට පෙර නිෂ්ක්‍රීය ගොනු පද්ධතියක් මත කෝටාචෙක් ධාවනය කළ හැකිය.


0

ඕනෑම තැටියක හෝ නාමාවලියක පිළිකා සොයා ගැනීම සඳහා ගැඹුරු නියැදි භාවිතා කරන ඉතා කුඩා යෙදුමක් මෙන්න. එය ඩිරෙක්ටරි ගස දෙවරක් ඇවිදින අතර, වරක් එය මැනීමටත්, දෙවන වරට ඩිරෙක්ටරිය යටතේ "අහඹු" බයිට් 20 ක් සඳහා මාර්ග මුද්‍රණය කිරීමටත් සිදුවේ.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

මගේ වැඩසටහන් ගොනු නාමාවලිය සඳහා ප්‍රතිදානය මේ ආකාරයට පෙනේ:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

එය මට පවසන්නේ නාමාවලිය 7.9gb වන අතර එයින්

  • ~ 15% ඉන්ටෙල් ෆෝට්රාන් සම්පාදකයා වෙත යයි
  • ~ 15% VS .NET 2003 වෙත යයි
  • ~ 20% VS 8 වෙත යයි

මේවායින් කිසිවක් මුදා හැරිය හැකිදැයි විමසීමට තරම් සරල ය.

එය ගොනු පද්ධතිය හරහා බෙදා හරින ගොනු වර්ග ගැන ද කියයි, නමුත් එකට ගත් විට අවකාශය ඉතිරි කිරීමේ අවස්ථාවක් නිරූපණය කරයි:

  • % 15% දළ වශයෙන් .cab සහ .MSI ගොනු වෙත යයි
  • ~ 10% දළ වශයෙන් පෙළ ලිපිගොනු ලොග් වීමට යයි

"ස්මාර්ට් ඩෙවිස්" සහ "සී" සහය (~ 15%) වැනි මට නොමැතිව කළ හැකි වෙනත් බොහෝ දේ එහි තිබේ.

එය රේඛීය කාලයක් ගත වේ, නමුත් එය බොහෝ විට කළ යුතු නොවේ.

එය සොයාගත් දේවල් සඳහා උදාහරණ:

  • බොහෝ සුරකින ලද කේත ගබඩාවල ඩීඑල්එල් වල උපස්ථ පිටපත්, සැබවින්ම සුරැකීමට අවශ්‍ය නොවේ
  • අපැහැදිලි නාමාවලියක් යටතේ සේවාදායකයේ යමෙකුගේ දෘ drive තැටියේ උපස්ථ පිටපතක්
  • විශාල තාවකාලික අන්තර්ජාල ලිපිගොනු
  • පුරාණ ලේඛනය සහ උපකාරක ලිපිගොනු දිගු කලක් අවශ්‍ය විය

0

මට සමාන ප්‍රශ්නයක් තිබුනි, නමුත් මෙම පිටුවේ පිළිතුරු ප්‍රමාණවත් නොවීය. පහත දැක්වෙන විධානය ලැයිස්තුගත කිරීම සඳහා වඩාත්ම ප්‍රයෝජනවත් බව මට පෙනී ගියේය:

du -a / | sort -n -r | head -n 20

ඒකෙන් මට ලොකුම වැරදිකරුවන් 20 දෙනා පෙන්වයි. කෙසේ වෙතත් මම මෙය ධාවනය කළද, එය සත්‍ය ගැටළුව මට නොපෙන්වයි, මන්ද මම දැනටමත් ගොනුව මකා දමා ඇත. අල්ලා ගැනීම යනු මකාදැමූ ලොග් ගොනුව යොමු කරමින් තවමත් ක්‍රියාත්මක වන ක්‍රියාවලියක් තිබීමයි ... එබැවින් මට එම ක්‍රියාවලිය මුලින්ම මරා දැමීමට සිදු විය.


හොඳ කරුණක් නමුත් මෙය අදහස් දැක්වීමක් මිස තනිවම පිළිතුරක් නොවිය යුතුය - මෙම ප්‍රශ්නයට බොහෝ පිළිතුරු වලින් පීඩා විඳිති
ndemou

0

ඔබට DiskReport.net භාවිතා කළ හැකියඔබගේ සියලුම තැටිවල මාර්ගගත වෙබ් වාර්තාවක් ජනනය කිරීමට .

බොහෝ ලකුණු සමඟ එය ඔබගේ සියලු ෆෝල්ඩර සඳහා ඉතිහාස ප්‍රස්ථාරයක් පෙන්වනු ඇත, වර්ධනය වී ඇති දේ සොයා ගැනීම පහසුය


මෙම මෙවලම "කොටසක් සම්පුර්ණ වූ පසු වැරදිකරුවාව සොයා ගැනීමට මම බොහෝ විට වෙහෙසෙනවා" සහ "සම්මත ලිනක්ස් විධානයන් මත රඳා පවතින විධාන රේඛා විසඳුමකට මම කැමතියි"
ndemou
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.