फाइलें 1 जीबी से अधिक और 6 महीने से अधिक पुरानी हैं


20

मैं ऐसी फाइलें ढूंढना चाहता हूं जो 1 जीबी से अधिक हों और पूरे सर्वर में 6 महीने से अधिक पुरानी हों। इसके लिए कमांड कैसे लिखें?

जवाबों:


37

उपयोग करें find:

find /path -mtime +180 -size +1G

-mtimeसाधन 180 बार (+180) से अधिक हैं संशोधन के समय के लिए खोज। और -sizeपैरामीटर 1GB से अधिक फ़ाइलों की खोज करता है।


2
ध्यान दें कि findकार्यान्वयन में जहां उस Gप्रत्यय का समर्थन किया जाता है, इसका अर्थ है जीईबी (1073741824 बाइट्स), जीबी (1000000000) नहीं। संभवतः, आप उपयोग करेंगेfind /path -mtime +180 -size +1073741824c
स्टीफन चेज़ेलस

1
यदि आप इस तरह की फ़ाइलों की सूची के बीच त्रुटियों को देखने से बचना चाहते हैं: find: a.txt :Permission deniedमैं 2>/dev/nullइस टिप्पणी से प्रेरित इसे जोड़ने का सुझाव देता हूं : unix.stackexchange.com/questions/42841/…
gmansour

आप परिणाम को xargs ls -lhSआकार के अनुसार क्रमबद्ध करने के लिए भी पाइप कर सकते हैं : find /path -mtime +180 -size +1G | xargs ls -lhS
user553965

@ user553965 आपका कमांड काम नहीं करेगा। क्या वास्तव में आकार से तरह करने की जरूरत है: find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS। न्यूबीज़ नोट: 2>/dev/nullबस उन permission deniedत्रुटियों से छुटकारा मिलता है जो रूट से खोजते समय अनिवार्य रूप से दिखाई देंगी। अंतिम संशोधित तिथि उपयोग के द्वारा क्रमबद्ध करने के लिए ls -lhtके बजाय और जोड़ने rके लिए lsआदेश, जैसे ls -lhSr, परिणाम (छोटी सबसे बड़ा करने के लिए / नवीनतम करने के लिए सबसे पुराना) रिवर्स जाएगा।
मैट

6

find / -size +1G -mtime +180 -type f -print

यहां विकल्प द्वारा कमांड विकल्प का स्पष्टीकरण दिया गया है: रूट निर्देशिका से शुरू होकर, यह 1 जीबी से बड़ी सभी फाइलों को ढूंढता है, 180 दिनों से अधिक समय पहले संशोधित किया गया है, जो टाइप "फाइल" के हैं, और उनके पथ को प्रिंट करता है।

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