
در سیستم های یونیکس و لینوکس، دستوراتی برای جستجوی فایل ها و پوشه ها وجود دارد. بیشتر مورد استفاده قرار می گیرد گرفتن و برای پیدا کردن،
در این مقاله به شما نشان خواهم داد که چگونه از مکان یابی به درستی برای یافتن فایل ها یا dirs های مورد نیاز خود استفاده کنید.
برای پیدا کردن از a استفاده می کند پایگاه داده (فهرست) فایل ها و پوشه ها برای جستجو. اگر پایگاه داده شما نیاز به به روز رسانی داشته باشد، هنگام استفاده از locate با این پیغام خطا مواجه می شوید: locate: database too small
می توانید اسکریپتی ایجاد کنید که پایگاه داده Locate را روزانه به روز می کند یا در صورت نیاز آن را به صورت دستی به روز کنید:
نحوه به روز رسانی پایگاه داده در لینوکس و یونیکس:
که در لینوکس، $ sudo updatedb
که در FreeBSD/PCBSD، # /usr/libexec/locate.updatedb
نحوه استفاده از Locate:
نحو:locate filename
من فایل ssh_config را با locate پیدا می کنم:$ locate ssh_config
/etc/ssh/ssh_config
/usr/share/man/man5/ssh_config.5.gz
یک dir را پیدا کنید و فایل های داخل آن را نمایش دهید:
$ locate /etc/ssh
/etc/ssh
/etc/ssh/moduli
/etc/ssh/ssh_config
[...]
نحوه جستجوی فایل ها و پوشه ها بر اساس نام پایه:
locate -b starwars فقط فایلهایی با نام Starwars را پیدا میکند (جستجوی حساس به حروف بزرگ)
$ locate -b starwars
/home/starwars
نحوه جستجوی فایل ها و پوشه ها بدون توجه به نوع حروف:
اگر برای sample.txt جستجو کنم، این دستور locate SAMPLE.txt، SAMPLE.txt، SAMPLE.txt، SAMPLE.txt و غیره را پیدا خواهد کرد…
$ locate -i sample.txt
/home/razvan/sample.txt
/home/razvan/SAMPLE.txt
/home/razvan/samPLE.txt
نحوه محدود کردن خروجی مکان:
locate -l 3 فقط 3 خط اول را نشان می دهد و locate -l فقط 5 خط اول را نشان می دهد:
$ locate -l 3 starwars
/home/starwars
/home/starwars/.bash_logout
/home/starwars/.config
$ locate -l 5 starwars
locate -l 5 starwars
/home/starwars
/home/starwars/.bash_logout
/home/starwars/.config
/home/starwars/.mozilla
/home/starwars/.profile
عادت بد من را پیدا کنید:
من به آن عادت کردم Starwars را پیدا کنید | سر -5 اما باید استفاده کرد find -l 5 starwars بلکه به این دلیل که برای تایپ کوتاهتر است.
نحوه چاپ تعداد ورودی ها را بیابید:
locate -c فقط تعداد نتایج یافت شده را چاپ می کند:
$ locate -c starwars
48
و در نهایت، نحوه چاپ آمار پایگاه داده با locate،
$ locate -S
Database /var/lib/mlocate/mlocate.db:
15,573 directories
150,422 files
7,703,618 bytes in file names
3,368,736 bytes used to store database
یک کاربر خوب یونیکس باید نحوه استفاده از آن را بداند برای پیدا کردن، گرفتن و کجاست سفارش.