লিনাক্সের টার্মিনাল থেকে ফাইলগুলি খুঁজে পেতে এবং সনাক্ত করতে এবং find করার কয়েকটি উপায় রয়েছে , locate , which এবং whereis এটি করার জন্য সাধারণভাবে ব্যবহৃত কিছু কমান্ড। আসুন এই চারটি অনুসন্ধান কমান্ড, তাদের মিল এবং পার্থক্যগুলি একবার দেখে নেওয়া যাক৷
1. খুঁজুন
যেকোন নির্দিষ্ট ডিরেক্টরির মধ্যে ফাইল অনুসন্ধান করার সহজ পদ্ধতি হল find ব্যবহার করা আদেশ যদি সার্চ করার জন্য ডিরেক্টরীটি স্পষ্টভাবে উল্লেখ করা না থাকে, তাহলে সার্চটি বর্তমান ডিরেক্টরীতে করা হবে।
নিম্নলিখিত স্ক্রিনশটটি দেখায় কিভাবে বর্তমান ডিরেক্টরি (.) এর মধ্যে, এক্সটেনশন .txt দিয়ে শেষ হওয়া সমস্ত ফাইলের নামগুলির জন্য একটি অনুসন্ধান করা হয়৷
অনুসন্ধানটি টাইমস্ট্যাম্প, ফাইলের অনুমতি, ফাইলের আকার, ফাইলের ধরন, ফাইলের মালিক ইত্যাদির উপর ভিত্তি করেও সঞ্চালিত হতে পারে। সার্চ প্যারামিটার নিয়ন্ত্রণ করতে নিয়মিত অভিব্যক্তি ব্যবহার করা যেতে পারে। find-এ আরও বিস্তারিত নির্দেশাবলী কমান্ড এখানে পাওয়া যাবে।
2. সনাক্ত করুন
এই কমান্ডটি নাম দ্বারা ফাইল খুঁজে বের করার আরেকটি উপায়। পূর্ববর্তী কমান্ড নির্দিষ্ট ডিরেক্টরি অনুসন্ধান করে এবং তারপর ব্যবহারকারীকে ফলাফল প্রদান করে। এই টুলটি "mlocate.db" নামক একটি ডাটাবেসের বিরুদ্ধে অনুসন্ধান করে যা "/var/lib/mlocate/mlocate.db"-এ অবস্থিত। এই ডাটাবেস প্রতিদিন সকালে ক্রোন ইউটিলিটি দ্বারা আপডেট করা হয়।
কমান্ডটি find এর চেয়ে দ্রুত কার্যকর করে কারণ অনুসন্ধানটি একটি বিদ্যমান ডাটাবেসের বিরুদ্ধে যা ইতিমধ্যেই সিস্টেমে সমস্ত ফাইল এবং ডিরেক্টরির তালিকা তৈরি করেছে৷
locate ফাইলের নামটি পরম পথের নাম প্রদর্শন করে যেখানে সেই ফাইলটি বিদ্যমান।
ধরুন হোম ডিরেক্টরিতে একটি স্ক্রিপ্ট তৈরি করা হয়েছে।
যদি আমরা সদ্য তৈরি এবং অনুলিপি করা স্ক্রিপ্ট সনাক্ত করার চেষ্টা করি, আমরা কোন আউটপুট পাব না৷
locate myscript
যেহেতু ক্রন শুধুমাত্র সকালে ডাটাবেস আপডেট করে, দিনের বেলা সিস্টেমে যেকোনো ফাইল যোগ করা হয়, তারপর ডাটাবেসটিকে ম্যানুয়ালি আপডেট করতে হবে। এটি updatedb ব্যবহার করে করা যেতে পারে আদেশ।
sudo updatedb
আমরা যদি কাস্টম স্ক্রিপ্টটি "লোকেট" করার চেষ্টা করি, তাহলে এটি ফাইলটি সনাক্ত করতে সক্ষম হবে৷
৷
3. যা
ফাইলগুলি অনুসন্ধান করার জন্য কমান্ডগুলি নিয়ে আলোচনা করার পরে, আসুন আমরা একটি কমান্ডে চলে যাই যা সিস্টেমে এক্সিকিউটেবলগুলির সম্পূর্ণ পথ অনুসন্ধান করতে সহায়তা করতে পারে:which .
একটি এক্সিকিউটেবল/স্ক্রিপ্ট/বাইনারী সিস্টেমের একাধিক স্থানে উপস্থিত থাকতে পারে। which নির্দিষ্ট এক্সিকিউটেবলের অস্তিত্বের জন্য $PATH এবং $MANPATH এনভায়রনমেন্ট ভেরিয়েবলে নির্দিষ্ট ডিরেক্টরিতে অনুসন্ধান করে।
কোনো সুইচ ছাড়াই, which এক্সিকিউটেবলের জন্য পাওয়া প্রথম পরম পথ প্রদর্শন করে।
-a সুইচ নির্দিষ্ট এক্সিকিউটেবলের জন্য পাওয়া পরম পাথের সমস্ত ঘটনা প্রদর্শন করে।
একের পর এক এক্সিকিউটেবল নির্দিষ্ট করে একাধিক এক্সিকিউটেবলের জন্য পরম পথ খুঁজে পাওয়া যেতে পারে।
4. যেখানে
whereis আরেকটি কমান্ড এবং এটি একটি এক্সিকিউটেবল সংক্রান্ত তিনটি তথ্য পেতে ব্যবহৃত হয়:
- বাইনারির পরম পথ
- পরম পথ যেখানে সেই বাইনারিটির সোর্স কোড সিস্টেমে বিদ্যমান থাকে
- ম্যানুয়ালের পরম পথ যা সেই বাইনারির জন্য বিদ্যমান
"bzgrep"-এর জন্য বাইনারি "/bin"-এ বিদ্যমান এবং ম্যানুয়ালটি "/usr/share/man/man1"-এ বিদ্যমান। এর সোর্স কোড সিস্টেমে বিদ্যমান নেই৷
৷
whereis -b ব্যবহার করে শুধুমাত্র বাইনারির পরম পথ অনুসন্ধান করার জন্য নির্দেশ দেওয়া যেতে পারে সুইচ অনুসন্ধানটি শুধুমাত্র -B এর পরে তালিকাভুক্ত ডিরেক্টরিতে সঞ্চালিত হতে পারে সুইচ -f এর পরে নাম সমস্ত বাইনারি নির্দিষ্ট করুন যার জন্য তথ্য প্রাপ্ত করা প্রয়োজন।
একইভাবে, -s ব্যবহার করে অনুসন্ধানটি শুধুমাত্র সোর্স কোড বা শুধুমাত্র ম্যানুয়ালগুলিতে সীমাবদ্ধ করা যেতে পারে এবং -m সুইচ -S এবং –M ডিরেক্টরির নামগুলি অনুসরণ করে যথাক্রমে সোর্স কোড এবং ম্যানুয়ালগুলি অনুসন্ধান করার জন্য ডিরেক্টরিগুলিকে নির্দিষ্ট করে৷
-l সুইচ whereis দ্বারা ব্যবহৃত সমস্ত ডিরেক্টরির পরম পাথগুলির একটি বিশদ তালিকা প্রদান করবে অনুসন্ধান সম্পাদন করতে৷
উপসংহার
টার্মিনালে ফাইলগুলি খুঁজে পেতে এবং সনাক্ত করার জন্য আপনার জন্য কোনও সরঞ্জামের অভাব নেই। আমি আশা করি আপনি এখন লিনাক্স সিস্টেমে চারটি দরকারী অনুসন্ধান সরঞ্জাম সম্পর্কে একটি ভাল ধারণা পেয়েছেন। আপনার যদি তাদের ব্যবহার সম্পর্কে আরও বিশদ প্রয়োজন হয়, আপনি বিস্তারিত ডকুমেন্টেশনের জন্য তাদের ম্যানুয়াল পৃষ্ঠাগুলি দেখতে পারেন৷