می دونید که میشه برای جستجوی سریع در فایل ها از دستور locate استفاده کرد.
مثلا:
locate -A -i my search
پارامتر A برای اینه که نتیجه جستجو بر اساس وجود داشتن تمام کلمات ورودی باشه. یعنی در مثال بالا باعث میشه که فایل هایی که توی اسمشون هم my و هم search باشه رو برگردونه
پارامتر i هم برای اینه که به بزرگی و کوچکی حروف توجه نکنه
برای اینکه بتونید فایل های جدید ساخته شده رو هم در جستجو داشته باشید:
updatedb
حالا اگه یه پارتیشن دیگه هم دارید و می خواید که توی اون هم locate کار کنه:
updatedb -l 0 -U /media/Other/ -o /media/Other/.database_file
این دستور توی آدرس مورد نظر شما (بعد از U) رو تحلیل می کنه و دیتابیس جستجو رو در آدرس مورد نظر (بعد از o) ذخیره می کنه
و برای جستجو بر اساس دیتابیس جدیدتون در پارتیشن تون:
locate -d /media/Other/.database_file -A -i my search
حالا اگه بخواید هم در پارتیشن root و home و هم در پارتیشن جدا جستجو داشته باشید:
locate -d /var/lib/mlocate/mlocate.db -d /media/Other/.database_file -A -i my search
می تونید alias بسازید براش:
alias search='locate -d /var/lib/mlocate/mlocate.db -d /media/Other/.database_file -A -i'
و برای بروزرسانی دیتابیس هر دو هم می تونید از این تابع استفاده کنید:
searchUpdate(){
sudo updatedb;
updatedb -l 0 -U /media/Other/ -o /media/Other/.database_file;
}
یعنی به طور کلی در فایل .bashrc در home این محتویات رو اضافه کنید (با تغییرات مورد نیازتون):
alias search='locate -d /var/lib/mlocate/mlocate.db -d /media/Other/.database_file -A -i'
searchUpdate(){
sudo updatedb;
updatedb -l 0 -U /media/Other/ -o /media/Other/.database_file;
}