जवाबों:
findवास्तविक प्रणाली में खोज करता है। धीमी है, लेकिन हमेशा अप-टू-डेट रहती है और अधिक विकल्प (आकार, संशोधन समय, ...) है
locateपहले से निर्मित डेटाबेस (कमांड updatedb) का उपयोग करता है । बहुत तेज़ है, लेकिन एक 'पुराने' डेटाबेस का उपयोग करता है और केवल नाम या उनमें से कुछ हिस्सों को खोजता है।
किसी भी मामले में, man findऔर man locateआगे आपकी मदद करेगा।
updatedbमोटे तौर पर कुछ पसंद करते हैं find / -type f | gzip > locate.gz।
दोनों कमांड locateऔर findएक फ़ाइल मिल जाएगी, लेकिन वे काफी अलग तरीके से काम करते हैं।
locate ऑफ़लाइन मोड में काम करेगा:
locate, तो यह उस डेटाबेस का उपयोग किसी विशेष फ़ाइल को खोजने के लिए करेगा। इसके साथ समस्या यह है locateकि यदि आपने अभी एक फ़ाइल बनाई है जिसे आप अब खोजना चाहते हैं, तो पता लगाने से काम नहीं चलेगा क्योंकि सुस्ती डेटाबेस अप-टू-डेट नहीं है। इस समस्या को दूर करने के लिए, आप धीमे डेटाबेस updatedbको अपडेट करने के लिए उपयोग कर सकते हैं । फिर से निष्पादित होने पर अब नई बनाई गई फ़ाइल मिल जाएगी। इस प्रकार, कई लिनक्स सिस्टम प्रशासक नियमित रूप से धीमे डेटाबेस को अपडेट करने के लिए नौकरी का उपयोग करते हैं ।locatecronfind ऑनलाइन / "वास्तविक समय में" मोड में काम करेगा।
तो प्रकृति के आधार पर, यह स्पष्ट है कि पता लगाने की तुलना में तेजी है लेकिन खोज वास्तविक समय है।
आशा है कि यह विचार को साफ करने में मदद करेगा। शुभकामनाएं। :)
खोज का उपयोग करने का एक विकल्प है खोज आदेश। यह कमांड अक्सर तेज होता है और आसानी से पूरे फाइल सिस्टम को खोज सकता है। आप apt-get के साथ कमांड स्थापित कर सकते हैं:
sudo apt-get update
sudo apt-get install mlocate
कारण का पता लगाने की तुलना में तेज़ है क्योंकि यह फाइल सिस्टम पर फ़ाइलों के डेटाबेस पर निर्भर करता है। डेटाबेस को आमतौर पर क्रोन स्क्रिप्ट के साथ दिन में एक बार अपडेट किया जाता है, लेकिन आप इसे मैन्युअल रूप से टाइप करके अपडेट कर सकते हैं:
sudo updatedb
अब यह कमांड चलाएँ। याद रखें, यदि आप हाल ही में अधिग्रहित या बनाई गई फ़ाइलों को खोजना चाहते हैं, तो डेटाबेस को हमेशा अद्यतित होना चाहिए।