जवाबों:
उत्तर 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कार्यान्वयन भी कॉन्फ़िगर किए गए बहिष्करणों का समर्थन करते हैं।)