du लिनक्स के साथ आने वाला एक कमांड लाइन टूल है जो डायरेक्टरी और फाइलों द्वारा उपयोग की गई डिस्क स्पेस की मात्रा की रिपोर्ट करता है। "डिस्क यूसेज" के लिए छोटा, du कमांड लाइन में डिस्क स्पेस का विश्लेषण करने के लिए प्राथमिक टूल है।
बेसिक उपयोग
du /path/to/directory
du कमांड को एक डायरेक्टरी के साथ चलाएं ताकि स्कैन की गई प्रत्येक डायरेक्टरी द्वारा ली गई डिस्क स्पेस का पूरा विश्लेषण देखा जा सके। प्रत्येक डायरेक्टरी को बारी-बारी से स्टैंडर्ड आउटपुट में सूचीबद्ध किया जाएगा, इसलिए बड़ी डायरेक्टरी या पूर्ण सिस्टम स्कैन दसियों हज़ार लाइनें उत्पन्न कर सकते हैं और काफी समय ले सकते हैं। परिणामस्वरूप, बेसिक du कमांड को आमतौर पर नीचे बताए गए फ्लैग के साथ पूरक किया जाता है। इनमें से किसी भी फ्लैग को किसी अन्य के साथ जोड़ा जा सकता है, हालांकि कुछ संयोजन एक-दूसरे को बाहर करते हैं क्योंकि वे विरोधाभासी हैं।
आउटपुट नियंत्रित करना
du -c
du आउटपुट के नीचे एक लाइन दिखाता है जो स्कैन की गई डायरेक्टरी द्वारा उपयोग की गई कुल डिस्क स्पेस की मात्रा को इंगित करता है।
du -s
निर्दिष्ट डायरेक्टरी द्वारा उपयोग की गई कुल डिस्क स्पेस का केवल सारांश दिखाता है। सारांश गणना होने तक कोई आउटपुट नहीं दिखाया जाएगा।
du > du-report.txt
कमांड लाइन प्रो इस कमांड को पहचानेंगे, लेकिन हर कोई प्रो नहीं है। यह कमांड के परिणामों को वर्तमान कार्य निर्देशिका में "du-report.txt" नाम की एक टेक्स्ट फाइल में आउटपुट करेगा।
du | less
less टेक्स्ट एडिटर पर डिस्प्ले को पाइप करता है, एक अधिक आसानी से पढ़ने योग्य परिणाम बनाता है जिसे less नेविगेशन शॉर्टकट के साथ स्किम किया जा सकता है।
आकार प्रदर्शन बदलना
ध्यान दें कि जब विशिष्ट यूनिट घोषित की जाती हैं तो फाइल आकार आमतौर पर राउंड हो जाते हैं। उदाहरण के लिए, यदि -m फ्लैग कहा जाता है तो एक 4KB फाइल को शून्य मेगाबाइट लेते हुए दिखाया जाएगा, जबकि एक 750KB फाइल को 1MB दिखाया जाएगा।
du -h
मानक ब्लॉक आकार के बजाय किलोबाइट, मेगाबाइट, और गीगाबाइट जैसे उपयुक्त आकारों के साथ "मानव पठनीय" प्रारूप में प्रदर्शित करें।
du -k
ब्लॉक काउंट को 1024-बाइट (1 किलोबाइट) ब्लॉक में प्रदर्शित करें।
du -m
ब्लॉक काउंट को 1,048,576-बाइट (1 मेगाबाइट) ब्लॉक में प्रदर्शित करें।
du -g
ब्लॉक काउंट को 1,073,741,824-बाइट (1 गीगाबाइट) ब्लॉक में प्रदर्शित करें।
फाइलों और लिंक को शामिल करना
du -L
कमांड लाइन और फाइल पदानुक्रम में सिम्बोलिक लिंक का पालन करें (या "डीरेफरेंस" करें)। अन्यथा, सिम्बोलिक लिंक द्वारा इंगित डायरेक्टरी ट्री के बजाय सिम्बोलिक लिंक द्वारा ली गई स्पेस की रिपोर्ट की जाएगी (आमतौर पर फाइल सिस्टम न्यूनतम)।
du -a
सिर्फ डायरेक्टरी ही नहीं, सभी फाइलों के लिए डिस्क उपयोग दिखाएं।
du /path/to/file.txt
कमांड में नामित एक विशिष्ट फाइल का डिस्क उपयोग प्रदर्शित करें।
फाइलों, डायरेक्टरी और लिंक को बाहर करना
du -X FILE
निर्दिष्ट स्ट्रिंग में किसी भी पैटर्न से मेल खाने वाली फाइलों को बाहर करें।
du --exclude="*.o"
पैटर्न द्वारा निर्दिष्ट फाइलों और सबडायरेक्टरी को बाहर करें। इस उदाहरण में "*.o" स्ट्रिंग वाली सभी डायरेक्टरी को छोड़ दिया जाएगा। ध्यान दें कि ये शेल पैटर्न हैं, रेगुलर एक्सप्रेशन नहीं। जैसे, कंट्रोल कैरेक्टर *, जो शून्य या अधिक कैरेक्टर के किसी भी स्ट्रिंग से मेल खाता है, और ?, जो किसी एक कैरेक्टर से मेल खाता है, तक सीमित हैं। यह इन फाइलों को डायरेक्टरी आकार की गणना से बाहर करेगा। यदि -a फ्लैग का उपयोग किया जाता है, तो बाहर की गई फाइलों को परिणामी आउटपुट में छोड़ दिया जाएगा।
du --threshold=SIZE
यदि पॉजिटिव है तो SIZE से छोटी एंट्री को बाहर करें, या यदि नेगेटिव है तो SIZE से बड़ी एंट्री को बाहर करें। SIZE एक पूर्णांक है और एक (वैकल्पिक) यूनिट लेता है। उदाहरण के लिए, --threshold=1MB 1 मेगाबाइट (1000^2 बाइट्स) से छोटी सभी फाइलों को छोड़ देगा। यूनिट में K, M, G, T, P, E, Z, Y शामिल हैं 1024 की शक्तियों के लिए (किबिबाइट, मेबिबाइट, गिबिबाइट, आदि) या KB, MB, GB, TB, ... अधिक मानकीकृत 1000 की शक्तियों के लिए (किलोबाइट, मेगाबाइट, गीगाबाइट, आदि)। यह आपके सिस्टम पर सबसे बड़ी फाइलों को ढूंढने के लिए du --threshold=1GB जैसी कमांड के साथ एक उपयोगी टूल हो सकता है।
du -d N
अधिकतम गहराई N फोल्डर पर सेट करें। यह फ्लैग कोई भी पॉजिटिव पूर्णांक ले सकता है। इस सेटिंग के साथ, du निर्दिष्ट डायरेक्टरी में दो सबडायरेक्टरी तक स्कैन करेगा। यदि आगे सबडायरेक्टरी मौजूद हैं, तो उन्हें व्यक्तिगत रूप से स्कैन नहीं किया जाएगा। बल्कि, उनका मान रिपोर्ट किए गए फोल्डर में शामिल किया जाएगा। ध्यान दें कि -d 0 -s फ्लैग के समान परिणाम रिपोर्ट करेगा।
उदाहरण के लिए, डायरेक्टरी पथ "dir1/dir2/dir3/dir4" पर विचार करें, जिसमें एक पैरेंट डायरेक्टरी और तीन सबडायरेक्टरी हैं। du -d 2 dir1 की du सेटिंग dir3 तक स्कैन करेगी। dir3 का आकार dir4 में फाइलों को शामिल करेगा, भले ही dir4 को अलग से सूचीबद्ध नहीं किया गया हो।
निष्कर्ष: du को पाइप करना
du कमांड अन्य यूटिलिटी के साथ जोड़े जाने पर सबसे उपयोगी होता है, जैसे कमांड du -a / | sort -n -r | head -n 10। यह आपके संपूर्ण फाइल सिस्टम (du -a /) को खोजेगा, परिणामों को आकार के अनुसार सॉर्ट करेगा (sort -n -r), और फिर केवल शीर्ष दस परिणाम दिखाएगा (head -n 10)। यह अनिवार्य रूप से आपकी मशीन पर शीर्ष दस सबसे बड़ी फाइलों का शॉर्टकट है। पाइप के माध्यम से du को अन्य कमांड के साथ मिलाकर और भी उपयोगी परिणाम उत्पन्न करें।