रूट फाइलसिस्टम में सभी बड़ी फाइलें ढूंढना


124

मेरे पास एक लिनक्स सर्वर है, जो वर्तमान में अंतरिक्ष उपयोग से नीचे है:

/dev/sda3              20G   15G  4.2G  78% /
/dev/sda6              68G   42G   23G  65% /u01
/dev/sda2              30G  7.4G   21G  27% /opt
/dev/sda1              99M   19M   76M  20% /boot
tmpfs                  48G  8.2G   39G  18% /dev/shm

जैसा कि आप देख सकते हैं। /78% पर है। मैं जांचना चाहता हूं कि कौन सी फाइलें या फ़ोल्डर अंतरिक्ष की खपत कर रहे हैं।

मैंने यह कोशिश की:

find . -type d -size +100M

जो इस तरह से परिणाम दिखाता है:

./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar

अब यह मेरा मुद्दा है। मैं केवल उन फ़ाइलों का नाम चाहता हूं जो उन फ़ोल्डरों में स्थित हैं जो अंतरिक्ष में उपभोग कर रहे हैं या /नहीं । चूंकि सब कुछ का आधार है, यह मुझे मेरे सर्वर की हर फाइल दिखा रहा है।/u01/home/

क्या बड़ी फ़ाइलों को प्राप्त करना संभव है जो कि 78% योगदान दे रहा है /?


3
-xdevविधेय देखें । यह भी देखें du -kx / | xdu(या xdiskusage)।
स्टीफन चेजलस


1
प्रासंगिकfind . -type f -print | xargs du -sk | sort -rn
user13107

जवाबों:


216

प्रयत्न, कोशिश:

find / -xdev -type f -size +100M

यह उन सभी फाइलों को सूचीबद्ध करता है जिनका आकार 100M से बड़ा है।

यदि आप निर्देशिका के बारे में जानना चाहते हैं, तो आप कोशिश कर सकते हैं ncdu

यदि आप लिनक्स नहीं चला रहे हैं, तो आपको उपयोग करने की आवश्यकता हो सकती है -size +204800या -size +104857600c, जैसे Mकि मेगाबाइट का प्रत्यय POSIX में नहीं है।

find / -xdev -type f -size +102400000c

1
-xdevबस फाइल्स सिस्टम में घूमने से रोकता है, इसलिए आप केवल अपने वर्तमान भौतिक ड्राइव की खोज करेंगे। यदि वह नहीं है जो आप चाहते हैं, तो केवल -xdevarg हटा दें ।
हॉब्स

49

@Gnouc उत्तर के अलावा, आप ls -laअधिक विवरण प्राप्त करने के लिए भी जोड़ सकते हैं । आपको ऐसा करना चाहिए sudo privileges

$ find / -xdev -type f -size +100M -exec ls -la {} \; | sort -nk 5

केवल उन फ़ाइलों को देखने के लिए जो गीगाबाइट में हैं, करें:

root# du -ahx / | grep -E '\d+G\s+'


1.8G    /.Spotlight-V100/Store-V2/A960D58E-A644-4497-B3C1-866A529BF919
1.8G    /.Spotlight-V100/Store-V2

44

निम्न आदेश न केवल आपको अपने फाइल सिस्टम पर शीर्ष 50 सबसे बड़ी फाइलें (> 100M) मिल रहा है, बल्कि sortसबसे बड़ी:

find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50

-xdev अन्य filesystems पर निर्देशिका उतरना मत।

बीएसडी findउपयोग पर -xजो कि -xdevप्राथमिक प्राथमिक के बराबर है ।

सभी फ़ाइलों और निर्देशिकाओं के लिए, यह और भी आसान है:

du -ahx / | sort -rh | head -20

( -xझंडा duएक एकल फाइल सिस्टम के लिए विवश करने के लिए आवश्यक है )

यदि आप GNU sort(से coreutils) का उपयोग नहीं कर रहे हैं , तो बिना उपयोग करें -h:

du -ax / | sort -rn | head -20

वर्तमान में केवल निर्देशिका के लिए (त्वरित परिणामों के लिए), के /साथ बदलें .


1
मैं यह उल्लेख करूंगा कि यह विधि अच्छी है क्योंकि -hमानव पठनीय आउटपुट दिखाता है, और एक नमूना आउटपुट जोड़ता है।
सिरो सेंटिल्ली 新疆 改造 iro i 事件

बहुत अच्छा उपाय है। धन्यवाद।
बाघिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.