මෙහි පිළිතුරු රාශියක් ඇත, ඒවායින් බොහොමයක් අනුපිටපත් වේ. මම ප්රවණතා තුනක් දකිමි: දෙවන ඩු ඇමතුමකින් නල එළීම, සංකීර්ණ ෂෙල් / අව් කේත භාවිතා කිරීම සහ වෙනත් භාෂා භාවිතා කිරීම.
මෙන්න සෑම පද්ධතියකම ක්රියා කළ යුතු du සහ awk භාවිතා කරමින් POSIX- අනුකූල විසඳුමක් .
මම තරමක් වෙනස් ප්රවේශයක් ගෙන ඇති අතර, -x
අපි එකම ගොනු පද්ධතියේ රැඳී සිටින බව සහතික කිරීම සඳහා එකතු කරමි (මට මෙම මෙහෙයුම අවශ්ය වන්නේ මා තැටියේ ඉඩ ප්රමාණය අඩු වූ විට පමණි, එබැවින් මා මෙම එෆ්එස් ගස තුළ සවි කර ඇති හෝ ගෙන ගිය දේවල් ඉවත් කරන්නේ ඇයි? දෘශ්ය විග්රහ කිරීම පහසු කිරීම සඳහා නියත ඒකක පෙන්වීම. මෙම අවස්ථාවේ දී, මම සාමාන්යයෙන් වර්ග කිරීම නොකිරීමට තීරණය කරමි, එවිට මට ධූරාවලි ව්යුහය වඩා හොඳින් දැක ගත හැකිය.
sudo du -x | awk '
$1 > 2^20 { s=$1; $1=""; printf "%7sG%s\n", sprintf("%.2f",s/2^21), $0 }'
(මෙම ස්ථාවර ඒකක වන බැවින්, එවිට ඔබට ඇතුලත් කළ හැකි | sort -n
ඔබ ඇත්තටම අවශ්ය නම් ආකාරයක ed ප්රතිඵල.)
512MB ඉක්මවීමට අසමත් වූ (සමුච්චිත) අන්තර්ගතයන් ගිගාබයිට් වලින් පෙන්වන ඕනෑම නාමාවලියක් මෙය පෙරහන් කරයි. සුපුරුදු පරිදි, භාවිතා 512-බයිට වාරණ ප්රමාණය මෙහි dU (2 awk තත්ත්වය එසේ 20 කුට්ටි 512MB වන අතර එහි 2 21 භාජකය GB දක්වා ඒකක පරිවර්තනය - අපි භාවිතා කළ හැකි du -kx
සමග $1 > 512*1024
සහ s/1024^2
තවත් මානව කියවිය හැකි විය). අවුල් තත්වයේ ඇතුළත, අපි s
ප්රමාණයට සකසා ඇති බැවින් අපට එය ( $0
) රේඛාවෙන් ඉවත් කළ හැකිය . මෙය පරිසීමකය රඳවා ගනී (එය තනි අවකාශයකට කඩා වැටේ), එබැවින් අවසාන කොටස %s
අවකාශයක් නිරූපණය කරන අතර පසුව සමස්ත නාමාවලියෙහි නම වේ. %7s
වටකුරු %.2f
GB ප්රමාණය %8s
පෙළගස්වයි ( ඔබට> 10TB තිබේ නම් වැඩි කරන්න ).
මෙහි ඇති බොහෝ විසඳුම් මෙන් නොව, මෙය නිසි ලෙස ඔවුන්ගේ නම් වල ඇති අවකාශ සහිත ඩිරෙක්ටරි සඳහා සහය දක්වයි ( මෙය ඇතුළුව සෑම විසඳුමක්ම රේඛා බිඳීම් අඩංගු නාමාවලි නාමයන් වැරදි ලෙස හසුරුවනු ඇත).