دستور locate در لینوکس

دستور locate، با کمک یک دیتابیس از قبل از ایجاد شده، امکان جستجوی افلاین و سریع فایلها و پوشه ها را ممکن می سازد.

 دیتابیس مربوط به این دستور، به صورت روزانه بروزرسانی خواهد شد و جاب مربوط به ان را می توان در مسیر /etc/cron.daily مشاهده کرد:

[root@ol7 cron.daily]# ls -l mlocate

-rwx——. 1 root root 208 Aug 30  2016 mlocate

برای بروزرسانی دستی این دیتابیس، می توان از دستور updated استفاده نمود.

ساختار کلی دستور locate به شکل زیر می باشد:

locate [options] search_string

استفاده از این دستور، نسبتا اسان می باشد که با ارئه چند مثال، با بعضی از سوییچهای این دستور آشنا خواهیم شد.

مثال 1: تمامی فایلها و پوشه هایی که در قسمتی از نام آنها، عبارت myExam وجود دارد را نمایش دهید:

در ابتدا فایل و پوشه ایی را برای روشن تر شدن مطلب ایجاد می کنیم:

[root@ol7 ~]#  mkdir /home/myExam2

[root@ol7 ~]# touch /var/myExam1

دستور locate را برای جستجو اجرا می کنیم:

[root@ol7 ~]# locate myExam

همانطور که می بینید، به دلیل عدم بروزرسانی دیتابیس، این دستور خروجی ای را در پی ندارد. پس بصورت دستی دیتابیس را بروزرسانی می کنیم:

[root@ol7 ~]# updatedb

با اجرای مجدد دستور locate، خروجی مطلوب، نمایش داده خواهد شد:

[root@ol7 ~]# locate myExam

/home/myExam2

/var/myExam1

مثال 2: برای اجرای دستور locate بدون احتساب بزرگی و کوچکی حروف، می توانیم از سوییچ i استفاده کنیم:

[root@ol7 ~]# locate myexam

[root@ol7 ~]# locate -i myexam

/home/myExam2

/var/myExam1

مثال 3: با کمک سوییچ e در دستور locate، وجود یا عدم وجود فایل(یا پوشه)، همراه با اجرای دستور، مورد بررسی قرار می گیرد و تنها به وجود آن نام در دیتابیس اکتفا نخواهد شد:

[root@ol7 ~]# rm -rf /home/myExam2

[root@ol7 ~]# rm -rf /var/myExam1

[root@ol7 ~]# locate myExam

/home/myExam2

/var/myExam1

[root@ol7 ~]# locate -e myExam

[root@ol7 ~]#

مثال 4: دستور locate به صورت خودکار، wildchard ستاره(*) را به ابتدا و انتهای عبارت اضافه می کند برای مثال، عبارت myExam را به *myExam* تبدیل می کند حال اگر بخواهیم دقیقا عبارت myExam جستجو شود، می توانیم از سوییچ r و با فرمت زیر جستجو را انجام دهیم:

[root@ol7 ~]# touch /usr/myExam

[root@ol7 ~]# updatedb

[root@ol7 ~]# locate myExam

/home/myExam2

/usr/myExam

/var/myExam1

[root@ol7 ~]# locate -r /myExam$

/usr/myExam

البته این کار با کمک سوییچ b هم امکان پذیر است:

[root@ol7 ~]# locate -b ‘\myExam’

/usr/myExam

مثال 5: برای تعیین تعداد یافته های دستور locate، می توان از سوییچ c استفاده کرد:

[root@ol7 ~]# locate -c myExam

2

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *