0

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

 
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس
چهارشنبه 8 شهریور 1391  1:47 AM

دستور locate





دستور locate اطلاعات رو از روی دیتابیسی که با updatedb اماده سازی میشه میخواند و بعد با توجه به کلمه ای که شما به اون داده اید گزینه های سازگار رو در خروجی خود مینویسد 

برای به روز کردن دیتابیس خود از دستور زیر استفاده کنین 
برای این کار به کاربر روت احتیاج هست 
نکته :اگه فایل یا هر چیز جدید دیگه ای ساختین بعدش دستور زیر رو بزنین تا به دیتابیس اضافه بشه چون بروز اوریه دیتا بیس خیلی سریع نیست . 


کد:

sudo updatedb 
برای پیدا کردن تمام فایلاها و دایرکتوریهایی که کلمه screenshot رو دارن دستور به این شکل میشه 



کد:

locate Screenshot 
با زدن این دستور تمام فایلاییو دایرکتوری که کلمه Screenshot در اسمشون باشه به شما نشون داده میشه که البته محدود به یک دایرکتوری خاص هم نمیشه و تمام دایرکتوری های موجود در درایوی که لینوکستون رو نصب کردین شامل میشه .

اگه خاستین دنبال یک چیزی محدود به یک دایرکتوری بگردین میتونین به این صورت دستورو بزنین 
مثلا من در اینجا دنبال یک فایل در داخل /home/alieblice/Documents میگردم : کد:

alieblice@alieblice-desktop:/$ locate firefox |grep /home/alieblice/Documents /home/alieblice/Documents/firefox-4.0.tar.bz2 alieblice@alieblice-desktop:/$ 
اگه دستور locate -i firefox رو بزنین میبینین که چه همه firefox دارین 

توضیح دستور بالا :
i- برای case-insensitive یعنی حساس نبودن به بزرگی و کوچکی استفاده میشه 
| ((\+shift)) : میگه که خروجی دستور قبلی بشه ورودی دستور جدید که دستور بلافاصله بعد از | میاد ((پایپ pipe یا لوله میخوننش ))
grep : تمام خطهایی که کلمه ی ورودی رو داره برای ما جدا میکنه که کلمه ی ورودی در اینجا /home/alieblice/Documents بود .

جستوجو بر اساس اسم دقیق داده شده 
برای ای کار دستور به شکل زیر میشه 


کد:

locate -b '\NAME' 
اینجوری فقط دایرکتوری یا فلدر هایی که اسمشون دقیقا NAME هست نشون داده میشه
کد:

alieblice@alieblice-desktop:/$ locate -b '\Oggy' /home/alieblice/Videos/Oggy alieblice@alieblice-desktop:/$ alieblice@alieblice-desktop:/$ alieblice@alieblice-desktop:/$ locate Oggy /home/alieblice/Documents/Oggy.003.htm /home/alieblice/Downloads/Oggy.003.htm /home/alieblice/Videos/Oggy /home/alieblice/Videos/Oggy.002.avi /home/alieblice/Videos/Oggy.003.avi alieblice@alieblice-desktop:/$ 
لیست کردن تمام دایرکتوری ها و ساب دایرکتوری 
برای این کار بعد از دستور locate ادرس دایرکتوری رو بدین 
کد:

alieblice@alieblice-desktop:/$ locate /home/alieblice/Videos /home/alieblice/Videos /home/alieblice/Videos/Oggy.001.avi /home/alieblice/Videos/Oggy.002.avi /home/alieblice/Videos/Oggy.003.avi /home/alieblice/Videos/test /home/alieblice/Videos/test/test2 alieblice@alieblice-desktop:/$ 
لیست کردن بر اساس فرمت داده شده 
کد:

locate "*.png" -q 
-q برای نشون ندادن ارور هست 
اگر خاستین تعداد خاصی یعنی مثلا 3 تا خروجی بیشتر نداشته یاشه از n- استفاده کنین 
کد:

alieblice@alieblice-desktop:/$ locate -n 3 "*.png" /etc/alternatives/start-here-16.png /etc/alternatives/start-here-22.png /etc/alternatives/start-here-24.png alieblice@alieblice-desktop:/$ 
اگه مقدار خروجی خیلی زیاد بود میتونین از less یا more استفاده کنین 
کد:

locate *.png |less locate *.png |more 
نکته : 
دیتابیس locate در ادرس زیر هست
کد:

/var/lib/mlocate/mlocate.db 
که برای دیدن محتویات داخلش از این دستور میتونین استفاده کنین 
کد:

sudo strings /var/lib/mlocate/mlocate.db |less

** دارالولایه **

درباره امضاء

تشکرات از این پست
دسترسی سریع به انجمن ها