डू का गलत उत्पादन?


12

मुझे लगता है कि मेरी डु कमांड भ्रमित है।

% du -shc DIR ...
...
6123941496      total

% du -shc DIR ...
...
6.1G    total

% du -sc --si DIR ...
...
6.6G    total

मैंने LANG=Cस्प्रेडशीट में परिणाम देने और दोबारा जांचने की कोशिश की है । ऐसा लगता है कि -h पहले से ही 1000 (--si) की शक्तियों का उपयोग कर आउटपुट देता है, और --si गलत उत्तर देता है। मुझे लगता है कि सही उत्तर -h के लिए 5.7-जी और 6.1 जी के लिए होना चाहिए। तो यहाँ क्या होता है?

% du --version
du (GNU coreutils) 8.20
...

% uname -a
Linux XXX 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux

3
कृपया वास्तविक आदेशों को शामिल करें। क्या ...प्रतिनिधित्व करते हैं? आपको लगता है कि एक ही कमांड को दो बार चलाया है और अलग-अलग आउटपुट प्राप्त किया है, क्या ऐसा है? क्या आपने आकार संशोधक की व्याख्या पढ़ी है man du?
terdon

जवाबों:


18

--apparent-sizeस्विच का उपयोग करके अपने परीक्षणों को दोहराएं ।

$ du -shc --apparent-size DIR ...

डु मैन पेज से अंश

--apparent-size
       print  apparent sizes, rather than disk usage; although the apparent size is
       usually smaller, it may be larger due to holes in (`sparse') files, internal 
       fragmentation, indirect blocks, and the like

1
आह, इसलिए जाहिरा तौर पर -b '--apparent-size --block-size = 1' के बराबर है। मैंने यह खो दिया। 'Du -shc --apparent-size' का प्रयोग अब सही ढंग से 5.7G देता है। धन्यवाद!
गेरी लुफ्वांस

@GerryLufwansa - हाँ जब आप अलग-अलग फाइल सिस्टम में मिश्रण करना शुरू करते हैं या CIFS माउंट करते हैं तो यह वास्तव में ध्यान देने योग्य हो जाता है। मैं हमेशा -bया तो उपयोग करता हूं --apparent-size
SLM

... और अंतर एचएसएम सिस्टम के साथ वास्तव में बहुत बड़ा हो सकता है, जहां माइग्रेट की गई फाइलें 0 (या कुछ केबी जैसी चीज) के बिना रिपोर्ट करती हैं --apparent-size
अंसगर एज़्टरमैन

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