निर्देशिका में संग्रहीत राशि को कैसे पुन: प्राप्त करें?


136

मैं जानता हूँ कि आप एक फ़ाइल के बाइट आकार को देखने के लिए जब आप के साथ एक लंबी सूची कर पा रहे हैं llया ls -l। लेकिन मैं यह जानना चाहता हूं कि एक डायरेक्टरी में कितना स्टोरेज है, जिसमें उस डायरेक्टरी के अंदर मौजूद फाइल्स और सब-डिडेलेक्टरीज आदि हैं, मैं फाइलों की संख्या नहीं चाहता, बल्कि उन फाइल्स को स्टोर करने की मात्रा बढ़ जाती है।

इसलिए मैं जानना चाहता हूं कि एक निश्चित निर्देशिका में कितना संग्रहण पुनरावर्ती है? मैं अनुमान लगा रहा हूं, अगर कोई आदेश है, कि यह बाइट्स में होगा।

जवाबों:


146

ऐसा करने का प्रयास करें:

du -s dir

या

du -sh dir

-hसमर्थन की जरूरत है , आपके ओएस पर निर्भर करता है।

देख

man du

2
जोड़ने -bमें बाइट्स उत्पादन के लिए
pcnate

4
- सभी फाइलों को सूचीबद्ध करें और -h मानव पठनीय प्रारूप du -h में फ़ाइल का आकार दिखाता है --all
प्रणीत

29

तुम बस करो:

du -sh /path/to/directory

जहां -sके लिए है सारांश और -hके लिए मानव पठनीय ( गैर मानक विकल्प)।

हालांकि, सावधान रहें , इसके विपरीत ls, यह आपको फ़ाइल का आकार नहीं दिखाएगा , लेकिन डिस्क का उपयोग (अर्थात एक फ़ाइल सिस्टम ब्लॉक का एक आकार), लेकिन फ़ाइल छोटी या बड़ी हो सकती है, इसलिए आप --apparent-sizeविकल्प का उपयोग कर सकते हैं :

du -sh --apparent-size /path/to/directory

यह वह आकार है जिसे यदि आपको करना है तो नेटवर्क पर स्थानांतरित किया जाएगा।

वास्तव में, फ़ाइल में "छेद" हो सकता है (खाली शेल), फाइलसिस्टम ब्लॉक-आकार से छोटा हो सकता है, फाइल सिस्टम स्तर पर संकुचित हो सकता है, आदि। मैन पेज यह बताता है

जैसा कि निकलस बताते हैं , आप ncduडिस्क उपयोग विश्लेषक का उपयोग भी कर सकते हैं । एक निर्देशिका के भीतर से लॉन्च किया गया, यह आपको दिखाएगा कि कौन सी फ़ोल्डर और फाइलें डिस्क स्पेस का उपयोग करके उन्हें सबसे बड़ी से छोटी तक ऑर्डर करती हैं।

आप इस प्रश्न को भी देख सकते हैं ।


19

ध्यान दें कि यदि आप एक निर्देशिका के अंदर सभी {उप} फ़ोल्डरों आकार जानना चाहता हूँ, आप भी उपयोग कर सकते हैं -dया --max-depthकरने का विकल्प du(जो एक तर्क ले: पुनरावर्ती सीमा)

उदाहरण के लिए :

du -h /path/to/directory -d 1

आपको कुछ ऐसा दिखाएगा

4.0K /path/to/directory/folder1
16M  /path/to/directory/folder2
2.4G /path/to/directory/folder3
68M  /path/to/directory/folder4
8G   /path/to/directory/folder5

पुनश्च: 0पुनरावर्ती सीमा के रूप में प्रवेश करना -sविकल्प के बराबर है । वे 2 आदेश आपको एक ही परिणाम देंगे (आपकी दी गई निर्देशिका पुनरावर्ती मानव पठनीय आकार):

du -h /path/to/directory -d 0
du -sh /path/to/directory

-d 1निर्देशिका पथ से पहले होने की जरूरत है
अभिनव सिंगी

आवश्यकताओं? यह ubuntu / debian पर निर्देशिका पथ के बाद मेरे लिए काम करता है। हालाँकि यह पहले है, लेकिन मैं सहमत हूँ
फ़्लो शिल्ड

14

पहले से उल्लिखित duकमांड का एक विकल्प होगा ncduजो टर्मिनल में उपयोग के लिए एक अच्छा डिस्क उपयोग विश्लेषक है। आपको इसे पहले स्थापित करने की आवश्यकता हो सकती है, लेकिन यह अधिकांश पैकेज रिपॉजिटरी में उपलब्ध है।

संपादित करें: आउटपुट स्वरूप के लिए ये स्क्रीनशॉट http://dev.yorhel.nl/ncdu/scr देखें


चमत्कार! इसके साथ मैं देख सकता हूं कि कौन से फ़ोल्डर में डिस्क साइज़ स्टोरेज की अधिक मात्रा है। मैंने अपनी सभी फाइलें भी रहस्यमय तरीके से गायब कर दीं। महान उपकरण है।
फरान

11

यह आपको वर्तमान निर्देशिका से फ़ोल्डरों (पुनरावर्ती) और फ़ाइलों सहित आकारों की एक सूची देगा।

$ du -hs *
7.5M    Applications
9.7M    Desktop
 85M    Documents
 16K    Downloads
 12G    Google Drive
 52G    Library
342M    Movies
8.3M    Music
780M    Pictures
8.5G    Projects
8.0K    Public
 16K    client1.txt

3
to order by size: डुहते * | सॉर्ट -हॉर्स
कैसर

3

यूनिक्स में, एक डायरेक्टरी में फाइलसिस्टम ऑब्जेक्ट्स (इनोड्स, जो निर्देशिकाओं, फाइलों या कुछ अन्य विदेशी संदर्भों को संदर्भित कर सकते हैं) के नाम और संदर्भ होते हैं। एक फ़ाइल एक ही निर्देशिका में कई नामों के तहत दिखाई दे सकती है, या कई निर्देशिकाओं में सूचीबद्ध हो सकती है। इसलिए "डायरेक्टरी और फाइल्स द्वारा उपयोग की जाने वाली जगह" वास्तव में कोई मतलब नहीं रखती है, क्योंकि फाइलें "अंदर" नहीं होती हैं।

उस ने कहा, कमांड du(1)एक निर्देशिका द्वारा उपयोग किए जाने वाले स्थान को सूचीबद्ध करता है और इसके माध्यम से जो कुछ भी पहुंचता है, du -sवह एक सारांश देता है, -hकुछ कार्यान्वयन के साथ जैसे कि GNU du"मानव पठनीय" आउटपुट (यानी किलोबाइट, मेगाबाइट) देता है।


1

मेरे लिए यह एक ओएस एक्स एल कैपिटान पर गहराई और पथ के मामले में पीछे की ओर काम करता है

du -h -d 1 /path/to/directory

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