मैं एक निर्देशिका के आकार की गणना कैसे कर सकता हूं?


181

डायरेक्टरी का आकार कैसे पता करें? जिसमें उपनिर्देशिका और फाइलें शामिल हैं।

जवाबों:


230
du -s directory_name

या मानव पठनीय उत्पादन प्राप्त करने के लिए:

du -sh directory_name

-sविकल्प है कि यह प्रत्येक उपनिर्देशिका के लिए आकार, केवल कुल आकार की सूची नहीं होगा का मतलब है।


7
वास्तव में duडिफ़ॉल्ट इकाई POSIX के अनुसार 512-बाइट ब्लॉक है, और लिनक्स पर किलोबाइट्स (जब तक कि पर्यावरण चर POSIXLY_CORRECTसेट नहीं किया जाता है) या साथ du -k
जिल्स

3
@ गिल्स: अच्छी पकड़। मैंने अपने उत्तर से "बाइट्स की संख्या" को हटा दिया है।
sepp2k

1
निर्धारित के रूप में काम किया
स्किडडन

1
अगर निर्देशिका बहुत बड़ी है और बहुत सारी उपनिर्देशिकाएँ हैं, तो बहुत समय लगता है ... लगभग 1 मिनट .. क्या यह सामान्य है? क्या आकार को अधिक तेज़ी से प्राप्त करने का एक तरीका है?
yeahman

2
मुझे अपने फ़ोल्डर "बैग" के आकार की गणना करने की आवश्यकता थी, du -sh bagपूरी तरह से काम किया!
एंटोनियो अल्मेडा

7

एक अलग पैकेज का उपयोग करते समय जैसे कि ncdu अच्छी तरह से काम कर सकती है, कई फ़ोल्डरों की समान तुलना कुछ हद तक की जा सकती है, बस डु को आकार देने के लिए फ़ोल्डर्स की एक सूची दे रही है। उदाहरण के लिए अपने सिस्टम पर शीर्ष-स्तरीय निर्देशिकाओं की तुलना करने के लिए ...

cd /    
sudo du -sh ./*

2
और अधिक सरलता से,du -sh /*
रोआमा

7

जीएनयू duएक -bविकल्प लेता है ।

देखें manपेज और infoपेज अधिक मदद के लिए:

-b, --bytesके बराबर है--apparent-size --block-size=1


1
du -csh

-c भव्य कुल का उत्पादन करता है


1
-cभावना के साथ एक साथ उपयोग करने के लिए नहीं है -s, है ना? -sकेवल निर्दिष्ट निर्देशिका का आकार प्रदर्शित करता है, यह निर्देशिका का कुल आकार है।
एंड्रियास स्टॉरविक स्ट्रोमैन

1

प्रयत्न, कोशिश

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

यह बड़ी निर्देशिकाओं का उपयोग करने में मदद करता है du -sh ./*


0

आप ls -ldh का उपयोग भी कर सकते हैं:

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

-l लंबी लिस्टिंग के लिए है; -d, dir की जानकारी प्रदर्शित करने के लिए है, dir की सामग्री के लिए नहीं, -h, huma पठनीय प्रारूप में आकार प्रदर्शित करने के लिए है।


4
यह सही नहीं है, पूछने वाला व्यक्ति स्पष्ट रूप से एक निर्देशिका के पदचिह्न की तलाश कर रहा है और यह डिस्क पर सामग्री है। @ sepp2k का उत्तर सही है।
blong

1
Ls-bigh कमांड केवल एक डायरेक्टरी की इनोड संरचना का आकार दिखाता है। मीट्रिक फ़ाइल नामों की सूचकांक तालिका के आकार का एक प्रतिबिंब है, लेकिन निर्देशिका के भीतर फ़ाइल सामग्री का वास्तविक आकार नहीं है।
लिबिनक्सीकोकाओ

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.