जवाबों:
मेरे पास एक (csh) उपनाम "बड़ा" है जो मेरी वर्तमान निर्देशिका में 10 सबसे बड़ी फ़ाइलों को दिखाता है:
alias large "ls -l \!* |sort -k5 -rn |head -10"
डु के संस्करण के आधार पर, मुझे निम्नलिखित पसंद है:
du -ckhs *
यह वर्तमान निर्देशिका में केवल आइटमों के आकार (एक शीर्ष-स्तरीय केवल एक प्रकार की चीज़) को खींचता है (फ़ाइलों के आकार और बाल निर्देशिकाओं के आकार (प्रत्येक में सब कुछ सूचीबद्ध किए बिना))।
जैसा कि अराजकता ने कहा, आप -h के साथ चीजों को सही तरीके से दिखाने के लिए सॉर्ट नहीं कर सकते हैं, लेकिन यह बहुत अधिक विस्तार में जाने के बिना कम से कम आकार का एक अच्छा त्वरित अवलोकन देता है।
यह बल्कि लंबा कार्य मानव-पठनीय आकारों के साथ एक क्रमबद्ध सूची प्रदर्शित करेगा:
dus () { du -bh ${1:+$1/}* |
awk 'BEGIN {KMG="KMG"}
{printf "%s %08.2f %s\t%s\n",
index(KMG,substr($1,length($1))),
substr($1,0,length($1)-1),
substr($1,length($1)),$0}' |
sort -r |
cut -f 2-
}
जिसके बाद आप पाइप कर सकते हैं head:
dus | head
यह एक निर्देशिका को एक तर्क के रूप में स्वीकार करता है:
dus /usr/local
आमतौर पर मैं उपयोग करूंगा du -s * | sort -nr इसके लिए, और बड़े आकार के साथ निर्देशिकाओं में अपना काम करें। -s विकल्प यह बताता है कि वह पुनरावृत्ति के बजाय प्रत्येक आइटम के लिए कुल प्रदर्शित करता है।
उदाहरण के लिए:
bcl@fozzy:~$ du -s * | sort -nr
171900 wiki
169932 bb.mail.tar.bz2
112772 tmp
44416 d.mail.tar.bz2
4148 src
2012 public_html
880 Mail
144 sha-search
72 logs
20 tt.txt
16 Maildir
16 brianlane_html
12 Temporary Items
12 Network Trash Folder
8 calendar_html
4 wiki_html
4 procmail.bcl
4 id_rsa.pub
4 foo.sh
4 fetchmail.bcl
4 bb.procmailrc
0 time.out