एंड्रॉयड

लिनक्स में डायरेक्टरी का आकार कैसे प्राप्त करें

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

विषयसूची:

Anonim

ls कमांड का उपयोग करके किसी डायरेक्टरी की सामग्री को सूचीबद्ध करते समय, आपने देखा होगा कि डाइरेक्टरी का आकार लगभग हमेशा 4096 बाइट्स (4 KB) होता है। यह डिस्क पर अंतरिक्ष का आकार है जो निर्देशिका के लिए मेटा-जानकारी को संग्रहीत करने के लिए उपयोग किया जाता है, न कि इसमें क्या शामिल है।

किसी निर्देशिका के वास्तविक आकार को प्राप्त करने के लिए आप जिस कमांड का उपयोग करना चाहते हैं वह du , जो "डिस्क उपयोग" के लिए छोटा है।

एक निर्देशिका का आकार प्राप्त करना

du कमांड निर्दिष्ट फाइलों या निर्देशिकाओं द्वारा उपयोग किए जाने वाले फ़ाइल स्थान की मात्रा को प्रदर्शित करता है। यदि निर्दिष्ट पथ एक निर्देशिका है, तो du उस निर्देशिका में प्रत्येक उपनिर्देशिका के डिस्क उपयोग को सारांशित करता है। यदि कोई पथ निर्दिष्ट नहीं है, तो du वर्तमान कार्य निर्देशिका के डिस्क उपयोग की रिपोर्ट करता है।

जब बिना किसी विकल्प के आह्वान किया जाता है, तो du बाइट में दी गई डायरेक्टरी और उसके प्रत्येक उपनिर्देशिका के डिस्क उपयोग को प्रदर्शित करता है।

आमतौर पर, आप निर्देशिका द्वारा मानव-पठनीय प्रारूप में स्थान पर कब्जा करना चाहते हैं। उदाहरण के लिए, /var निर्देशिका का कुल आकार प्राप्त करने के लिए, आप निम्नलिखित कमांड चलाएँगे:

sudo du -sh /var

आउटपुट कुछ इस तरह दिखाई देगा:

85G /var

आइए कमांड और उसके तर्क समझाते हैं:

  • कमांड sudo साथ शुरू होता है क्योंकि /var निर्देशिका के अंदर अधिकांश फाइलें और निर्देशिका रूट उपयोगकर्ता के स्वामित्व में होती हैं और नियमित उपयोगकर्ताओं द्वारा पठनीय नहीं होती हैं। यदि आप sudo को sudo , तो du कमांड "du: प्रिंट नहीं कर सकता है डायरेक्टरी नहीं"। s - केवल निर्दिष्ट निर्देशिका का कुल आकार प्रदर्शित करें, उपनिर्देशिकाओं के लिए फ़ाइल आकार योग प्रदर्शित न करें। h - एक मानव पठनीय प्रारूप ( h ) में प्रिंट आकार। /var - उस निर्देशिका का पथ जिसे आप आकार प्राप्त करना चाहते हैं।

क्या होगा यदि आप प्रथम-स्तरीय उपनिर्देशिकाओं के डिस्क उपयोग को प्रदर्शित करना चाहते हैं? आपके पास दो विकल्प हैं। नीचे दिखाए गए अनुसार पहला तारांकन चिह्न ( * ) का उपयोग करना है, जिसका अर्थ है "जो कुछ भी एक अवधि (( . )) से शुरू नहीं होता है, उससे मेल खाता है . " -c विकल्प du को सभी आकारों का एक भव्य कुल प्रिंट करने के लिए कहता है।

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

प्रथम-स्तरीय उपनिर्देशिकाओं के डिस्क उपयोग के बारे में एक रिपोर्ट प्राप्त करने का दूसरा तरीका है --max-depth विकल्प का उपयोग करना:

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

डिफ़ॉल्ट रूप से, du कमांड निर्देशिका या फ़ाइल द्वारा उपयोग किए गए डिस्क स्थान को दिखाती है। किसी निर्देशिका के स्पष्ट आकार को खोजने के लिए, --apparent-size विकल्प का उपयोग करें। किसी फ़ाइल का "स्पष्ट आकार" वास्तव में फ़ाइल में कितना डेटा है।

sudo du -sh --apparent-size /var

जब आप किसी निर्देशिका को SCP, Rsync, या SFTP के माध्यम से हस्तांतरित करते हैं, तो नेटवर्क पर हस्तांतरित डेटा की मात्रा फ़ाइलों का स्पष्ट आकार है। यही कारण है कि du (बिना - --apparent-size ) के साथ प्रदर्शित होने पर स्रोत पर उपयोग किए जाने वाले डिस्क पर अंतरिक्ष का आकार लक्ष्य पर आकार के समान नहीं है।

du कमांड को अन्य कमांड के साथ पाइप के साथ भी जोड़ा जा सकता है।

उदाहरण के लिए, /var निर्देशिका के भीतर 5 सबसे बड़ी निर्देशिकाओं को प्रिंट करने के लिए, आप du के आउटपुट को sort कमांड को उनके आकार के अनुसार निर्देशिकाओं को क्रमबद्ध करने के लिए पाइप करेंगे और फिर आउटपुट को head कमांड पर पाइप करेंगे जो केवल शीर्ष 5 निर्देशिकाओं को प्रिंट करेगा।:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

निष्कर्ष

लिनक्स में, आप du कमांड का उपयोग करके डायरेक्टरी का आकार प्राप्त कर सकते हैं।

डु टर्मिनल डिस्क