Find (Unix)
ইউনিক্স-সদৃশ এবং অন্যান্য অপারেটিং সিস্টেমে, ফাইন্ড হল একটি কমান্ড-লাইন ইউটিলিটি যা কিছু ব্যবহারকারী-নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে ফাইলগুলি সনাক্ত করে এবং হয় প্রতিটি মিলে যাওয়া বস্তুর পথের নাম প্রিন্ট করে বা, যদি অন্য কোনও ক্রিয়া অনুরোধ করা হয়, প্রতিটি মিলে যাওয়া বস্তুর উপর সেই ক্রিয়াটি সম্পাদন করে। এটি একটি পছন্দসই প্রারম্ভিক অবস্থান থেকে অনুসন্ধান শুরু করে এবং তারপরে একটি শ্রেণিবদ্ধ কাঠামোর (সাধারণত একটি গাছ) নোডগুলি (ডিরেক্টরি) পুনরাবৃত্তভাবে অতিক্রম করে। ফাইন্ড প্রারম্ভিক ডিরেক্টরির অধীনে মাউন্ট করা এক বা একাধিক স্টোরেজ ডিভাইসের বিভিন্ন ফাইল সিস্টেমের মাধ্যমে অনুসন্ধান এবং অনুসন্ধান করতে পারে। সম্ভাব্য অনুসন্ধানের মানদণ্ডের মধ্যে রয়েছে ফাইলের নামের সাথে মেলে এমন একটি প্যাটার্ন বা ফাইলের পরিবর্তনের সময় বা অ্যাক্সেসের সময়ের সাথে মেলে এমন একটি সময় পরিসীমা। ডিফল্টরূপে, ফাইন্ড বর্তমান কার্যকরী ডিরেক্টরির নীচে সমস্ত ফাইলের একটি তালিকা প্রদান করে, যদিও ব্যবহারকারীরা প্রারম্ভিক ডিরেক্টরির অধীনে যে কোনও পছন্দসই সর্বোচ্চ সংখ্যক স্তরে অনুসন্ধানকে সীমাবদ্ধ করতে পারেন। সম্পর্কিত লোকেট প্রোগ্রামগুলি ফাইন্ডের মাধ্যমে প্রাপ্ত সূচীভুক্ত ফাইলগুলির একটি ডাটাবেস ব্যবহার করে (নিয়মিত বিরতিতে আপডেট করা হয়, সাধারণত ক্রন জব দ্বারা) নাম অনুসারে ফাইলগুলির জন্য পুরো ফাইল সিস্টেম অনুসন্ধানের একটি দ্রুত পদ্ধতি সরবরাহ করতে। ইতিহাস খুঁজে পাওয়া প্রোগ্রামারের ওয়ার্কবেঞ্চ প্রকল্পের অংশ হিসাবে ইউনিক্স সংস্করণ 5-এ উপস্থিত হয়েছিল এবং সিপিওর পাশাপাশি ডিক হাইট লিখেছিলেন, যা একসাথে ব্যবহার করার জন্য ডিজাইন করা হয়েছিল। জি. এন. ইউ ফাইন্ড বাস্তবায়ন মূলত এরিক ডেকার লিখেছিলেন। এটি পরে ডেভিড ম্যাকেঞ্জি, জে প্লেইট এবং টিম উড দ্বারা উন্নত করা হয়েছিল। কমান্ডটি আইবিএম আই অপারেটিং সিস্টেমেও পোর্ট করা হয়েছে। সিনট্যাক্স $ফাইন্ড [-H।-L] পাথ খুঁজুন। [অপারেন্ড _ এক্সপ্রেশন।] ফাইন্ড কমান্ডটি প্রতীকী লিঙ্কগুলির সাথে কীভাবে আচরণ করবে তা দুটি বিকল্প নিয়ন্ত্রণ করে। ডিফল্ট আচরণটি কখনই প্রতীকী লিঙ্কগুলি অনুসরণ করা নয়। ফ্ল্যাগটি ফাইন্ড কমান্ডকে প্রতীকী লিঙ্কগুলি অনুসরণ করতে বাধ্য করবে। কমান্ড লাইনের আর্গুমেন্টগুলি প্রক্রিয়া করার সময় পতাকাটি শুধুমাত্র প্রতীকী লিঙ্কগুলি অনুসরণ করবে। এই ফ্ল্যাগগুলি খুঁজে বের করার জন্য পজিক্স স্ট্যান্ডার্ডে নির্দিষ্ট করা হয়েছে। একটি সাধারণ এক্সটেনশন হল পতাকা, যা স্পষ্টভাবে সিমলিঙ্ক অনুসরণ নিষ্ক্রিয় করার জন্য। অভিব্যক্তিটির আগে অন্তত একটি পথ অবশ্যই থাকতে হবে। ফাইন্ড অভ্যন্তরীণভাবে ওয়াইল্ডকার্ড ব্যাখ্যা করতে সক্ষম এবং শেল গ্লোবিং নিয়ন্ত্রণের জন্য কমান্ডগুলি অবশ্যই সাবধানে উদ্ধৃত করতে হবে। অভিব্যক্তি উপাদানগুলি কমান্ড-লাইন আর্গুমেন্ট সীমানা দ্বারা পৃথক করা হয়, সাধারণত শেল সিনট্যাক্সে হোয়াইটস্পেস হিসাবে প্রতিনিধিত্ব করা হয়। এগুলি বাম থেকে ডানে মূল্যায়ন করা হয়। এগুলিতে যৌক্তিক উপাদান যেমন AND (বা) এবং OR (বা) পাশাপাশি ভবিষ্যদ্বাণী (ফিল্টার এবং ক্রিয়া) থাকতে পারে। জি. এন. ইউ ফাইন্ডে প্রচুর সংখ্যক অতিরিক্ত বৈশিষ্ট্য রয়েছে যা পোসিক্স দ্বারা নির্দিষ্ট করা হয়নি। সাধারণত ব্যবহৃত প্রাথমিকগুলির মধ্যে রয়েছেঃ-নাম প্যাটার্নঃ ফাইলের নাম প্রদত্ত শেল-গ্লোব প্যাটার্নের সাথে মেলে কিনা তা পরীক্ষা করে। - টাইপ প্রকারঃ ফাইলটি একটি প্রদত্ত প্রকার কিনা তা পরীক্ষা করে। ইউনিক্স ফাইলের স্বীকৃত প্রকারগুলির মধ্যে রয়েছেঃ খঃ ব্লক ডিভাইস (বাফার্ড); গঃ ক্যারেক্টর ডিভাইস (আনবাফার্ড); ঘঃ ডিরেক্টরি; চঃ নিয়মিত ফাইল; লঃ প্রতীকী লিঙ্ক; পিঃ পাইপের নাম; গুলিঃ সকেট; ডিঃ দরজা। - প্রিন্টঃ সর্বদা সত্য রিটার্ন করে; বর্তমান ফাইলের নাম এবং একটি নতুন লাইন স্টডাউটে প্রিন্ট করে। - প্রিন্ট0: সর্বদা সত্য রিটার্ন করে; বর্তমান ফাইলের নাম এবং একটি নাল অক্ষর স্টডাউটে প্রিন্ট করে। পজিক্স দ্বারা প্রয়োজনীয় নয়। - exec প্রোগ্রাম [আর্গুমেন্ট];: প্রদত্ত আর্গুমেন্টগুলির সাথে প্রোগ্রাম চালায় এবং যদি এর প্রস্থান অবস্থা 0 হয় তবে সত্য ফেরত দেয়, অন্যথায় মিথ্যা। যদি প্রোগ্রাম বা একটি আর্গুমেন্ট {} হয়, তবে এটি বর্তমান পথ দ্বারা প্রতিস্থাপিত হবে (যদি প্রোগ্রামটি {} হয়, তবে ফাইন্ড বর্তমান পথটিকে এক্সিকিউটেবল হিসাবে চালানোর চেষ্টা করবে)। একাধিক {} নির্দিষ্ট করা থাকলে কী হওয়া উচিত তা পোসিক্স নির্দিষ্ট করে না। বেশিরভাগ বাস্তবায়ন সমস্ত {} কে বর্তমান পথের সাথে প্রতিস্থাপন করবে, তবে এটি আদর্শ আচরণ নয়। - exec প্রোগ্রাম [আর্গুমেন্ট] {} +: সর্বদা সত্য প্রদান করে; প্রদত্ত আর্গুমেন্ট সহ প্রোগ্রাম চালান, তারপরে যতটা সম্ভব পথ অনুসরণ করুন (xargs-এর মতো সর্বাধিক কমান্ড-লাইনের আকার অতিক্রম করলে একাধিক কমান্ড চালানো হবে)। - ok প্রোগ্রাম [আর্গুমেন্ট];: প্রতিটি পথের জন্য, নিশ্চিতকরণের জন্য ব্যবহারকারীকে অনুরোধ করে; যদি ব্যবহারকারী নিশ্চিত করে (সাধারণত y বা হ্যাঁ প্রবেশ করে), এটি-exec প্রোগ্রাম [আর্গুমেন্ট] এর মতো আচরণ করে; অন্যথায় কমান্ডটি বর্তমান পথের জন্য চালানো হয় না এবং মিথ্যা ফেরত দেওয়া হয়। যদি অভিব্যক্তিটি-প্রিন্ট0,-প্রিন্ট,-এক্সইসি, বা-ওকে-এর কোনওটিই ব্যবহার না করে, তবে শর্তগুলি সত্য হিসাবে পরীক্ষা করা হলে পারফর্মিং-প্রিন্টে ডিফল্ট খুঁজে বের করুন। অপারেটর অপারেটরগুলি ফাইন্ড কমান্ডের অভিব্যক্তিগুলি উন্নত করতে ব্যবহার করা যেতে পারে। অপারেটরদের ক্রমহ্রাসমান অগ্রগতির ক্রমে তালিকাভুক্ত করা হয়েছেঃ (উদাহরণস্বরূপ): অগ্রগতির জন্য বল প্রয়োগ;! এক্সপ্রিঃ সত্য যদি এক্সপ্রি মিথ্যা হয়; এক্সপ্রি1 এক্সপ্রি2 (অথবা এক্সপ্রি1-এ এক্সপ্রি2: এবং। যদি মিথ্যা হয় তবে মূল্যায়ন করা হয় না; expr1-o expr2: OR সত্য হলে এক্স. পি. আর. 2-এর মূল্যায়ন করা হয় না। $খুঁজে বের করুন। - নাম 'ফাইলএ _ *'-ও-নাম 'ফাইলবি _ *' এই কমান্ডটি বর্তমান কার্যকরী ডিরেক্টরি ট্রি অনুসন্ধান করে এমন ফাইলগুলির জন্য যাদের নাম বা দিয়ে শুরু হয়। আমরা উদ্ধৃত করি যাতে শেলটি এটি প্রসারিত না করে। $খুঁজে বের করুন। - নাম 'foo.cpp'! ' - পাথ '. এসভিএন' এই কমান্ডটি সাবডিরেক্টরি ট্রি ছাড়া বর্তমান কার্যকরী ডিরেক্টরি ট্রি অনুসন্ধান করে। "এসভিএন" ফাইলগুলির জন্য যার নাম "foo.cpp"। আমরা উদ্ধৃত করছি! যাতে এটি শেল দ্বারা ইতিহাসের বিকল্প চরিত্র হিসাবে ব্যাখ্যা করা না হয়। অসীম আউটপুট থেকে পজিক্স সুরক্ষা রিয়েল-ওয়ার্ল্ড ফাইল সিস্টেমে প্রায়শই হার্ড বা নরম লিঙ্ক ব্যবহারের মাধ্যমে তৈরি লুপযুক্ত কাঠামো থাকে। পি. ও. এস. আই. এক্স স্ট্যান্ডার্ডের জন্য বর্তমান কার্যকরী ডিরেক্টরি থেকে উদাহরণ খুঁজে বের করা প্রয়োজন। - 'মাই *' নাম দিন এটি বর্তমান কার্যকরী ডিরেক্টরি ট্রি অনুসন্ধান করে এমন ফাইলগুলির জন্য যাদের নাম আমার দিয়ে শুরু হয়। একক উদ্ধৃতিগুলি শেল সম্প্রসারণকে এড়িয়ে চলে-এগুলি ছাড়া শেলটি মাই * কে সেই ফাইলগুলির তালিকা দিয়ে প্রতিস্থাপন করবে যার নাম বর্তমান কার্যকরী ডিরেক্টরিতে মাই দিয়ে শুরু হয়। প্রোগ্রামের নতুন সংস্করণগুলিতে, ডিরেক্টরিটি বাদ দেওয়া হতে পারে এবং এটি বর্তমান কার্যকরী ডিরেক্টরিকে বোঝাবে। নিয়মিত ফাইলগুলি শুধুমাত্র $খুঁজে পাওয়া যায়। - নাম 'মাই *'-টাইপ এফ এটি উপরের অনুসন্ধানের ফলাফলগুলিকে শুধুমাত্র নিয়মিত ফাইলের মধ্যে সীমাবদ্ধ করে, তাই ডিরেক্টরি, বিশেষ ফাইল, প্রতীকী লিঙ্ক ইত্যাদি বাদ দিয়ে। আমার * একক উদ্ধৃতিতে (অ্যাপোস্ট্রফি) সংযুক্ত থাকে কারণ অন্যথায় শেলটি আমার দিয়ে শুরু হওয়া বর্তমান কার্যকরী ডিরেক্টরিতে ফাইলের তালিকা দিয়ে প্রতিস্থাপন করবে। পূর্ববর্তী উদাহরণগুলি ফলাফলের তালিকা তৈরি করেছে কারণ, ডিফল্টরূপে, ফাইন্ড-প্রিন্ট ক্রিয়াটি সম্পাদন করে। (লক্ষ্য করুন যে ফাইন্ড কমান্ডের প্রাথমিক সংস্করণগুলিতে কোনও ডিফল্ট অ্যাকশন ছিল না; তাই ব্যবহারকারীদের হতবাক করার জন্য ফাইলগুলির ফলস্বরূপ তালিকাটি বাতিল করা হবে।) $খুঁজে বের করুন। - নাম 'মাই *'-টাইপ f-ls এটি বর্ধিত ফাইলের তথ্য মুদ্রণ করে। সমস্ত ডিরেক্টরি অনুসন্ধান করুন $ফাইন্ড/- নাম মাইফাইল-টাইপ এফ-প্রিন্ট এটি প্রতিটি ডিরেক্টরিতে একটি নিয়মিত ফাইলের জন্য অনুসন্ধান করে যার নাম মাইফাইল এবং এটি পর্দায় মুদ্রণ করে। সাধারণত এইভাবে ফাইলগুলি সন্ধান করা ভাল ধারণা নয়। এটি যথেষ্ট সময় নিতে পারে, তাই ডিরেক্টরিটি আরও সুনির্দিষ্টভাবে উল্লেখ করা ভাল। কিছু অপারেটিং সিস্টেম গতিশীল ফাইল সিস্টেম স্থাপন করতে পারে যা খুঁজে পাওয়া সহজ নয়। শেলের বিশেষ অক্ষর সহ আরও জটিল ফাইলের নামগুলি একক উদ্ধৃতিতে সংযুক্ত করার প্রয়োজন হতে পারে। একটি সাবডিরেক্টরি ট্রি ছাড়া অন্য সব উপ-ডিরেক্টরি ট্রি খুঁজে বের করুন/- পাথ এক্সক্লুডেড _ পাথ-প্রুন-ও-টাইপ এফ-নাম মাইফাইল-প্রিন্ট এটি-প্রুন ক্রিয়া দ্বারা ছাঁটাই করা সাবডিরেক্টরি ট্রি এক্সক্লুডেড _ পাথ (পূর্ণ পথ সহ শীর্ষ/) ব্যতীত প্রতিটি ডিরেক্টরিতে অনুসন্ধান করে, একটি নিয়মিত ফাইলের জন্য যার নাম মাইফাইল। একটি ডিরেক্টরি নির্দিষ্ট করুন-নাম মাইফাইল-টাইপ এফ-প্রিন্ট এটি মাইফাইল নামে নিয়মিত ফাইলের জন্য/হোম/উইডলি ডিরেক্টরি ট্রি অনুসন্ধান করে। আপনার সর্বদা ডিরেক্টরিটি গভীরতম স্তরে নির্দিষ্ট করা উচিত যা আপনি মনে রাখতে পারেন। বেশ কয়েকটি ডিরেক্টরিতে অনুসন্ধান করুন $স্থানীয়/টিএমপি-নাম মাইডির-টাইপ ডি-প্রিন্ট এটি বর্তমান কার্যকরী ডিরেক্টরির স্থানীয় সাবডিরেক্টরি ট্রি এবং মাইডির নামে ডিরেক্টরিগুলির জন্য/টিএমপি ডিরেক্টরি ট্রি অনুসন্ধান করে। ত্রুটিগুলি উপেক্ষা করুন আপনি যদি রুট ছাড়া অন্য কোনও ব্যবহারকারী হিসাবে এটি করেন তবে আপনি অনুমতি অস্বীকার (এবং অন্য কোনও) ত্রুটিগুলি উপেক্ষা করতে চাইতে পারেন। যেহেতু ত্রুটিগুলি এস. টি. ডি. আর. আর-এ মুদ্রিত হয়, তাই আউটপুটকে/ডেভ/নাল-এ পুনর্নির্দেশ করে সেগুলি দমন করা যেতে পারে। নিচের উদাহরণটি ব্যাশ শেলের মধ্যে এটি কিভাবে করতে হয় তা দেখায়ঃ $find/- name মাইফাইল-টাইপ f-প্রিন্ট 2>/dev/null আপনি যদি একজন সি. এস. এইচ বা টি. সি. এস. এইচ ব্যবহারকারী হন, তাহলে আপনি এস. টি. ডি. আউট পুনর্নির্দেশ না করে এস. টি. ডি. আর. কে পুনর্নির্দেশ করতে পারবেন না। আপনি খুঁজে বের করার কমান্ডটি চালানোর জন্য 'শ' ব্যবহার করতে পারেনঃ 'ফাইন্ড/- নেম মাইফাইল'-টাইপ এফ-প্রিন্ট 2>/ডেভ/নাল 'সি. এস. এইচ বা টি. সি. এস. এইচ ব্যবহার করার সময় একটি বিকল্প পদ্ধতি হল' স্টডাউট 'এবং' স্টডার 'থেকে আউটপুটকে' গ্রেপ 'কমান্ডের মধ্যে পাইপ করা। এই উদাহরণটি দেখায় যে অনুমতি অস্বীকার করা ত্রুটি রয়েছে এমন লাইনগুলি কীভাবে দমন করা যায়। $খুঁজে বের করুন। - নাম মাইফাইল। & গ্রেপ-ভি 'অনুমতি প্রত্যাখ্যান' ভিন্ন নামের ফাইলগুলির মধ্যে যে কোনও একটি খুঁজে বের করুন। \ (-নাম '* জেএসপি'-ও-নাম '* জাভা'\)-টাইপ এফ-এলএস-এলএস অপারেটর বর্ধিত তথ্য মুদ্রণ করে এবং উদাহরণটি এমন কোনও নিয়মিত ফাইল খুঁজে পায় যার নাম 'জেএসপি' বা 'জাভা' দিয়ে শেষ হয়। মনে রাখবেন যে বন্ধনীগুলি প্রয়োজন। অনেক শেলগুলিতে বন্ধনীগুলিকে একটি ব্যাকস্ল্যাশ (\(এবং\)) দিয়ে এড়াতে হবে যাতে সেগুলিকে বিশেষ শেল অক্ষর হিসাবে ব্যাখ্যা করা থেকে বিরত রাখা যায়। - ls অপারেটর ফাইন্ডের সমস্ত সংস্করণে উপলব্ধ নয়। '*. mp3'-টাইপ f-exec chmod 644 {}\; এই কমান্ডটি এমন সমস্ত নিয়মিত ফাইলের অনুমতি পরিবর্তন করে যার নাম ডিরেক্টরি ট্রি/ভার/এফটিপি/এমপি3-তে. mp3 দিয়ে শেষ হয়। কমান্ডের মধ্যে-exec chmod 644 {}\; বিবৃতিটি নির্দিষ্ট করে এই ক্রিয়াটি সম্পন্ন করা হয়। প্রতিটি নিয়মিত ফাইলের জন্য যার নাম. এমপি3-তে শেষ হয়, chmod 644 {} কমান্ডটি ফাইলের নাম দিয়ে {} প্রতিস্থাপন করে কার্যকর করা হয়। সেমিকোলন (শেলটিকে কমান্ড সেপারেটর হিসাবে ব্যাখ্যা করা এড়াতে ব্যাকস্ল্যাশ করা) কমান্ডের শেষ নির্দেশ করে। অনুমতি 644, সাধারণত rw-r---r-- হিসাবে দেখানো হয়, ফাইলের মালিককে ফাইলটি পড়ার এবং লেখার সম্পূর্ণ অনুমতি দেয়, যেখানে অন্যান্য ব্যবহারকারীদের কেবল পড়ার অনুমতি থাকে। কিছু শেলের মধ্যে, {} অবশ্যই উদ্ধৃত করা আবশ্যক। পিছনের অংশটি "প্রথাগতভাবে একটি অগ্রভাগের সাথে উদ্ধৃত করা হয়", তবে ঠিক ততটাই কার্যকরভাবে একক উদ্ধৃতিতে আবদ্ধ করা যেতে পারে। মনে রাখবেন যে কমান্ডটি নিজেই উদ্ধৃত করা উচিত নয়; অন্যথায় আপনি 'ফাইন্ড'-এর মতো ত্রুটি বার্তা পাবেন যেমনঃ 'ইকো' 'এমভি./3বিএফএন রিল071204': এমন কোনও ফাইল বা ডিরেক্টরি নেই যার অর্থ ফাইন্ড 'নামক একটি ফাইল চালানোর চেষ্টা করছে এবং ব্যর্থ হচ্ছে। আপনি যদি অনেকগুলি ফলাফল সম্পাদন করেন, তবে এক্সিক প্রাথমিকের একটি বৈকল্পিক ব্যবহার করা আরও কার্যকর যা ফাইলের নামগুলি সংগ্রহ করে এবং তারপরে ফাইলের নামের তালিকা সহ কমান্ড কার্যকর করে। $খুঁজে বের করুন। - exec COMMAND {} + এটি নিশ্চিত করবে যে শ্বেতস্থান সহ ফাইলের নামগুলি শেল দ্বারা বিভক্ত না হয়ে কার্যকর করা হয়। ফাইল এবং ডিরেক্টরি মুছে ফেলুন-মুছে ফেলার ক্রিয়াটি একটি জি. এন. ইউ এক্সটেনশন, এবং এটি ব্যবহার করে-গভীরতা চালু হয়। সুতরাং, আপনি যদি-মুছে ফেলার পরিবর্তে-প্রিন্ট সহ একটি ফাইন্ড কমান্ড পরীক্ষা করেন যাতে এটি করার আগে কী ঘটবে তা নির্ধারণ করা যায়, আপনাকে-ডেপথ-প্রিন্ট ব্যবহার করতে হবে। খালি ফাইলগুলি মুছে ফেলুন এবং নামগুলি মুদ্রণ করুন (লক্ষ্য করুন যে-খালি একটি বিক্রেতার অনন্য এক্সটেনশন যা জি. এন. ইউ ফাইন্ড থেকে পাওয়া যায় যা সমস্ত ফাইন্ড বাস্তবায়নে উপলব্ধ নাও হতে পারে): $ফাইন্ড। - খালি-মুছে ফেলুন-মুদ্রণ খালি নিয়মিত ফাইলগুলি মুছে ফেলুনঃ $ফাইন্ড। - টাইপ করুন এফ-খালি-মুছে ফেলুন খালি ডিরেক্টরিগুলি মুছে ফেলুনঃ $ফাইন্ড। - টাইপ ডি-খালি-মুছে ফেলুন 'খারাপ' নামক খালি ফাইলগুলি মুছে ফেলুনঃ $ফাইন্ড। - খারাপ-খালি-মুছে ফেলার সতর্কতা নাম দিন। --মুছে ফেলার ক্রিয়াটি-খালি বা-নাম-$সন্ধানের মতো শর্তগুলির সাথে ব্যবহার করা উচিত। - #মুছে ফেলুন এটি সমস্ত মুছে ফেলবে। একটি স্ট্রিং অনুসন্ধান করুন এই কমান্ডটি/টি. এম. পি ডিরেক্টরি ট্রি থেকে একটি স্ট্রিংয়ের জন্য সমস্ত ফাইল অনুসন্ধান করবেঃ $ফাইন্ড/টি. এম. পি-টাইপ এফ-এক্স. ই. সি গ্রেপ 'সার্চ স্ট্রিং'/ডেভ/নাল '{}'\+/ডেভ/নাল আর্গুমেন্টটি পাওয়া পাঠ্যের আগে ফাইলের নাম দেখানোর জন্য ব্যবহৃত হয়। এটি ছাড়া, শুধুমাত্র পাওয়া পাঠ্যটি মুদ্রিত হয়। (বিকল্পভাবে, গ্রেপের কিছু সংস্করণ এমন একটি পতাকা সমর্থন করে যা ফাইলের নাম ছাপাতে বাধ্য করে।) এই কাজটি করার জন্য জি. এন. ইউ. গ্রেপ নিজেই ব্যবহার করা যেতে পারেঃ $grep-r 'সার্চ স্ট্রিং'/টি. এম. পি. জেস্মিথের হোম ডিরেক্টরিতে "এল. ও. জি" অনুসন্ধানের উদাহরণ-$find ~ jsmith-exec grep LOG '{}'/dev/null\;-پرنٽ/হোম/জেস্মিথ/স্ক্রিপ্ট/errpt. sh: cp $LOG $FIXEDLOGNAME/হোম/জেস্মিথ/স্ক্রিপ্ট/errpt. sh: বিড়াল $এল. ও. জি/হোম/জেস্মিথ/স্ক্রিপ্ট/শিরোনামঃ ইউ. এস. ই. আর = $এল. ও. জি. এন. এ. এম. ই সমস্ত এক্স-এ "ত্রুটি" স্ট্রিং অনুসন্ধানের উদাহরণ - নাম "*. xML"-exec grep "ERROR"/dev/null '{}'\+ অনুসন্ধান স্ট্রিংয়ের চারপাশে ডাবল কোট ("") এবং ধনুর্বন্ধনীগুলির চারপাশে একক কোট ('") এই উদাহরণে ঐচ্ছিক, তবে স্ট্রিংয়ে স্পেস এবং অন্যান্য কিছু বিশেষ অক্ষরের অনুমতি দেওয়ার জন্য প্রয়োজন। আরও জটিল পাঠ্য সহ নোট (বিশেষত বেশিরভাগ জনপ্রিয় শেলগুলিতে 'শ' এবং 'সি. এস. এইচ' থেকে উদ্ভূত) একক উদ্ধৃতিগুলি প্রায়শই সহজ পছন্দ, কারণ দ্বৈত উদ্ধৃতিগুলি সমস্ত বিশেষ ব্যাখ্যাকে বাধা দেয় না। ইংরেজি সংকোচনযুক্ত ফাইলের নামগুলি উদ্ধৃত করে দেখা যায় যে এটি কীভাবে বরং জটিল হয়ে উঠতে পারে, যেহেতু এতে একটি অ্যাপোস্ট্রোফি সহ একটি স্ট্রিং দ্বৈত উদ্ধৃতি দিয়ে রক্ষা করা সহজঃ $ফাইন্ড। - নাম "ফাইল-ধারণকারী-পারে না"-exec grep "পারে না" '{}'\;-ব্যবহারকারীর মালিকানাধীন সমস্ত ফাইলের জন্য অনুসন্ধান মুদ্রণ করুন। - ব্যবহারকারী <ইউজারআইডি> অসংবেদনশীল মোডে অনুসন্ধান করুন মনে রাখবেন যে-নামটি স্ট্যান্ডার্ডে নেই এবং সমস্ত বাস্তবায়ন দ্বারা সমর্থিত নাও হতে পারে। $খুঁজে বের করুন। - 'মাইফাইল *' নাম দিন যদি আপনার সিস্টেমে-নামের সুইচটি সমর্থিত না হয় তবে সমাধানের কৌশলগুলি সম্ভব হতে পারে যেমনঃ $ফাইন্ড। - নাম '[mM] [yY] [fF] [iI] [lL] [eE] *' আকার অনুসারে ফাইলগুলি অনুসন্ধান করুন ফাইলগুলি অনুসন্ধান করুন যার আকার 100 কিলোবাইট এবং 500 কিলোবাইটের মধ্যেঃ $ফাইন্ড। - সাইজ + 100k-a-সাইজ-500k খালি ফাইল অনুসন্ধান করা হচ্ছেঃ $ফাইন্ড। - সাইজ 0k খালি নয় এমন ফাইল অনুসন্ধান করা হচ্ছেঃ $ফাইন্ড। ! - সাইজ 0k নাম এবং সাইজ অনুযায়ী ফাইল অনুসন্ধান করুন $/usr/src খুঁজুন! \ (-নাম '*, v'-o-নাম '। *, v '\)' {} '\;-প্রিন্ট এই কমান্ডটি/usr/src ডিরেক্টরি ট্রি অনুসন্ধান করবে। সমস্ত ফাইল যা ফর্মের এবং বাদ দেওয়া হয়েছে। লক্ষ্য করার মতো গুরুত্বপূর্ণ আর্গুমেন্টগুলি টুলটিপে রয়েছে যা মাউস-ওভারে প্রদর্শিত হয়। $-এ ফাইলের জন্য (খুঁজে বের করুন/বেছে নিন\(-নাম ত্রুটি _ লগ-ও-নাম 'অ্যাক্সেস _ লগ'-ও-নাম 'এসএসএল _ ইঞ্জিন _ লগ'-ও-নাম 'পুনর্লিখন _ লগ'-ও-নাম 'catalina.out'\)-আকার + 300000 কে-এ-আকার-5000000 কে); ক্যাট/ডেভ/নাল> $ফাইল সম্পন্ন করা হয়েছে। আকারটি পরোক্ষ ব্লক গণনা করে না, তবে এটি বিরল ফাইলগুলিতে ব্লক গণনা করে যা আসলে বরাদ্দ করা হয় না। উদাহরণস্বরূপ, ব্যাকআপের পর থেকে পরিবর্তিত ফাইলগুলির তালিকা তৈরি করতে সময় তারিখের পরিসর অনুসারে ফাইলগুলি অনুসন্ধান করা যেতে পারে। : পরিবর্তনের সময়ঃ আইনোড পরিবর্তনের সময়ঃ প্রবেশাধিকারের সময় ফাইলগুলি কয়েক দিন আগে আপেক্ষিক সংখ্যায় পরিবর্তিত হয়েছেঃ + [সংখ্যা] = অন্তত এই অনেক দিন আগে। - [সংখ্যা] = অনেক দিন আগের তুলনায় কম। [সংখ্যা] = ঠিক এই অনেক দিন আগে। ঐচ্ছিকভাবে যোগ করুন-গত 24 ঘন্টার পরিবর্তে একটি দিনের শুরু থেকে (0 টা) সময় পরিমাপ করতে শুরু করুন। এক সপ্তাহ থেকে পরিবর্তিত নথির ফোল্ডারে সমস্ত পাঠ্য ফাইল খুঁজে বের করার উদাহরণ (যার অর্থ 7 দিন): $ফাইন্ড ~/ডকুমেন্টস/- নেম "*. txt"-এমটাইম-7 ফাইল একটি নিখুঁত তারিখ এবং সময়ের আগে বা পরে পরিবর্তিত হয়েছেঃ-নিউইয়ার্ট YYYY-MM-DD: তারিখের পরে সর্বশেষ পরিবর্তিত হয়েছে-না-নিউইয়ার্ট YYYY-MM-DD: তারিখের আগে সর্বশেষ পরিবর্তিত হয়েছে ফেব্রুয়ারিতে শেষবার সম্পাদিত সমস্ত পাঠ্য ফাইল খুঁজে বের করার জন্য উদাহরণস্বরূপঃ $ফাইন্ড ~/ডকুমেন্টস/- নেম "*. txt"-নিউইয়ার্ট 2017-02-01-না-নিউইয়ার্ট 2017-03-01-নতুন [ফাইল]: নির্দিষ্ট ফাইলের তুলনায় আরও সম্প্রতি পরিবর্তিত হয়েছে। - নতুনঃ আইনোড পরিবর্তনের সময়ের ক্ষেত্রেও একই। - নতুনত্বঃ প্রবেশাধিকার সময়ের ক্ষেত্রেও একই। এছাড়াও-বিপরীত ফলাফল বা পরিসরের জন্য নয়। "document.txt"-এর চেয়ে সম্প্রতি সম্পাদিত সমস্ত পাঠ্য ফাইলের তালিকা তৈরি করুনঃ "*. txt"-নতুন document.txt সম্পর্কিত ইউটিলিটিগুলি সনাক্ত করা একটি ইউনিক্স অনুসন্ধান সরঞ্জাম যা একটি ফাইল সিস্টেমের ডিরেক্টরি ট্রিগুলির পরিবর্তে ফাইলগুলির একটি প্রাক-নির্মিত ডাটাবেস অনুসন্ধান করে। এটি সন্ধানের চেয়ে দ্রুত কিন্তু কম নির্ভুল কারণ ডাটাবেসটি আপ-টু-ডেট নাও হতে পারে। গ্রেপ একটি কমান্ড-লাইন ইউটিলিটি যা একটি নিয়মিত এক্সপ্রেশনের সাথে মিলে যাওয়া লাইনের জন্য প্লেইন-টেক্সট ডেটা সেট অনুসন্ধানের জন্য এবং ডিফল্টভাবে স্ট্যান্ডার্ড আউটপুটে মিলে যাওয়া লাইনের রিপোর্টিং করার জন্য। ট্রি একটি কমান্ড-লাইন ইউটিলিটি যা একটি ডিরেক্টরি ট্রি-তে পাওয়া ফাইলগুলিকে পুনরাবৃত্তভাবে তালিকাভুক্ত করে, ফাইলের শ্রেণিবিন্যাসে তাদের অবস্থান অনুযায়ী ফাইলের নামগুলি ইন্ডেন্ট করে। জি. এন. ইউ ফাইন্ড ইউটিলিটিজ (ফাইন্ডুটিলস নামেও পরিচিত) হল একটি জি. এন. ইউ প্যাকেজ যেখানে সরঞ্জামের সন্ধান এবং xargs-এর বাস্তবায়ন রয়েছে। ব্যস্তবক্স একটি ইউটিলিটি যা একটি একক এক্সিকিউটেবল ফাইলে বেশ কয়েকটি স্ট্রিপ-ডাউন ইউনিক্স সরঞ্জাম সরবরাহ করে, যা খুব সীমিত সংস্থান সহ এমবেডেড অপারেটিং সিস্টেমের উদ্দেশ্যে। এটি সন্ধানের একটি সংস্করণও সরবরাহ করে। ডি. আই. আর-এ/এস বিকল্প রয়েছে যা ফাইল বা ডিরেক্টরিগুলির জন্য পুনরাবৃত্তভাবে অনুসন্ধান করে। বেল ল্যাবসের প্ল্যান 9 প্রতিস্থাপনের জন্য দুটি উপযোগিতা ব্যবহার করেঃ একটি যা কেবল গাছে হাঁটে এবং নামগুলি মুদ্রণ করে এবং একটি যা শেল স্ক্রিপ্টের আকারে অভিব্যক্তিগুলি মূল্যায়ন করে কেবল ফিল্টার করে (গ্রেপের মতো)। পাইপের মাধ্যমে নির্বিচারে ফিল্টার ব্যবহার করা যেতে পারে। কমান্ডগুলি ইউজার স্পেসের প্ল্যান 9-এর অংশ নয়, তাই গুগলের বেঞ্জামিন ব্যারেনব্ল্যাটের কাছে গিটহাবের মাধ্যমে উপলব্ধ পজিক্স সিস্টেমের একটি পোর্ট সংস্করণ রয়েছে। এটি রাস্ট প্রোগ্রামিং ভাষায় লেখার একটি সহজ বিকল্প। আরও দেখুন এমডিএফআইএনডি, একটি অনুরূপ ইউটিলিটি যা ম্যাকোস এবং ডারউইনের জন্য মেটাডেটা ব্যবহার করে ইউনিক্স কমান্ডের তালিকা ডস কমান্ডের তালিকা ফিল্টার (উচ্চ-ক্রম ফাংশন) ফাইন্ড (উইন্ডোজ), একটি ডস এবং উইন্ডোজ কমান্ড যা ইউনিক্স ফাইন্ড ফরফাইলের থেকে খুব আলাদা, একটি উইন্ডোজ কমান্ড যা ইউনিক্স ফাইন্ড গ্রেপের মতো বৈশিষ্ট্য দ্বারা ফাইল খুঁজে পায়, একটি ইউনিক্স কমান্ড যা একটি প্যাটার্নের সাথে মেলে এমন পাঠ্য খুঁজে পায়, উইন্ডোজ ফাইন্ড রেফারেন্সের মতো বাহ্যিক লিঙ্ক জিএনইউ ফাইন্ড কমান্ডের জন্য অফিসিয়াল ওয়েবপেজ-25 ব্যবহারিক উদাহরণ স্ট্যান্ডার্ড ইউনিক্স প্রোগ্রামের জন্য তথ্য পুনরুদ্ধার সিস্টেম ইউনিক্স এসইউএস2008 ইউটিলিটি প্ল্যান 9 আইবিএম আই কিউশেল কমান্ডকে নির্দেশ করে