ফাইল এবং ডিরেক্টরি অনুসন্ধান: find, locate
কম্পিউটার সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধান একটি গুরুত্বপূর্ণ কাজ, বিশেষত যখন সিস্টেমে অনেক ফাইল এবং ডিরেক্টরি থাকে। UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধানের জন্য দুটি প্রধান কমান্ড ব্যবহার করা হয়: find এবং **locate**। এই দুটি কমান্ডের কার্যকারিতা ও ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে, যা নিচে বিস্তারিতভাবে আলোচনা করা হয়েছে।
1. find কমান্ড
find কমান্ড ব্যবহারকারীদের সিস্টেমে যে কোনো ডিরেক্টরি বা সাব-ডিরেক্টরির মধ্যে ফাইল অনুসন্ধান করতে সহায়তা করে। এটি খুবই শক্তিশালী এবং কাস্টমাইজযোগ্য, কারণ এতে বিভিন্ন অপশন ব্যবহার করে ফাইলের নাম, তারিখ, আকার ইত্যাদি অনুসারে অনুসন্ধান করা যায়।
ব্যবহার:
find [পথ] [অপশন] [অনুসন্ধান শর্ত]উদাহরণ:
একটি নির্দিষ্ট ডিরেক্টরিতে ফাইল খোঁজা:
find /home/user/Documents -name "file.txt"এই কমান্ডটি
/home/user/Documentsডিরেক্টরির মধ্যেfile.txtনামের ফাইল অনুসন্ধান করবে।- বিভিন্ন শর্ত দিয়ে ফাইল খোঁজা:
ফাইলের আকার অনুসারে:
find /home/user/Documents -size +1Gএই কমান্ডটি
/home/user/Documentsডিরেক্টরির মধ্যে ১ গিগাবাইটের বড় ফাইলগুলো খুঁজে বের করবে।ফাইলের শেষ পরিবর্তন তারিখ অনুসারে:
find /home/user -mtime -7এই কমান্ডটি ৭ দিনের মধ্যে পরিবর্তিত ফাইলগুলি খুঁজে বের করবে।
ফাইল মুছে ফেলতে:
find /home/user/Documents -name "*.log" -exec rm -f {} \;এই কমান্ডটি
/home/user/Documentsডিরেক্টরির মধ্যে.logএক্সটেনশনের সকল ফাইল মুছে ফেলবে।ডিরেক্টরি অনুসন্ধান:
find /home/user -type d -name "folder_name"এই কমান্ডটি
/home/userডিরেক্টরির মধ্যেfolder_nameনামের ডিরেক্টরি খুঁজে বের করবে।
find কমান্ডের বৈশিষ্ট্য:
- এটি অনেক বেশি কাস্টমাইজযোগ্য, যেমন ফাইলের মাইম টাইপ, মালিকানা, আকার ইত্যাদি অনুসারে অনুসন্ধান করা।
- এটি রিয়েল টাইমে অনুসন্ধান করে, সুতরাং এটি দ্রুত বা ধীর গতিতে কাজ করতে পারে।
2. locate কমান্ড
locate কমান্ড একটি দ্রুত ফাইল অনুসন্ধান পদ্ধতি প্রদান করে, তবে এটি পূর্বে তৈরি হওয়া একটি ডাটাবেস ব্যবহার করে। এই ডাটাবেসে সিস্টেমের ফাইলের অবস্থান সংরক্ষিত থাকে, যার মাধ্যমে খুব দ্রুত ফাইল খোঁজা সম্ভব হয়। তবে এটি বাস্তবসম্মত সময়ে কাজ করে না এবং নতুন ফাইল বা ডিরেক্টরি তৈরি হলে ডাটাবেস আপডেট হওয়া প্রয়োজন।
ব্যবহার:
locate [ফাইল নাম]উদাহরণ:
ফাইল খোঁজা:
locate file.txtএই কমান্ডটি পুরো সিস্টেমে
file.txtনামের ফাইলের অবস্থান দেখাবে।ফাইলের অংশ অনুসন্ধান:
locate *.txtএই কমান্ডটি সিস্টেমের মধ্যে
.txtএক্সটেনশনের সকল ফাইল খুঁজে বের করবে।
locate কমান্ডের বৈশিষ্ট্য:
- এটি
findথেকে অনেক দ্রুত কাজ করে কারণ এটি একটি ডাটাবেস ব্যবহার করে। - ডাটাবেসটি নিয়মিতভাবে আপডেট করা উচিত, এবং এটি নতুন ফাইল বা ডিরেক্টরি সনাক্ত করতে পারে না যদি ডাটাবেস আপডেট না করা হয়।
- এটি শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান করতে সক্ষম, ফাইলের আকার বা পরিবর্তন তারিখ অনুসন্ধান করতে পারে না।
find এবং locate এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | find | locate |
|---|---|---|
| কাজ করার পদ্ধতি | রিয়েল টাইমে সিস্টেমের ফাইল অনুসন্ধান করে। | একটি পূর্ব-নির্মিত ডাটাবেস ব্যবহার করে। |
| দ্রুততা | ধীর হতে পারে, বিশেষ করে বড় ডিরেক্টরিতে। | অনেক দ্রুত, কারণ এটি ডাটাবেস ব্যবহার করে। |
| কাস্টমাইজেশন | অত্যন্ত কাস্টমাইজযোগ্য, যেমন ফাইলের আকার, মালিকানা ইত্যাদি অনুসারে অনুসন্ধান করা। | সীমিত কাস্টমাইজেশন, শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান। |
| রিয়েল টাইম ফলাফল | হ্যাঁ, এটি সিস্টেমের বর্তমান অবস্থার ভিত্তিতে ফলাফল প্রদান করে। | না, এটি পুরানো ডাটাবেসের ভিত্তিতে ফলাফল প্রদান করে। |
সারসংক্ষেপ
find এবং locate উভয় কমান্ডই ফাইল এবং ডিরেক্টরি অনুসন্ধানে ব্যবহৃত হয়, তবে তাদের মধ্যে পার্থক্য রয়েছে। find কমান্ড রিয়েল-টাইমে অনুসন্ধান করে এবং অনেক বেশি কাস্টমাইজযোগ্য, কিন্তু এটি ধীর গতিতে কাজ করতে পারে। অন্যদিকে, locate কমান্ড দ্রুত অনুসন্ধান করে, তবে এটি পূর্বে তৈরি হওয়া ডাটাবেসের উপর নির্ভরশীল এবং এটি নতুন ফাইল বা ডিরেক্টরি সনাক্ত করতে পারে না যদি ডাটাবেসটি আপডেট না করা হয়।
Read more