locate(1) General Commands Manual locate(1) نام (NAME) plocate - یافتن فایل‌ها بر پایه نام با بیشترین سرعت خلاصه دستور (SYNOPSIS) plocate [OPTION]... PATTERN... توضیحات (DESCRIPTION) دستور plocate تمامی فایل‌های روی سیستم را که با الگوی داده‌شده (یا با تمامی الگوها، در صورت ارائه چند الگو) مطابقت دارند پیدا می‌کند. این کار به کمک نمایه‌ای انجام می‌شود که توسط updatedb(8) ایجاد شده یا (به‌صورت کمتر رایج) از نمایه‌ای دیگر توسط plocate-build(8) تبدیل شده است. برنامه plocate تا حد زیادی از نظر آرگومان‌ها با mlocate(1) سازگار است، اما به مراتب سریع‌تر است. به‌ویژه، به ندرت به پویش کل پایگاه‌داده خود نیاز پیدا می‌کند، مگر اینکه الگو بسیار کوتاه (کمتر از سه بایت) باشد یا بخواهید یک عبارت منظم را جستجو کنید. این ابزار برای حفظ سازگاری با BSD locate یا نام‌فایل‌ها و لوکال‌های غیر UTF-8 تلاشی نمی‌کند. بیشتر I/O به‌صورت ناهمگام انجام می‌شود، اما نتایج همگام‌سازی می‌شوند تا خروجی در هر بار با همان ترتیب یکسان نمایش یابد. هنگامی که چندین الگو داده شود، plocate فایل‌هایی را جستجو می‌کند که با همهٔ آن‌ها مطابقت داشته باشند. این ناهمخوانی اصلی با mlocate(1) است که فایل‌های منطبق با یک یا چند الگو را جستجو می‌کند، مگر آنکه گزینه -A داده شده باشد. به‌طور پیش‌فرض، الگوها به عنوان زیررشته‌هایی برای جستجو در نظر گرفته می‌شوند. اگر دست‌کم یک فرانویسه تطبیق الگوی (globbing) گریز نخورده (*، ? یا []) داده شود، آن الگو در عوض به عنوان یک الگوی glob در نظر گرفته می‌شود (به این معنی که برای تطابق زیررشته باید با * شروع و پایان یابد). اگر --regexp داده شود، الگوها به عنوان عبارت‌های منظم پایه POSIX (غیر لنگردار) در نظر گرفته می‌شوند، و اگر --regex مشخص شود، الگوها عبارت‌های منظم گسترش‌یافته POSIX در نظر گرفته خواهند شد. تمامی این موارد با رفتار mlocate(1) همخوانی دارد. مشابه mlocate(1)، ابزار plocate تمام فایل‌های قابل مشاهده برای کاربر فراخواننده را (به واسطه داشتن مجوزهای خواندن و اجرا بر روی تمام دایرکتوری‌های والد) نمایش می‌دهد و مواردی را که قابل مشاهده نیستند نشان نمی‌دهد؛ این کار از طریق اجرا با بیت setgid تنظیم‌شده برای دسترسی به نمایه (که به عنوان root ساخته شده است) و در عین حال بررسی دسترسی‌پذیری به عنوان کاربر فراخواننده انجام می‌پذیرد. وضعیت خروج (EXIT STATUS) plocate با کد 0 خارج می‌شود تا نشان دهد تطابقی یافت شده است یا گزینه‌های --help یا --version داده شده‌اند. در غیر این صورت، plocate با کد وضعیت 1 خارج می‌شود که نشان‌دهنده وقوع خطا یا پیدا نشدن هیچ تطابقی است. گزینه‌ها (OPTIONS) -A, --all برای سازگاری با mlocate(1) نادیده گرفته می‌شود. -b, --basename تنها با بخش نام فایل از نام مسیر مطابقت داده می‌شود؛ یعنی نام دایرکتوری‌ها از تطبیق مستثنی خواهند شد (اما همچنان چاپ می‌شوند). این گزینه سرعت جستجو را افزایش نمی‌دهد، اما می‌تواند تطابق‌های نامطلوب را حذف کند. -c, --count تک‌تک موارد منطبق را چاپ نمی‌کند؛ در عوض، آن‌ها را شمرده و در پایان تعداد کل را در خروجی چاپ می‌کند. -d, --database DBPATH یافتن تطابق‌ها در پایگاه‌داده داده‌شده، به جای /var/lib/plocate/plocate.db. این آرگومان می‌تواند چندین بار برای جستجو در چند پایگاه‌داده ارائه شود. همچنین امکان تعیین چندین پایگاه‌داده در یک آرگومان و با جداکننده : وجود دارد. (هر نویسه‌ای، از جمله : و \، با قرار دادن یک \ پیش از آن قابل گریز دادن است.) -e, --existing تنها ورودی‌هایی را چاپ می‌کند که به فایل‌های موجود در زمان اجرای locate اشاره دارند. توجه داشته باشید که برخلاف mlocate(1)، پیوندهای نمادین (symlinks) به‌طور پیش‌فرض دنبال نمی‌شوند (و در واقع، هیچ گزینه‌ای برای تغییر این رفتار وجود ندارد). -i, --ignore-case تطبیق غیرحساس به بزرگی و کوچکی حروف را بر اساس لوکال (locale) جاری انجام می‌دهد (پیش‌فرض، تطبیق حساس به بزرگی و کوچکی حروف و به‌صورت بایت‌به‌بایت است). توجه داشته باشید که plocate از دامنه کامل قواعد تبدیل بزرگی/کوچکی (case folding) در Unicode پشتیبانی نمی‌کند؛ به‌ویژه، جستجو برای ß حتی در لوکال آلمانی تطابقی با ss نخواهد داشت. همچنین در نظر داشته باشید که این گزینه تا حدی کندتر از تطبیق حساس به حروف خواهد بود، زیرا نیازمند تولید کاندیداهای بیشتری برای جستجو در نمایه است. -l, --limit LIMIT متوقف کردن جستجو پس از پیدا شدن LIMIT تطابق. اگر --count داده شده باشد، عدد چاپ‌شده حداکثر LIMIT خواهد بود. -N, --literal چاپ نام ورودی‌ها بدون علامت نقل‌قول (کوتیشن). به‌طور معمول، plocate نویسه‌های خاص در نام فایل‌ها را گریز می‌دهد (escape می‌کند) تا برای استفاده توسط شل‌های متداول ایمن باشند (مشابه سبک کوتیشن shell-escape-always در GNU coreutils)، مگر زمانی که خروجی به یک لوله (pipe) هدایت شود؛ اما این گزینه چنین نقل‌قول‌هایی را غیرفعال می‌کند. -0, --null به جای نوشتن نویسه خط جدید پس از هر تطابق، یک نویسه NUL (کد اسکی 0) می‌نویسد. این گزینه برای ایجاد خروجی صریح و بدون ابهام هنگامی که قرار است توسط ابزارهای دیگر (مانند xargs(1)) پردازش شود مفید است، زیرا نام فایل‌ها مجازند شامل نویسه‌های خط جدید باشند. -r, --regexp الگوها به عنوان عبارت‌های منظم پایه POSIX در نظر گرفته می‌شوند. برای اطلاعات بیشتر regex(7) را ببینید. توجه داشته باشید که این کار جستجوی خطی در سراسر پایگاه‌داده را تحمیل می‌کند که کند است. --regex مشابه --regexp، اما الگوها در عوض به عنوان عبارت‌های منظم گسترش‌یافته POSIX در نظر گرفته می‌شوند. -w, --wholename تطبیق با کل نام مسیر. این حالت پیش‌فرض است، بنابراین مگر اینکه ابتدا -b داده شده باشد (بالا را ببینید)، کار خاصی انجام نخواهد داد. در نتیجه این گزینه صرفاً برای سازگاری با mlocate(1) وجود دارد. --help چاپ اطلاعات نحوه استفاده و سپس خروج موفقیت‌آمیز. --version چاپ اطلاعات نسخه و سپس خروج موفقیت‌آمیز. محیط (ENVIRONMENT) LOCATE_PATH در صورت ارائه، به انتهای فهرست مسیرهای --database افزوده می‌شود (چه مقداری صریحاً تعیین شده باشد و چه از پیش‌فرض استفاده شود). جداسازی با دونقطه (:) و گریز دادن نویسه‌ها از همان قواعد --database پیروی می‌کند. نویسندگان (AUTHORS) Steinar H. Gunderson همچنین ببینید (SEE ALSO) plocate-build(8), mlocate(1), updatedb(8) plocate Oct 2020 locate(1)