درسیستمعاملهایشبهیونیکس و دیگر سیستمعاملها،find ابزاریخط فرمانی برایجستجو بدنبالفایلها در میاندایرکتوریهای موجود درسیستمفایل است. این جستجو بر اساس معیارها و ضوابطی است کهکاربر تعیین میکند. معیارهایی مانند الگوی نام فایلها و تاریخ ویرایش یا دسترسی فایلها. به صورت پیشفرضfind لیستی از فایلهای موجود دردایرکتوری کاری را بر میگرداند.این دستور از طریق محیط shell اجرا شده و به شما کمک میکند فایلها بر اساس دسته بندیهای زیر جستجو نمایید.بر اساس نوع، اعم از پوشه و یا فایلبر اساس نام که میتواند حتی بخشی از نام فایل باشدبراساس زمان و تاریخبراساس سطوح دسترسیبراساس سایزبراساس محتویات
برنامهٔ مرتبط دیگری بهنامlocate ازfind برای بروزرسانیپایگاه دادهٔ خود استفاده میکند.دستور find با وجود کامل بودن دستوری زمان گیر است در مقابل دستور locate دستور سریعتری است.که علت این سریع بودن در این است که بر اساس آپدیتهای قبلی کار میکند و عیب آن نیز در همین است زیرا سیستم روزییکبار آپدیت میشود پس اگر بهطور مثال فایلی را همزمان ایجاد کردیم با این دستور نمیتوانیم پیدا کنیم و باید ابتدا به صورتدستی سیستم را آپدیت کنیم[۱]</nowiki></ref>
find[-H][-L][-P][-Ddebugopts][-Olevel][path...][expression]
سه گزینهٔ اول مشخص میکند کهfind چطور باید با symbolic linkها رفتار کند. رفتار پیشفرض اینطور است که هیچوقت symbolic linkها دنبال نشوند. همچنین میتوان این حالت را صراحتاً توسط گزینهٔ P- مشخص نمود. گزینهٔ L- برای مواقعی استفاده میشود که قصد داشته باشیم symbolic linkها توسطfind دنبال شوند.
حداقل یک مسیر باید تعریف شود.find میتواندنویسههای عام(بهانگلیسی:Wildcard character) را نیز تفسیر کند.
عبارات(بهانگلیسی:Expression) نیز باید توسط کارکتر فاصله از هم جدا شوند و از چپ به راست ارزیابی میشوند. همچنین میتوانند شامل اعمال منطقی AND و OR باشند که میتوان توسط آنها عبارات پیچیدهتری را پدیدآورد. (a- و o- بترتیب برای AND و OR کردن)همچنین نسخهٔگنویfind دارای تعداد بسیار زیادی ویژگی دیگر است که درپازیکس تعریف نشدهاند.
find.-name'my*'با این دستور find در دایرکتوری فعلی و شاخههای زیرین آن فایل یا دایرکتوریهایی را جستجو میکند که باmy شروع میشوند. کارکترهای نقلقول(بهانگلیسی:quote) برای این استفاده شدهاند که تداخلی با مفسر خط فرمان رخ ندهد. بدون این کارکترها، مفسر خط فرمان عبارت*my را با لیست فایلهایی که با my شروع میشوند و در دایرکتوری فعلی موجود هستند، جایگزین میکند.
find.-name"my*"-typefدستور بالا، نتایج جستجو را فقط محدود به فایلهای واقعی میکند؛ بنابراین دایرکتوریها، فایلهای خاص، لولهها(بهانگلیسی:pipe)، لینکها و غیره از قلم میافتند و find آنها را نادیده میگیرد.
عمل پیشفرضی که find با نتایج جستجو انجام میدهدprint- است، یعنی فقط نمایش آنها در خروجی. (توجه داشته باشید که نسخههای جدید find هیچ عمل پیشفرضی انجام نمیدهند) ولی میتوان هر فرمان دیگری را جایگزین عمل پیشفرض نمود.
find.-name"my*"-typef-lsدستور بالا با استفاده ازls اطلاعات بیشتری در مورد فایلهای یافته شده نمایش میدهد.
find/-typef-name"myfile"-printاین دستور تمام دایرکتوریهای سیستم را بدنبال فایلی بنامmyfile جستجو میکند و در صورت یافتن آن، در خروجی چاپ میکند. البته معمولاً این روش جستجو برای یک فایل ایدهٔ خوبی نیست. چون ممکن است برای مدت زمان قابل توجهی طول بکشد. پس بهتر است دایرکتوری مورد جستجو به صورت جزئیتر مشخص شود.