2010-08-17 19 views
5

में विशिष्ट फ़ाइलों की कुल स्थान खपत की गणना करें मेरे पास एक फ़ोल्डर है जिसमें .tcb और .tch फ़ाइलें हैं। मुझे यह जानने की ज़रूरत है कि सभी .tcb फ़ाइलों का आकार क्रमशः सभी .tch फ़ाइलों का है।यूनिक्स टर्मिनल

1) मैं एक अस्थायी फ़ोल्डर और फिर बनाया: मैं इस तरह किया

mv *tch temp 

2) और उसके बाद:

du -sk temp 

मैं इंटरनेट में आदेश मिल गया है और विकिपीडिया यह कहना है : "डु (डिस्क उपयोग से संक्षेप में) एक मानक यूनिक्स प्रोग्राम है जो फ़ाइल स्पेस उपयोग का आकलन करने के लिए प्रयोग किया जाता है"। मुझे लगता है कि इसका कारण यह है कि यह अनुमान है कि यदि लिंक हैं तो लिंक का आकार लिंक की गई फाइल के बजाय दिखाया जाएगा।

लेकिन अगर मैं अस्थायी फ़ोल्डर फ़ाइलों (जो सभी * .tch होता है) और फिर आकार जो टर्मिनल में प्रदर्शित किए जाते हैं योग में

ls -l 

करते हैं, मैं एक फ़ाइल आकार की है। वह मामला क्या है?

खैर राशि में, क्या मैं जरूरत है एक आदेश जो मुझे * का एक फ़ोल्डर में सभी .tch फ़ाइलों है, जो भी अन्य फ़ाइल प्रकार शामिल कर सकते हैं वास्तविक फ़ाइल आकार से पता चलता है।

मुझे उम्मीद है कि कोई भी मेरी मदद कर सकता है। आपका बहुत बहुत धन्यवाद!

उत्तर

10

आप du को -L विकल्प का उपयोग कर सकते हैं अगर आप सांकेतिक लिंक (उस लिंक लक्ष्य के आकार की गणना, है, लिंक के ही नहीं का पालन करना चाहते चाहते हैं)। अंत में ग्रैंड कुल प्रदर्शित करने के लिए आप -c विकल्प का भी उपयोग कर सकते हैं।

उन विकल्पों के साथ सशस्त्र, du -skLc *.tch आज़माएं।

du पर अधिक जानकारी के लिए, this manpage देखें।

+1

ध्यान दें कि यह आपको परिणाम की अपेक्षा नहीं दे सकता है यदि फ़ोल्डर में एक ही निर्देशिका में .tch फ़ाइल का लिंक होता है। उस फ़ाइल को दो बार गिना जाएगा: एक बार "वास्तविक" फ़ाइल के लिए और एक बार लिंक किए गए संस्करण के लिए। – bta

+0

फ़ोल्डर में कोई लिंक नहीं है इसलिए यह समाधान मुझे लगता है कि ऐसा करने के लिए लगता है। thx बीटीए – mkn

1

du के अपने संस्करण के लिए विशिष्ट मैन पेज को देखें क्योंकि वे कितनी भिन्नता में भिन्न होते हैं।

"लगभग" क्योंकि हो सकता है:

  1. ब्लाकों उपयोग किया गया या बाइट्स ब्लाकों के साथ सूचित किया जा सकता ओवर-बताते हुए फ़ाइल आकार कि ब्लॉक आकार की सटीक गुणकों नहीं हैं, लेकिन और अधिक सही प्रतिनिधित्व करता है "अंतरिक्ष का इस्तेमाल किया है कि मैं अन्य सामानों के लिए उपयोग नहीं कर सकता "
  2. यूनिक्स फ़ाइलों में लंबा रास्ता और लेखन करके" छेद "बनाया जा सकता है। ओएस वास्तव में छोड़े गए छेद के लिए जगह आवंटित नहीं करता है।
  3. प्रतीकात्मक लिंक वे वास्तविक फ़ाइल को संदर्भित कर सकते हैं या नहीं जिन्हें वे इंगित करते हैं।

तुम सिर्फ bytecount का उपयोग wc -c *.tcb