जवाबों:
उत्तर locate
आपके द्वारा उपयोग किए जा रहे संस्करण पर निर्भर करता है , लेकिन यह एक उचित मौका है mlocate
, जिसका updatedb
फुल डिस्क स्कैन करने से बचकर जल्दी चलता है:
mlocate एक पता लगाने / अद्यतन कार्यान्वयन है। 'म' का अर्थ "मर्जिंग" है: अपडेटेड मौजूदा डेटाबेस को फिर से फाइल सिस्टम के अधिकांश रीयरिंग से बचने के लिए पुन: उपयोग करता है, जो अपडेटेड को तेजी से बनाता है और सिस्टम कैश को अधिक नहीं मिटाता है।
(डेटाबेस प्रत्येक निर्देशिका के टाइमस्टैम्प को स्टोर करता है, ctime
या mtime
, जो भी नया हो।)
अधिकांश कार्यान्वयनों की तरह updatedb
, mlocate
फ़ाइल सिस्टम और पथ को भी छोड़ देगा जिसे इसे अनदेखा करने के लिए कॉन्फ़िगर किया गया है। डिफ़ॉल्ट रूप से में वहाँ कोई नहीं कर रहे हैं mlocate
के मामले, लेकिन वितरण आम तौर पर एक बुनियादी प्रदान updatedb.conf
जो नेटवर्क फाइल सिस्टम, आभासी फाइल सिस्टम आदि पर ध्यान नहीं देता है (देखें डेबियन के विन्यास फाइल उदाहरण के लिए, यह डेबियन में मानक अभ्यास है, इसलिए जीएनयू की updatedb
है समान रूप से कॉन्फ़िगर )।
mtime
अपने तत्काल माता-पिता को बदलना चाहिए ।
mlocate
बारे में परवाह करता है ctime
और mtime
इसका मतलब केवल यह है कि क्या निर्देशिका प्रविष्टियों की सूची अभी भी वही है (कोई हटाए गए या जोड़े गए फाइलें नहीं), जिसका अर्थ है कि यह वास्तविक फ़ाइलों की परवाह नहीं करता है। क्या वो सही है ?
locate
नहीं है grep -R
। यह फ़ाइल सामग्री नहीं पढ़ता है।
संशोधन समय की जाँच करने के अलावा, mlocate
फ़ाइल सिस्टम के कुछ उप-प्रकारों को भी अनदेखा करता है , जिनमें बहुत सी अनइंस्टालिंग या संभावित डुप्लिकेट फ़ाइलें होती हैं, जैसा कि /etc/updatedb.conf में निर्दिष्ट किया गया है (और मैन अपडेटेड .conf में वर्णित है ):
updatedb
कार्यान्वयन भी कॉन्फ़िगर किए गए बहिष्करणों का समर्थन करते हैं।)