जवाबों:
एक अन्य तरीका यह होगा कि पैटर्न मिलान का उपयोग करें locate:
locate '/some/directory/*filename*'
नीचे दिए गए कमांड के आउटपुट की तुलना करें:
$ locate tmpfile
/usr/lib64/perl5/auto/POSIX/tmpfile.al
/usr/share/man/fr/man3/tmpfile.3.gz
/usr/share/man/ja/man3/tmpfile.3.gz
/usr/share/man/man3/tmpfile.3.gz
/usr/share/man/man3p/tmpfile.3p.gz
$
$ locate '/usr/lib64/*tmpfile*'
/usr/lib64/perl5/auto/POSIX/tmpfile.al
$
locate /usr/lib*tmpfile* वही परिणाम देता है।
$ locate '/usr/lib64/*tmpfile'कोई परिणाम नहीं लौटाएगा।
locateमाध्यम से परिणामों को पाइप कर सकते हैं grep।
अपनी विशिष्ट निर्देशिका के लिए धीमे डेटाबेस बनाएँ:
updatedb -U /path/to/directory
और इसके साथ खोजें:
locate <search_string>
अपडेट करें
यह मेरे Gentoo सिस्टम पर ठीक काम करता है लेकिन CentOS में -Uविकल्प शामिल नहीं है। तो, आप इसके बजाय नीचे की कोशिश कर सकते हैं:
इसके साथ डेटाबेस बनाएँ:
# updatedb -U /path/to/dir -o dir_locate.db
और खोज:
# locate -d dir_locate.db <search_string>
updatedb: can not change group of file 'db.db.kHhzFz' to 'mlocate': Operation not permitted, लिनक्स पर एक साधारण उपयोगकर्ता के रूप में अपडेटेड कमांड का उपयोग कैसे करें, इसकी जांच करें ।
locateएक निर्दिष्ट निर्देशिका के भीतर खोज करने के लिए एक टर्मिनल उपनाम है :alias my_locate="updatedb -U /path/to/yourdir -o /path/to/your_dir_locate.db; locate -d /path/to/dir_locate.db "एक बार जब उपनाम अन्य प्रभावी होता है, तो टर्मिनल प्रकार परmy_locate *foo*और आप दौड़ से दूर हो जाते हैं। आप डेटाबेस अपडेट्स को संक्षिप्त कर सकते हैं और डेटाबेस को कोनैट कैरेक्टर का उपयोग करके खोज का पता लगा सकते हैं। rtfm: linux.die.net/man/8/updatedb