सवाल टर्मिनल के साथ वर्तमान फ़ोल्डर फ़ोल्डर के आकार सूचीबद्ध करें?


मैं वर्तमान निर्देशिका से फ़ोल्डर की एक सूची या एक जिसे मैं उनके आकार के साथ निर्दिष्ट करना चाहता हूं।

मैंने du के साथ प्रयास किया है, लेकिन मुझे केवल उन निर्देशिकाओं का आकार मिलता है जिन्हें मैं निर्दिष्ट करता हूं (du। ./F1), और ls फ़ोल्डरों का आकार नहीं दिखाता है।

मैं बिना किसी स्क्रिप्टिंग के ऐसा कैसे करूं?


108
2017-08-03 17:58


मूल


एक झटका की तरह आवाज नहीं, लेकिन 'आदमी du';) - Jakub
धन्यवाद ;-) लेकिन मैंने पहले ही कोशिश की है और कुछ भी नहीं मिला। और गूगलिंग डु का प्रयास करें! - kevin


जवाब:


यदि आप वर्तमान निर्देशिका में सभी निर्देशिकाएं दिखाना चाहते हैं:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

उन्हें किसी अन्य निर्देशिका से शुरू करने के लिए:

$ du -sh /path/to/dir/*/
48K     /path/to/dir/dir1/
4.0K    /path/to/dir/dir2/
6.7M    /path/to/dir/dir3/
20K     /path/to/dir/dir4/
8.0K    /path/to/dir/dir5/
44K     /path/to/dir/dir6/

यदि आप यह सुनिश्चित करना चाहते हैं कि डॉट से शुरू होने वाले नामों वाली निर्देशिकाएं शामिल हैं shopt -s dotglob प्रथम।


179
2017-08-03 18:29



सभी महान उत्तर धन्यवाद लेकिन यह सबसे सरल है। मैं अपने परीक्षणों में समाप्त / भूल गया। - kevin
कहां का मतलब संक्षेप में है, कुल प्रदर्शित करें और इसका अर्थ मानव पठनीय है - wranvaud
आकार के अनुसार फ़ोल्डरों को सॉर्ट करें: du -s */ | sort -n। - Anton Tarasenko
@AntonTarasenko: मानव पठनीय आकार क्रमबद्ध करें - Dennis Williamson
@AntonTarasenko: shopt -s dotglob  दस्तावेज़ - Dennis Williamson


मैक पर, - मैक्स-गहराई विकल्प-डी [गहराई] द्वारा आपूर्ति की जाती है। तो, अपने रूट ड्राइव प्लस 2 स्तरों की मानव पठनीय सूची को देखने के लिए निम्नलिखित का उपयोग करें:

du -hd 2 /* 

नोट: यह आदेश आपकी रूट से शीर्ष दो निर्देशिका स्तरों का खुलासा करेगा। इसमें आपके वॉल्यूम में एक स्तर को घुमाने में शामिल है, और आपके प्रत्येक संलग्न वॉल्यूम्स में प्रत्येक शीर्ष-स्तरीय निर्देशिका के सारांश आकार सूचीबद्ध करेगा। आपके द्वारा संलग्न किए गए कार्यों के आधार पर, इस आदेश को पूरा करने में कुछ समय लग सकता है।


16
2018-03-02 05:23





एक और अपवाद - मैक्स-गहराई विकल्प है।

du -h --max-depth=1 .

आकार के साथ मौजूदा फ़ोल्डर के तहत सभी निर्देशिकाओं और फ़ाइलों को सूचीबद्ध करेगा।

गहराई 2 फ़ोल्डर्स के एक और स्तर की सूची होगी।


12
2017-08-03 19:32



मैक पर, यह है du -hd 2 . गहराई के 2 स्तरों के लिए। - Ryan
आह येस। और शायद फ्रीबीएसडी पर भी। जानकारी के लिए धन्यवाद। - matthias krull


प्रयत्न:

$ du -s ./f1

या

$ du -sh ./f1

अधिक दोस्ताना पठनीय आकार के लिए।


5
2017-08-03 18:09





$ du --max-depth=1 /var/www/ | sort -n -r


2
2018-06-30 15:39



मौजूदा उत्तरों के साथ पुराने प्रश्न का उत्तर जोड़ते समय यह समझाने का अच्छा अभ्यास है कि आपका उत्तर अलग कैसे है और कुछ स्पष्टीकरण शामिल करें ताकि यह केवल आदेश का उत्तर न हो। - Jason Aller
क्या आप पैरामीटर क्या करते हैं इसकी व्याख्या करने के लिए अपने उत्तर का विस्तार कर सकते हैं? - fixer1234


उल्लेख करने के लायक है NCurses डिस्क उपयोग खोल कमांड

एनसीडीयू एक एनसीआरएस इंटरफेस के साथ एक डिस्क उपयोग विश्लेषक है। यह है   रिमोट सर्वर पर स्पेस होग्स खोजने के लिए डिज़ाइन किया गया है जहां आपके पास नहीं है   संपूर्ण ग्राफिकल सेटअप उपलब्ध है, लेकिन यह भी एक उपयोगी उपकरण है   नियमित डेस्कटॉप सिस्टम। एनसीडीयू का लक्ष्य तेजी से, सरल और उपयोग करने में आसान होना है,   और किसी भी न्यूनतम POSIX- जैसे वातावरण में चलाने में सक्षम होना चाहिए   ncurses स्थापित।


1
2018-06-12 12:26





यहां एक पॉज़िक्स स्क्रिप्ट है जो इसके साथ काम करेगी:

  • एक पंक्ति
  • फ़ाइलें
  • एक निर्देशिका
  • निर्देशिकाएँ
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

स्रोत


1
2018-03-27 23:47





स्वीकार्य उत्तर पर बिल्डिंग, यह आदेश आपको निर्देशिका में फ़ोल्डर्स के आकार दिखाएगा, तथा आसानी से व्याख्या करने के लिए उन्हें आकार के अनुसार भी सूचीबद्ध करेगा:

$ du -sh */ | sort -rn

1
2018-03-02 22:17





मैक पर, आप जीएनयू (लिनक्स) कार्यान्वयन को स्थापित कर सकते हैं du होमब्रू के साथ (brew install coreutils)। फिर उदाहरण के लिए:

gdu folder -shL --exclude=.git

कहा पे

  • gdu जीएनयू कार्यान्वयन के लिए दिया गया नाम है du (डिफ़ॉल्ट रूप से होमब्रू छुपा नहीं है /usr/bin/du);
  • s निर्दिष्ट फ़ोल्डर के लिए एक भव्य कुल उत्पादन करता है (अगर आप ब्रेकडाउन देखना चाहते हैं तो छोड़ दें);
  • h मानव पठनीय आकार outputs;
  • L symlinks का पालन करता है;
  • --exclude=.git निर्दिष्ट फ़ोल्डर के भीतर गिट निर्देशिका को बाहर करता है (यह सिर्फ एक उदाहरण है)।

आप जोड़कर अधिक फ़ोल्डरों को अनदेखा कर सकते हैं --exclude=blah। आप एक साथ कई फ़ोल्डर भी निर्दिष्ट कर सकते हैं (यानी gdu folder1 folder2 ...), और उस स्थिति में, आप विकल्प का उपयोग कर सभी उप-योगों को एक ही आकार में जोड़ सकते हैं c


0
2017-09-28 15:32