Find (Unix)
یونکس نما اور کچھ دوسرے آپریٹنگ سسٹمز میں، فائنڈ ایک کمانڈ لائن یوٹیلیٹی ہے جو کچھ صارف کے مخصوص معیار کی بنیاد پر فائلوں کا پتہ لگاتا ہے اور یا تو ہر مماثل آبجیکٹ کا پاتھ نام پرنٹ کرتا ہے یا، اگر کسی اور عمل کی درخواست کی جاتی ہے، تو وہ عمل ہر مماثل آبجیکٹ پر انجام دیتا ہے۔ یہ مطلوبہ ابتدائی مقام سے تلاش کا آغاز کرتا ہے اور پھر ایک درجہ بندی کے ڈھانچے (عام طور پر ایک درخت) کے نوڈس (ڈائریکٹریز) کو بار بار عبور کرتا ہے۔ شروعاتی ڈائرکٹری کے نیچے نصب ایک یا زیادہ اسٹوریج ڈیوائسز سے تعلق رکھنے والے پارٹیشنز کے مختلف فائل سسٹمز کے ذریعے تلاش اور تلاش کر سکتے ہیں۔ تلاش کے ممکنہ معیار میں فائل کے نام سے ملنے کے لیے ایک نمونہ یا فائل کے ترمیم کے وقت یا رسائی کے وقت سے ملنے کے لیے وقت کی حد شامل ہے۔ ڈیفالٹ طور پر، موجودہ ورکنگ ڈائرکٹری کے نیچے تمام فائلوں کی فہرست فائنڈ ریٹرن کرتا ہے، حالانکہ صارفین تلاش کو ابتدائی ڈائرکٹری کے تحت کسی بھی مطلوبہ زیادہ سے زیادہ سطح تک محدود کر سکتے ہیں۔ متعلقہ لوکیٹ پروگرام فائنڈ کے ذریعے حاصل کردہ انڈیکس شدہ فائلوں کا ڈیٹا بیس استعمال کرتے ہیں (باقاعدہ وقفوں پر اپ ڈیٹ کیا جاتا ہے، عام طور پر کرون جاب کے ذریعے) تاکہ فائلوں کے لیے نام کے لحاظ سے پورے فائل سسٹم کو تلاش کرنے کا تیز طریقہ فراہم کیا جا سکے۔ تاریخ کی تلاش ورژن 5 یونکس میں پروگرامر کے ورک بینچ پروجیکٹ کے حصے کے طور پر شائع ہوئی، اور اسے ڈک ہائیٹ نے سی پییو کے ساتھ لکھا تھا، جسے ایک ساتھ استعمال کرنے کے لیے ڈیزائن کیا گیا تھا۔ جی این یو فائنڈ کا نفاذ اصل میں ایرک ڈیکر نے لکھا تھا۔ بعد میں اس میں ڈیوڈ میک کینزی، جے پلیٹ اور ٹم ووڈ نے اضافہ کیا۔ کمانڈ کو آئی بی ایم آئی آپریٹنگ سسٹم میں بھی پورٹ کیا گیا ہے۔ نحو تلاش کریں $تلاش کریں [-H |-L] راستہ۔ [آپریڈ _ ایکسپریشن۔] دونوں آپشنز کنٹرول کرتے ہیں کہ تلاش کمانڈ کو علامتی لنکس کا علاج کیسے کرنا چاہیے۔ ڈیفالٹ رویے کبھی بھی علامتی لنکس کی پیروی نہیں کرنا ہے۔ جھنڈا فائنڈ کمانڈ کو علامتی لنکس کی پیروی کرنے کا سبب بنے گا۔ کمانڈ لائن کے دلائل پر کارروائی کرتے وقت پرچم صرف علامتی لنکس کی پیروی کرے گا۔ یہ جھنڈے تلاش کے لیے پوزیکس معیار میں متعین ہیں۔ ایک عام توسیع پرچم ہے، جو واضح طور پر سم لنک کو غیر فعال کرنے کے لیے ہے۔ کم از کم ایک راستہ اظہار سے پہلے ہونا چاہیے۔ فائنڈ اندرونی طور پر وائلڈ کارڈز کی تشریح کرنے کے قابل ہے اور شیل گلوبنگ کو کنٹرول کرنے کے لیے کمانڈز کا احتیاط سے حوالہ دیا جانا چاہیے۔ اظہار کے عناصر کو کمانڈ لائن دلیل کی حد سے الگ کیا جاتا ہے، جسے عام طور پر شیل نحو میں وائٹ اسپیس کے طور پر پیش کیا جاتا ہے۔ ان کا اندازہ بائیں سے دائیں کیا جاتا ہے۔ ان میں منطقی عناصر جیسے AND (یا) اور OR (یا) کے ساتھ ساتھ پیش گوئیاں (فلٹر اور اعمال) شامل ہو سکتے ہیں۔ جی این یو فائنڈ میں بڑی تعداد میں اضافی خصوصیات ہیں جو پوزیکس کے ذریعہ متعین نہیں ہیں۔ عام طور پر استعمال ہونے والی ابتدائی پیش گوئیوں میں شامل ہیں:-نام کا نمونہ: یہ جانچتا ہے کہ آیا فائل کا نام شیل-گلوب پیٹرن سے ملتا جلتا ہے۔ - ٹائپ ٹائپ: جانچ کرتا ہے کہ آیا فائل ایک دی گئی قسم ہے۔ یونیکس فائل کی قبول شدہ اقسام میں شامل ہیں: b: بلاک ڈیوائس (بفرڈ) ؛ c: کریکٹر ڈیوائس (ان بفرڈ) ؛ d: ڈائرکٹری ؛ f: باقاعدہ فائل ؛ l: علامتی لنک ؛ p: نامی پائپ ؛ s: ساکٹ ؛ D: ڈور۔ - پرنٹ: ہمیشہ درست آتا ہے ؛ موجودہ فائل کا نام اور ایس ٹی ڈی آؤٹ پر ایک نئی لائن پرنٹ کریں۔ - پرنٽ 0: ہمیشہ درست واپسی کرتا ہے ؛ موجودہ فائل کا نام اور ایک کالعدم کردار کو ایس ٹی ڈی آؤٹ پر پرنٹ کرتا ہے۔ پوزیکس کی ضرورت نہیں ہے۔ - exec پروگرام [دلائل۔] ؛: دیئے گئے دلائل کے ساتھ پروگرام چلاتا ہے، اور اگر اس کی خارجی حیثیت 0 تھی تو درست واپس کرتا ہے، بصورت دیگر غلط۔ اگر پروگرام، یا کوئی دلیل {} ہے، تو اسے موجودہ راستے سے تبدیل کر دیا جائے گا (اگر پروگرام {} ہے، تو فائنڈ موجودہ راستے کو قابل عمل کے طور پر چلانے کی کوشش کرے گا)۔ پوزیکس اس بات کی وضاحت نہیں کرتا کہ اگر ایک سے زیادہ {} متعین کیے جائیں تو کیا ہونا چاہیے۔ زیادہ تر نفاذ تمام {} کو موجودہ راستے سے بدل دیں گے، لیکن یہ معیاری طرز عمل نہیں ہے۔ - exec پروگرام [دلائل۔] {} +: ہمیشہ درست واپسی کرتا ہے۔ دیئے گئے دلائل کے ساتھ پروگرام چلائیں، اس کے بعد زیادہ سے زیادہ راستے ہوں (اگر کمانڈ لائن کا زیادہ سے زیادہ سائز تجاوز کر جائے تو متعدد کمانڈ چلائی جائیں گی، جیسے xargs کے لیے)۔ - ok پروگرام [دلائل۔] ؛: ہر راستے کے لیے، صارف کو تصدیق کے لیے اشارہ کرتا ہے ؛ اگر صارف تصدیق کرتا ہے (عام طور پر y یا ہاں درج کر کے)، تو یہ-exec پروگرام [دلائل] کی طرح برتاؤ کرتا ہے ؛، بصورت دیگر کمانڈ موجودہ راستے کے لیے نہیں چلائی جاتی ہے، اور غلط واپس کر دی جاتی ہے۔ اگر اظہار-پرنٽ 0،-پرنٹ،-exec، یا-OK میں سے کوئی بھی استعمال نہیں کرتا ہے، تو اگر شرائط درست ثابت ہوتی ہیں تو-پرنٹ انجام دینے کے لیے ڈیفالٹ تلاش کریں۔ آپریٹرز آپریٹرز کو فائنڈ کمانڈ کے تاثرات کو بڑھانے کے لیے استعمال کیا جا سکتا ہے۔ آپریٹرز کو کم ہوتی ہوئی ترجیح کی ترتیب میں درج کیا گیا ہے: (مثال کے طور پر): قوتوں کی ترجیح ؛! اگر ایکسپرا غلط ہے تو سچ ؛ ایکسپرا 1 ایکسپرا 2 (یا ایکسپرا 1-ایکسپرا 2: اور۔ اگر غلط ہے تو اس کا اندازہ نہیں لگایا جاتا ہے ؛ expr1-o expr2: OR۔ اگر سچ ہے تو ایکس پی آر 2 کا جائزہ نہیں لیا جاتا ہے۔ $تلاش کریں۔ - نام 'فائل اے _ *'-او-نام 'فائل بی _ *' یہ کمانڈ موجودہ کام کرنے والی ڈائرکٹری ٹری کو ان فائلوں کے لیے تلاش کرتی ہے جن کے نام یا سے شروع ہوتے ہیں۔ ہم حوالہ دیتے ہیں تاکہ خول اسے وسعت نہ دے۔ $تلاش کریں۔ - نام 'foo.cpp'! ' یہ کمانڈ ذیلی ڈائرکٹری ٹری کے علاوہ موجودہ کام کرنے والے ڈائرکٹری ٹری کو تلاش کرتی ہے۔ "ایس وی این" ان فائلوں کے لیے جن کا نام "foo.cpp" ہے۔ ہم حوالہ دیتے ہیں! تاکہ شیل کے ذریعہ اس کی تشریح تاریخ کے متبادل کردار کے طور پر نہ کی جائے۔ لامحدود آؤٹ پٹ سے پوزیکس تحفظ حقیقی دنیا کے فائل سسٹم میں اکثر سخت یا نرم لنکس کے استعمال کے ذریعے بنائے گئے لوپڈ ڈھانچے ہوتے ہیں۔ پوزیکس معیار کے لیے ضروری ہے کہ موجودہ کام کرنے والی ڈائرکٹری سے مثالیں تلاش کریں۔ - نام 'میرا *' یہ موجودہ کام کرنے والے ڈائرکٹری ٹری کو ان فائلوں کے لیے تلاش کرتا ہے جن کے نام میرے سے شروع ہوتے ہیں۔ واحد اقتباسات شیل کی توسیع سے بچتے ہیں-ان کے بغیر شیل مائی * کو ان فائلوں کی فہرست سے تبدیل کر دے گا جن کے نام موجودہ ورکنگ ڈائرکٹری میں مائی سے شروع ہوتے ہیں۔ پروگرام کے نئے ورژن میں، ڈائرکٹری کو خارج کیا جا سکتا ہے، اور یہ موجودہ ورکنگ ڈائرکٹری کو ظاہر کرے گا۔ باقاعدہ فائلیں صرف $find کرتی ہیں۔ - نام 'میرا *'-قسم f یہ مندرجہ بالا تلاش کے نتائج کو صرف باقاعدہ فائلوں تک محدود کرتا ہے، اس لیے ڈائریکٹریز، خصوصی فائلیں، علامتی لنکس وغیرہ کو چھوڑ کر۔ میرا * واحد اقتباسات (apostrophes) میں منسلک ہے بصورت دیگر شیل اسے موجودہ ورکنگ ڈائرکٹری میں موجود فائلوں کی فہرست سے بدل دے گا جو میرے سے شروع ہوتا ہے۔ کمانڈز پچھلی مثالوں نے نتائج کی فہرستیں بنائیں کیونکہ، پہلے سے طے شدہ طور پر، فائنڈ-پرنٹ ایکشن کو انجام دیتا ہے۔ (نوٹ کریں کہ فائنڈ کمانڈ کے ابتدائی ورژن میں کوئی ڈیفالٹ ایکشن نہیں تھا ؛ اس لیے فائلوں کی نتیجے میں بننے والی فہرست کو صارفین کی الجھن کے لیے خارج کر دیا جائے گا۔) $تلاش کریں۔ - نام 'میرا *'-قسم f-ls یہ توسیعی فائل کی معلومات پرنٹ کرتا ہے۔ تمام ڈائریکٹریز تلاش کریں $فائنڈ/- نام مائی فائل-ٹائپ ایف-پرنٹ یہ ہر ڈائرکٹری کو ایک باقاعدہ فائل کے لیے تلاش کرتا ہے جس کا نام مائی فائل ہے اور اسے اسکرین پر پرنٹ کرتا ہے۔ عام طور پر اس طرح سے فائلوں کو تلاش کرنا اچھا خیال نہیں ہے۔ اس میں کافی وقت لگ سکتا ہے، لہذا ڈائریکٹری کو زیادہ واضح طور پر بیان کرنا بہتر ہے۔ کچھ آپریٹنگ سسٹم متحرک فائل سسٹمز کو نصب کر سکتے ہیں جو تلاش کرنے کے لیے سازگار نہیں ہیں۔ زیادہ پیچیدہ فائل کے نام بشمول خول کے لیے مخصوص حروف کو واحد حوالوں میں منسلک کرنے کی ضرورت پڑ سکتی ہے۔ ایک ذیلی ڈائرکٹری ٹری کے علاوہ تمام تلاش کریں $فائنڈ/- پاتھ ایکسکلیوڈ _ پاتھ-پرن-او-ٹائپ ایف-نام مائی فائل-پرنٹ یہ ہر ڈائرکٹری کو تلاش کرتا ہے سوائے ذیلی ڈائرکٹری ٹری ایکسکلیوڈ _ پاتھ (مکمل راستہ بشمول لیڈنگ/) کے جسے-پرن ایکشن کے ذریعے تراشا جاتا ہے، ایک باقاعدہ فائل کے لیے جس کا نام مائی فائل ہے۔ ایک ڈائرکٹری کی وضاحت کریں $فائنڈ/ہوم/ویڈلی-نام مائی فائل-ٹائپ ایف-پرنٹ یہ مائی فائل نامی باقاعدہ فائلوں کے لیے/ہوم/ویڈلی ڈائرکٹری ٹری کو تلاش کرتا ہے۔ آپ کو ہمیشہ ڈائریکٹری کو گہری ترین سطح پر متعین کرنا چاہیے جسے آپ یاد رکھ سکتے ہیں۔ کئی ڈائریکٹریز تلاش کریں $مقامی/ٹی ایم پی تلاش کریں-نام مائی ڈائر-ٹائپ ڈی-پرنٹ یہ موجودہ ورکنگ ڈائرکٹری کے مقامی ذیلی ڈائرکٹری ٹری اور مائی ڈائرکٹری نامی ڈائریکٹریز کے لیے/ٹی ایم پی ڈائرکٹری ٹری کو تلاش کرتا ہے۔ غلطیوں کو نظر انداز کریں اگر آپ یہ روٹ کے علاوہ کسی اور صارف کے طور پر کر رہے ہیں، تو آپ اجازت سے انکار (اور کسی بھی دوسری) غلطیوں کو نظر انداز کرنا چاہیں گے۔ چونکہ غلطیاں ایس ٹی ڈی آر آر پر پرنٹ کی جاتی ہیں، اس لیے آؤٹ پٹ کو/dev/null پر ری ڈائریکٹ کرکے انہیں دبایا جا سکتا ہے۔ مندرجہ ذیل مثال سے پتہ چلتا ہے کہ بیش شیل میں یہ کیسے کیا جائے: $فائنڈ/- نام مائی فائل-ٹائپ ایف-پرنٹ 2>/ڈیو/نیل اگر آپ سی ایس ایچ یا ٹی سی ایس ایچ صارف ہیں، تو آپ ایس ٹی ڈی آؤٹ کو بھی ری ڈائریکٹ کیے بغیر ایس ٹی ڈی آر کو ری ڈائریکٹ نہیں کر سکتے۔ آپ اس کے ارد گرد جانے کے لیے فائنڈ کمانڈ کو چلانے کے لیے 'ش' کا استعمال کر سکتے ہیں: $'ش'-'سی' فائنڈ/- نیم مائی فائل-ٹائپ ایف-پرنٹ 2>/ڈیو/نیل 'جب سی ایس ایچ یا ٹی سی ایس ایچ کا استعمال کرتے ہیں تو ایک متبادل طریقہ یہ ہے کہ آؤٹ پٹ کو ایس ٹی ڈی آؤٹ اور ایس ٹی ڈی آر سے گریپ کمانڈ میں پائپ کیا جائے۔ اس مثال سے پتہ چلتا ہے کہ اجازت سے انکار شدہ غلطیوں پر مشتمل لائنوں کو کیسے دبایا جائے۔ $تلاش کریں۔ - نام مائی فائل | & grep-v 'اجازت سے انکار' مختلف نام والی فائلوں میں سے کسی ایک کو تلاش کریں۔ \ (-نام '* جے ایس پی'-o-نام '* جاوا'\)-ٹائپ ایف-ایل ایس آپریٹر توسیعی معلومات پرنٹ کرتا ہے، اور مثال میں کوئی بھی باقاعدہ فائل ملتی ہے جس کا نام 'جے ایس پی' یا 'جاوا' کے ساتھ ختم ہوتا ہے۔ نوٹ کریں کہ قوسین درکار ہیں۔ بہت سے خولوں میں قوسین کو بیک سلیش (\(اور\)) کے ساتھ بچانا ضروری ہے تاکہ انہیں خصوصی خول حروف کے طور پر تشریح کرنے سے روکا جا سکے۔ - ls آپریٹر فائنڈ کے تمام ورژن پر دستیاب نہیں ہے۔ ایک ایکشن کو انجام دیں جس کا نام '*. mp3'-ٹائپ f-exec chmod 644 {} ہے۔ یہ کمانڈ ان تمام باقاعدہ فائلوں کی اجازتوں کو تبدیل کرتی ہے جن کے نام ڈائرکٹری ٹری/ver/ftp/mp3 میں. mp3 کے ساتھ ختم ہوتے ہیں۔ کارروائی کمانڈ میں بیان-exec chmod 644 {}\؛ کی وضاحت کرکے کی جاتی ہے۔ ہر باقاعدہ فائل کے لیے جس کا نام. ایم پی 3 میں ختم ہوتا ہے، کمانڈ chmod 644 {} کو فائل کے نام کے ساتھ {} کی جگہ پر چلایا جاتا ہے۔ سیمی کولن (شیل سے بچنے کے لیے بیک سلیش کیا گیا جسے کمانڈ سیپریٹر کے طور پر سمجھا جاتا ہے) کمانڈ کے اختتام کی نشاندہی کرتا ہے۔ اجازت 644، جسے عام طور پر rw-r---r-کے طور پر دکھایا جاتا ہے، فائل کے مالک کو فائل کو پڑھنے اور لکھنے کی مکمل اجازت دیتا ہے، جبکہ دوسرے صارفین کو صرف پڑھنے تک رسائی حاصل ہوتی ہے۔ کچھ خولوں میں، {} کا حوالہ دیا جانا چاہیے۔ ٹریلنگ "" روایتی طور پر ایک لیڈنگ کے ساتھ حوالہ دیا جاتا ہے "، لیکن اتنا ہی مؤثر طریقے سے واحد حوالوں میں منسلک کیا جا سکتا ہے۔ نوٹ کریں کہ خود کمانڈ کا حوالہ نہیں دیا جانا چاہیے ؛ بصورت دیگر آپ کو غلطی کے پیغامات ملتے ہیں جیسے فائنڈ: ایکو "mv./3bfn ریل 071204": ایسی کوئی فائل یا ڈائرکٹری نہیں ہے جس کا مطلب ہے کہ فائنڈ "نامی فائل کو چلانے کی کوشش کر رہا ہے اور ناکام ہو رہا ہے۔ اگر آپ بہت سے نتائج پر عمل درآمد کر رہے ہوں گے، تو ایگزیکٹ پرائمری کا ایک مختلف قسم استعمال کرنا زیادہ موثر ہے جو فائل کے نام جمع کرتا ہے اور پھر فائل کے ناموں کی فہرست کے ساتھ کمانڈ پر عمل درآمد کرتا ہے۔ $تلاش کریں۔ - exec کمانڈ {} + یہ اس بات کو یقینی بنائے گا کہ سفید جگہوں والی فائل کے نام شیل کے ذریعے تقسیم کیے بغیر پھانسی دیے جانے والے کو منتقل کیے جائیں۔ فائلوں اور ڈائریکٹریز کو حذف کریں-حذف کرنے کا عمل ایک جی این یو ایکسٹینشن ہے، اور اس کا استعمال کرتے ہوئے-گہرائی آن ہو جاتی ہے۔ لہذا، اگر آپ-ڈیلیٹ کے بجائے-پرنٹ کے ساتھ فائنڈ کمانڈ کی جانچ کر رہے ہیں تاکہ یہ معلوم کیا جا سکے کہ اس کے لیے جانے سے پہلے کیا ہوگا، تو آپ کو-ڈیپتھ-پرنٹ استعمال کرنے کی ضرورت ہے۔ خالی فائلوں کو حذف کریں اور ناموں کو پرنٹ کریں (نوٹ کریں کہ-ایمپٹی جی این یو فائنڈ سے وینڈر کی منفرد توسیع ہے جو تمام فائنڈ نفاذ میں دستیاب نہیں ہو سکتی ہے): $فائنڈ۔ خالی عام فائلیں حذف کریں: $فائنڈ۔ - ٹائپ ایف-ایمپٹی-ڈیلیٹ خالی ڈائریکٹریز ڈیلیٹ کریں: $فائنڈ۔ - ٹائپ ڈی-ایمپٹی-ڈیلیٹ 'بیڈ' نامی خالی فائلیں حذف کریں: $فائنڈ۔ خراب-خالی-ڈیلیٹ وارننگ کا نام دیں۔ - حذف عمل کو-خالی یا-نام: $فائنڈ جیسی شرائط کے ساتھ استعمال کیا جانا چاہیے۔ - حذف کریں #یہ سب کو حذف کر دیتا ہے۔ سٹرنگ تلاش کریں یہ کمانڈ/tmp ڈائرکٹری ٹری سے تمام فائلوں کو سٹرنگ کے لیے تلاش کرے گی: $find/tmp-type f-exec grep 'سرچ سٹرنگ'/dev/null '{}'\+/dev/null دلیل فائل کا نام دکھانے کے لیے استعمال ہوتی ہے جو متن سے پہلے ملتا ہے۔ اس کے بغیر، صرف پایا گیا متن چھاپا جاتا ہے۔ (متبادل طور پر، گریپ کے کچھ ورژن ایک جھنڈے کی حمایت کرتے ہیں جو فائل کا نام پرنٹ کرنے پر مجبور کرتا ہے۔) جی این یو گریپ کو اس کام کو انجام دینے کے لیے خود ہی استعمال کیا جا سکتا ہے: $grep-r 'سرچ سٹرنگ'/ٹی ایم پی جسمتھ کے ہوم ڈائرکٹری ٹری میں "ایل او جی" کی تلاش کی مثال: $find ~ jsmith-exec grep LOG '{}'/dev/null\ ؛-پرنٽ/ہوم/جسمتھ/اسکرپٹ/errpt. sh: cp $LOG $FIXEDLOGNAME/ہوم/جسمتھ/اسکرپٹ/errpt. sh: کیٹ $LOG/ہوم/جسمتھ/اسکرپٹ/ٹائٹل: USER = $LOGNAME تمام ایکس میں "ایرر" سٹرنگ کی تلاش کی مثال اس مثال میں تلاش کے سٹرنگ کے ارد گرد ڈبل کوٹس ("") اور بریس کے ارد گرد سنگل کوٹس ('') اختیاری ہیں، لیکن سٹرنگ میں خالی جگہوں اور کچھ دیگر خاص حروف کی اجازت دینے کے لیے ضروری ہیں۔ زیادہ پیچیدہ متن کے ساتھ نوٹ کریں (خاص طور پر زیادہ تر مقبول شیلز میں جو 'ش' اور 'سی ایس ایچ' سے نکلتے ہیں) سنگل کوٹس اکثر آسان انتخاب ہوتے ہیں، کیونکہ ڈبل کوٹس تمام خصوصی تشریح کو نہیں روکتے ہیں۔ فائل کے ناموں کا حوالہ دیتے ہوئے جن میں انگریزی سنکچن ہوتا ہے یہ ظاہر کرتا ہے کہ یہ کس طرح پیچیدہ ہو سکتا ہے، کیونکہ اس میں apostrophe والی تار کو دوہرے حوالوں سے محفوظ کرنا آسان ہے: $find۔ - نام "فائل پر مشتمل-نہیں کر سکتا"-exec grep "نہیں کر سکتا" '{}'\؛-پرنٹ صارف کی ملکیت والی تمام فائلوں کے لیے تلاش کریں۔ - یوزر <یوزرآئی ڈی> غیر حساس صورت میں تلاش کریں نوٹ کریں کہ-نام معیار میں نہیں ہے اور ہو سکتا ہے کہ تمام نفاذ کے ذریعے اس کی حمایت نہ کی جائے۔ $تلاش کریں۔ - نام 'مائی فائل *' اگر آپ کے سسٹم پر-نام کے سوئچ کی حمایت نہیں کی جاتی ہے تو اس کے حل کی تکنیکیں ممکن ہو سکتی ہیں جیسے: $فائنڈ۔ - نام '[mM] [yY] [fF] [iI] [lL] [eE] *' سائز کے لحاظ سے فائلیں تلاش کریں ایسی فائلیں تلاش کریں جن کا سائز 100 کلوبائٹ اور 500 کلوبائٹ کے درمیان ہو: $فائنڈ۔ - سائز + 100k-a-سائز-500k خالی فائلوں کی تلاش: $فائنڈ۔ - سائز 0k غیر خالی فائلوں کو تلاش کرنا: $فائنڈ۔ ! - سائز 0k فائلوں کو نام اور سائز کے لحاظ سے تلاش کریں $/usr/src تلاش کریں! \ (-نام '*، v'-o-نام '۔ *، v '\)' {} '\؛-پرنٹ یہ کمانڈ/usr/src ڈائرکٹری ٹری کو تلاش کرے گی۔ وہ تمام فائلیں جو فارم کی ہیں اور خارج ہیں۔ نوٹ کرنے کے لیے اہم دلائل ٹول ٹپ میں ہیں جو ماؤس اوور پر دکھائے جاتے ہیں۔ $میں فائل کے لیے (فائنڈ/آپٹ\ (-نام ایرر _ لاگ-o-نام 'ایکسیس _ لاگ'-o-نام 'ssl _ انجن _ لاگ'-o-نام 'ری رائٹ _ لاگ'-o-نام 'catalina.out'\)-سائز + 300000k-a-سائز-5000000k) ؛ ڈو کیٹ/دیو/نیل> $فائل مکمل ہو چکی ہے۔ یونٹس میں سے ایک ہونا چاہیے، 'b' کا مطلب 512 بائٹ بلاکس، 'c' کا مطلب بائٹ، 'k' کا مطلب کلو بائٹ اور 'w' کا مطلب 2-بائٹ الفاظ ہیں۔ سائز بالواسطہ بلاکس کو شمار نہیں کرتا ہے، لیکن یہ غیر معمولی فائلوں میں بلاکس کو شمار کرتا ہے جو اصل میں مختص نہیں ہیں۔ وقت کی تاریخ کی حدود کے لحاظ سے فائلوں کو تلاش کرنا، مثال کے طور پر، بیک اپ کے بعد سے تبدیل شدہ فائلوں کی فہرست بنانے کے لیے استعمال کیا جا سکتا ہے۔ : ترمیم کا وقت: انوڈ تبدیلی کا وقت: رسائی کا وقت فائلوں نے کئی دن پہلے نسبتا تعداد میں ترمیم کی: + [نمبر] = کم از کم یہ کئی دن پہلے۔ - [نمبر] = اتنے دن پہلے سے کم۔ [نمبر] = بالکل یہ کئی دن پہلے۔ اختیاری طور پر پچھلے 24 گھنٹوں کے بجائے دن کے آغاز (0 بجے) سے وقت کی پیمائش کے لیے-ڈے اسٹارٹ شامل کریں۔ ایک ہفتے کے بعد سے ترمیم شدہ دستاویز کے فولڈر میں تمام ٹیکسٹ فائلوں کو تلاش کرنے کی مثال (جس کا مطلب 7 دن ہے): "*. txt"-mtim-7 فائلیں تلاش کریں "*. txt"-mtim-7 ایک مطلق تاریخ اور وقت سے پہلے یا بعد میں ترمیم شدہ فائلیں:-newermt YYY-mm-dD: تاریخ کے بعد آخری بار ترمیم کی گئی-نہیں-newermt YYY-mm-dD: تاریخ سے پہلے آخری بار ترمیم شدہ تمام ٹیکسٹ فائلوں کو تلاش کرنے کے لیے مثال فروری 2017 میں آخری بار ترمیم کی گئی: "*. txt"-newermt 2017-02-01-not-newermt 2017-03-01-newer [فائل]: مخصوص فائل سے حال ہی میں ترمیم شدہ۔ - نیا: انوڈ تبدیلی کے وقت کے ساتھ بھی ایسا ہی ہے۔ - نیا: رسائی کے وقت کے ساتھ بھی ایسا ہی ہے۔ الٹا نتائج یا رینج کے لیے-not کے ساتھ بھی پہلے سے قابل ادائیگی۔ "document.txt" سے زیادہ حال ہی میں ترمیم شدہ تمام ٹیکسٹ فائلوں کو فہرست میں شامل کریں: $فائنڈ ~/ڈاکیومنٹس/- نام "*. txt"-نیا document.txt متعلقہ یوٹیلیٹیز لوکیٹ ایک یونیکس سرچ ٹول ہے جو فائل سسٹم کے ڈائرکٹری ٹریز کے بجائے فائلوں کے پہلے سے تیار کردہ ڈیٹا بیس کو تلاش کرتا ہے۔ یہ تلاش کرنے سے زیادہ تیز لیکن کم درست ہے کیونکہ ڈیٹا بیس تازہ ترین نہیں ہو سکتا ہے۔ گریپ ایک کمانڈ لائن یوٹیلیٹی ہے جو سادہ متن کے ڈیٹا سیٹوں کو تلاش کرنے کے لیے ہے جو کہ باقاعدہ اظہار سے مماثل لائنوں کے لیے اور معیاری آؤٹ پٹ پر ڈیفالٹ طور پر مماثل لائنوں کی رپورٹنگ کے لیے ہے۔ ٹری ایک کمانڈ لائن یوٹیلیٹی ہے جو ڈائرکٹری ٹری میں پائی جانے والی فائلوں کی بار بار فہرست بناتی ہے، فائل کے درجہ بندی میں ان کی پوزیشن کے مطابق فائل کے ناموں کو داخل کرتی ہے۔ جی این یو فائنڈ یوٹیلیٹیز (جسے فائنڈوٹلز بھی کہا جاتا ہے) ایک جی این یو پیکیج ہے جس میں ٹولز فائنڈ اور xargs کے نفاذ شامل ہیں۔ BusyBox ایک یوٹیلیٹی ہے جو ایک ہی قابل عمل فائل میں کئی اسٹرپڈ ڈاؤن یونکس ٹولز فراہم کرتی ہے، جس کا مقصد بہت محدود وسائل کے ساتھ سرایت شدہ آپریٹنگ سسٹم کے لیے ہے۔ یہ تلاش کا ایک ورژن بھی فراہم کرتا ہے۔ ڈی آئی آر کے پاس/s آپشن ہے جو فائلوں یا ڈائریکٹریز کو بار بار تلاش کرتا ہے۔ بیل لیبز کا پلان 9 تبدیل کرنے کے لیے دو افادیت کا استعمال کرتا ہے: ایک جو صرف درخت پر چلتا ہے اور ناموں کو چھاپتا ہے اور ایک جو شیل اسکرپٹ کی شکل میں تاثرات کا جائزہ لے کر صرف فلٹر کرتا ہے (جیسے گریپ)۔ من مانی فلٹرز کو پائپوں کے ذریعے استعمال کیا جا سکتا ہے۔ کمانڈز یوزر اسپیس کے پلان 9 کا حصہ نہیں ہیں، اس لیے گوگل کے بینجمن بیرن بلیٹ کے پاس گٹ ہب کے ذریعے دستیاب پوزیکس سسٹمز کا ایک پورٹیڈ ورژن ہے۔ رسٹ پروگرامنگ زبان میں لکھنے کا ایک آسان متبادل ہے۔ ایم ڈی فائنڈ بھی دیکھیں، ایک ایسی ہی یوٹیلیٹی جو میک او ایس اور ڈارون کے لیے میٹا ڈیٹا استعمال کرتی ہے۔ یونکس کمانڈوں کی فہرست ڈاس کمانڈوں کی فہرست فلٹر (اعلی آرڈر فنکشن) فائنڈ (ونڈوز)، ایک ڈاس اور ونڈوز کمانڈ جو یونکس فائنڈ فار فائلوں سے بہت مختلف ہے، ایک ونڈوز کمانڈ جو فائلوں کو خاصیت کے لحاظ سے تلاش کرتی ہے، یونکس فائنڈ گریپ کی طرح، ایک یونکس کمانڈ جو ایک پیٹرن سے مماثل متن تلاش کرتی ہے، ونڈوز کی طرح حوالہ جات تلاش کرتی ہے۔ بیرونی لنکس جی این یو فائنڈ کمانڈ فائنڈ کے لیے آفیشل ویب پیج-25 عملی مثالیں انفارمیشن ریٹریول سسٹم اسٹینڈرڈ یونکس ایس یو ایس 2008 یوٹیلیٹیز پلان 9 کمانڈ آئی بی ایم آئی کیو شیل کمانڈ کرتا ہے۔