du
ओएस एक्स में प्रयुक्त बीएसडी संस्करण 512-बाइट ब्लॉकों के साथ आकार की रिपोर्ट करता है - आकार अनिवार्य रूप से अगले 512-बाइट मान तक गोल होते हैं। यह आपको डिस्क पर जगह बताता है, जो डेटा की मात्रा से बड़ा है। यदि आपके पास बहुत सारी छोटी फाइलें हैं, तो अंतर बड़ा हो सकता है।
यहाँ एक उदाहरण है।
यह नियमित के साथ मूल्य है du
। यह 512-बाइट ब्लॉक में है:
$ du -s
248 .
-h
अधिक पठनीय संख्या में झंडा परिणाम, किलोबाइट में। जैसी कि उम्मीद थी, यह 512-बाइट ब्लॉक की आधी संख्या है:
$ du -hs
124K .
अंत में, आप उपयोग कर सकते हैं find
और awk
आप फ़ाइलों में वास्तविक बाइट्स की राशि देने के लिए। यह धीमा है, लेकिन यह काम करता है:
$ find . -type f -exec ls -l {} \; | awk '{sum += $5} END {print sum}'
60527
यह मान फाइंडर के गेट इन्फो विंडो द्वारा बताई गई संख्या से बिल्कुल मेल खाता है। (फ़ाइलों के इस सेट में कोई अजीब कांटे या xattrs नहीं हैं।) यह उनके द्वारा बताए गए मूल्य से काफी छोटा है du
।
यहां बताया गया है कि यह कैसे काम करता है: इसे सभी फाइलों की एक सूची मिलती है, और उन्हें पास किया जाता है ls -l
; तब awk
बाइट्स को गिनने के लिए उपयोग किया जाता है। -type f
ताकि केवल फ़ाइलें (और नहीं निर्देशिका) को भेजा झंडा है ls
। कि झंडा के बिना, यह भी निर्देशिका नाम पर भेज देंगे ls
निर्देशिका में एक आइटम के रूप में एक बार एक व्यक्ति फ़ाइल के रूप में, और एक बार:, और प्रत्येक फ़ाइल दो बार सूचीबद्ध किया जाएगा।
GNU संस्करण du
ब्लॉक के बजाय वास्तविक बाइट्स में मान दे सकता है। यह दुर्भाग्यपूर्ण है कि बीएसडी संस्करण du
उतना लचीला नहीं है।
-k
1K-byte के ब्लॉक आकार का उपयोग करने के लिए विकल्प का उपयोग कर सकते हैं