ධාවකයක ඇති විශාලතම ලිපිගොනු මට පෙන්වන විධාන මාලාවක් සොයමින්.
ධාවකයක ඇති විශාලතම ලිපිගොනු මට පෙන්වන විධාන මාලාවක් සොයමින්.
Answers:
ඔබට විශාල ගොනු සොයා ගැනීමට අවශ්ය නම්, ඔබට විකල්පය find
සමඟ භාවිතා කළ -size
හැකිය. ඊළඟ විධානය මඟින් 10MiB ට වඩා විශාල ගොනු ලැයිස්තුගත කරනු ඇත ( 10MB සමඟ පටලවා නොගත යුතුය ):
find / -size +10M -ls
ඔබට යම් ප්රමාණයක් අතර ලිපිගොනු සොයා ගැනීමට අවශ්ය නම්, ඔබට එය "සෙවීමට වඩා අඩු" ප්රමාණයක් සමඟ ඒකාබද්ධ කළ හැකිය. ඊළඟ විධානය මඟින් 10MiB සහ 12MiB අතර ලිපිගොනු සොයා ගනී:
find / -size +10M -size -12M -ls
apt-cache search 'disk usage'
තැටි භාවිත විශ්ලේෂණය සඳහා ඇති සමහර වැඩසටහන් ලැයිස්තුගත කරයි. ඉතා හොඳ පෙනුමක් ඇති එක් යෙදුමක් gt5
.
ඇසුරුම් විස්තරයෙන්:
වසර ගණනාවක් ගෙවී ගොස් ඇති අතර තැටි විශාල හා විශාල වී ඇත, නමුත් මෙම ඇදහිය නොහැකි තරම් විශාල දෘඩ තැටි යුගයේ දී පවා කාලයත් සමඟ අවකාශය අතුරුදහන් වන බව පෙනේ. මෙම කුඩා හා programs ලදායී වැඩසටහන් පෙරනිමි ඩු (1) ට වඩා පහසු ලැයිස්තුගත කිරීමක් සපයයි. එය අවසන් ධාවනයේ සිට සිදුවී ඇති දේ පෙන්වන අතර dir ප්රමාණය සහ මුළු ප්රතිශතය පෙන්වයි. පෙළ පදනම් කරගත් බ්රව්සරය (සබැඳි, එලින්ක්ස්, ලින්ක්ස් ආදිය) සමඟ කර්සරය යතුරු භාවිතා කිරීමෙන් ඩිරෙක්ටරි වෙත සැරිසැරීමට සහ නැගීමට හැකිය.
වන "අදාළ වන පැකේජ" කොටස මත gt5 , මට ncdu
. එහි ඇසුරුම් විස්තරයෙන්:
Ncdu යනු ncurses මත පදනම් වූ du viewer ය. එය සුප්රසිද්ධ ඩු උපයෝගීතාව හරහා වේගවත් හා පහසුවෙන් භාවිතා කළ හැකි අතුරු මුහුණතක් සපයයි. එය නාමාවලි හරහා සැරිසැරීමට සහ ncurses පුස්තකාලය සමඟ තැටි භාවිතයේ ප්රතිශත පෙන්වීමට ඉඩ දෙයි.
මම භාවිතා කරන්නේ du
සහ sort
.
sudo du -sx /* 2>/dev/null | sort -n
0 /cdrom
0 /initrd.img
0 /lib64
0 /proc
0 /sys
0 /vmlinuz
4 /lost+found
4 /mnt
4 /nonexistent
4 /selinux
8 /export
36 /media
56 /scratchbox
200 /srv
804 /dev
4884 /root
8052 /bin
8600 /tmp
9136 /sbin
11888 /lib32
23100 /etc
66480 /boot
501072 /web
514516 /lib
984492 /opt
3503984 /var
7956192 /usr
74235656 /home
එවිට එය මෙයට පිළියමක් සහ නැවත නැවත සිදු කිරීමකි . ඔබ ඉතා විශාල යැයි සිතන උප බහලුම් ඉලක්ක කර, ඒවා සඳහා විධානය ක්රියාත්මක කර ගැටළුවට හේතුව කුමක්දැයි ඔබ සොයා ගනී.
සටහන: මම භාවිතා du
ගේ -x
එක් ගොනු පද්ධතිය සීමා දේවල් තබා ගැනීමට ධජය (මම SSD හා RAID5 අතර හරස් සවිකර දේවල් ඉතා සංකීර්ණ සැලැස්මක් තියෙනවා).
සටහන 2: 2>/dev/null
ඕනෑම දෝෂ පණිවිඩයක් අමතක කිරීමට හරවා යවයි. ඔවුන් ඔබට කරදර නොකරන්නේ නම් එය අනිවාර්ය නොවේ.
du
මිනිසා පිටුව: "ඇත්තෙන් වෙනසට භාජනය බහලුම් සඳහා, එක් එක් ගොනුව තැටි භාවිතය කෙටියෙන් කියන්න."
මගේ ප්රියතම විසඳුම මෙම හොඳ පිළිතුරු කිහිපයකින් මිශ්රණයක් භාවිතා කරයි.
du -aBM 2>/dev/null | sort -nr | head -n 50 | more
du
තර්ක:
-a
"සියලුම" ගොනු සහ නාමාවලි සඳහා. නාමාවලි සඳහා පමණක් තබන්න-BM
ප්රමාණයන් මෙගාබයිට් (එම්) බ්ලොක් ප්රමාණවලින් (බී) ප්රතිදානය කිරීමට2>/dev/null
- "අවසර ප්රතික්ෂේප කරන" දෝෂ පණිවිඩ බැහැර කරන්න (ස්තූතියි @ ඕලි)sort
තර්ක:
-n
"සංඛ්යාත්මක" සඳහා-r
"ආපසු හැරවීම" සඳහා (විශාලතම සිට කුඩාම දක්වා)head
තර්ක:
-n 50
ඉහළම ප්රති .ල 50 සඳහා.more
කුඩා අංකයක් භාවිතා කරන්නේ නම් ඉවත්ව යන්නසටහන: sudo
ඔබගේ ගිණුමට ප්රවේශ වීමට අවසර නොමැති නාමාවලි ඇතුළත් කිරීමට උපසර්ගය .
/ Var හි ඉහළම විශාලතම ලිපිගොනු සහ නාමාවලි 10 පෙන්වන උදාහරණය (මුළු එකතුව ඇතුළුව).
cd /var
sudo du -aBM 2>/dev/null | sort -nr | head -n 10
7555M .
6794M ./lib
5902M ./lib/mysql
3987M ./lib/mysql/my_database_dir
1825M ./lib/mysql/my_database_dir/a_big_table.ibd
997M ./lib/mysql/my_database_dir/another_big_table.ibd
657M ./log
629M ./log/apache2
587M ./log/apache2/ssl_access.log
273M ./cache
වත්මන් ෆෝල්ඩරයේ විශාලතම ඉහළම -20 නාමාවලි (පුනරාවර්තන ලෙස) පෙන්වීමට, පහත දැක්වෙන එක්-ලයිනර් භාවිතා කරන්න:
du -ah . | sort -rh | head -20
හෝ (වැඩි යුනික්ස් නැඹුරු):
du -a . | sort -rn | head -20
වත්මන් නාමාවලියෙහි ඉහළම -20 විශාලතම ගොනු සඳහා (පුනරාවර්තන ලෙස):
ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20
හෝ මිනිසුන්ට කියවිය හැකි ප්රමාණයන් සමඟ:
ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20
-h
එය GNU සඳහාsort
පමණක් ලබා ගත හැකි බව කරුණාවෙන් සලකන්න , එබැවින් එය OSX / BSD මත නිසියාකාරව ක්රියාත්මක වීමට නම්, ඔබ එය ස්ථාපනය කළ යුතුයcoreutils
. ඉන්පසු එහි ෆෝල්ඩරය ඔබේ තුළට එක් කරන්නPATH
.
එබැවින් මෙම අන්වර්ථ නාමයන් ඔබේ rc ලිපිගොනු වල තිබීම ප්රයෝජනවත් වේ (ඔබට අවශ්ය සෑම අවස්ථාවකම):
alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
qbi ගේ පිළිතුර නිවැරදි නමුත් ලිපිගොනු විශාල ප්රමාණයක් ඇති විට එය ඉතා මන්දගාමී වනු ඇත, මන්ද එය එක් එක් අයිතමය සඳහා නව ls ක්රියාවලියක් ආරම්භ කරනු ඇත.
ළමා ක්රියාදාමයන් නොමැතිව සොයා ගැනීම භාවිතා කිරීම වඩා වේගවත් අනුවාදයක් වනුයේ ප්රමාණය බයිට් (% s) සහ මාර්ගය (% p) මුද්රණය කිරීම සඳහා printf භාවිතා කිරීමයි.
find "$directory" -type f -printf "%s - %p\n" | sort -n | tail -n $num_entries
මෙය පරිපූර්ණ යෙදුම ලෙස පෙනේ find
:
find $DIRECTORY -type f -exec ls -s {} \; | sort -n | tail -n 5
මෙම විධානය මඟින් ඩිරෙක්ටරියේ ඇති සියලුම ගොනු සොයාගෙන ඒවා $DIRECTORY
ක්රියාත්මක ls -s
කරනු ඇත. අවසාන විධානය මඟින් ගොනුවක වෙන් කළ ප්රමාණය සහ ගොනු නාමය මුද්රණය කරයි. ප්රති result ලය සංඛ්යාත්මකව වර්ග කර ඇති අතර අවසාන ඇතුළත් කිරීම් පහ පෙන්වනු ලැබේ. එහි ප්රති result ලයක් ලෙස ඔබට විශාලතම ගොනු 5 $DIRETORY
හෝ ඕනෑම උප බහලුමක් පෙනෙනු ඇත . ඔබ ඇතුළු කළහොත් ඔබට tail -n 1
පෙනෙන්නේ විශාලතම ගොනුව පමණි.
තවද ඔබට බොහෝ දේ සමඟ සෙල්ලම් කළ හැකිය find
. උදාහරණයක් ලෙස ඔබට දින n ( -ctime -n
) ට වඩා අඩු හෝ විශේෂ පරිශීලකයින්ට ( -user johndoe
) අයත් ගොනු සෙවිය හැකිය .
Baobab උත්සාහ කරන්න, එය ඔබට ලිපිගොනු සහ ෆෝල්ඩර පිළිබඳ චිත්රමය දළ විශ්ලේෂණයක් ලබා දෙයි, සැබෑ අවකාශය කොතැනදැයි ඔබට දැකගත හැකි අතර එක ක්ලික් කිරීමකින් ඒවා මකා දැමිය හැකිය https://help.ubuntu.com/community/Baobab
එය පිළිතුරු දී නමෙන්ම විශාල, පරිශීලක හිතකාමී මෙවලමක් හා සමාන ප්රශ්නයක් වන්නේ NCurses Disk Usage
මෙවලමක්:
sudo ncdu /
ඔබට ගොනු ප්රමාණය අනුව වර්ග කළ හැකිය:
find . -type f -exec du -h {} \; | sort -k1 -h
එය ගොනු පමණක් සොයාගෙන du -h
සෑම ගොනුවක් සඳහාම ක්රියාත්මක කරයි , එය ගොනුවේ ප්රමාණය පෙන්වයි. අවසාන වශයෙන්, අපි පළමු තීරුවට අනුව find
/ ප්රතිදානය du
(මානව කියවිය හැකි ආකෘතියෙන්) වර්ග කරමු.
අවසන් වරට මුද්රණය කරන ලද ගොනුව විශාලතම එකකි.
නාමාවලි මඟ හැරීමේදී විශාලතම ලිපිගොනු බැලීමට ඔබට විධානය භාවිතා කළ හැකිය:
sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1
find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10
100MiB ට වඩා විශාල සියලුම ගොනු සොයා ගැනීමට (මෙය 100MB නොවේ, ඔබ ව්යාකූල නම් මෙහි බලන්න ):
find / -size +100M -ls
පහත විධානය මඟින් ෆෝල්ඩරයේ විශාලතම ගොනු 5 පෙන්වනු ඇත $DIRECTORY
:
find $DIRECTORY -type f -exec ls -s {} \; | sort -n | tail -n 5
භාවිතා කිරීම du
: ඩු භාවිතා කරන පහත විධානය, නිවසේ වැඩ කරන ෆෝල්ඩරයේ විශාලතම ප්රමාණ 20 සහිත නාමාවලි පෙන්වන්න:
sudo du -a /home | sort -n -r | head -n 20
දැන් උප ෆෝල්ඩර ඇතුළු විශාලතම නාමාවලි / ගොනු ප්රදර්ශනය කිරීම සඳහා, ධාවනය කරන්න:
du -Sh | sort -rh | head -n 10
භාවිතා කිරීම ls
:
/ Bin නාමාවලියෙහි ඇති විශාලතම විශාලතම ගොනු 5 ලැයිස්තුගත කිරීමට, පහත විධානය නිකුත් කරන්න:
ls -lSh /bin | head -5
ඔබ ද තැටි භාවිතය Analyzer හෝ භාවිතා කළ හැකිය Baobao පෙන්වා ඇති පරිදි මෙහි උදාහරණයක්.