ফাইল এবং ডিরেক্টরি অনুসন্ধান: find, locate

বেসিক কমান্ডস - ইউনিক্স/লিনাক্স (UNIX / LINUX) - Computer Programming

191

ফাইল এবং ডিরেক্টরি অনুসন্ধান: find, locate

কম্পিউটার সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধান একটি গুরুত্বপূর্ণ কাজ, বিশেষত যখন সিস্টেমে অনেক ফাইল এবং ডিরেক্টরি থাকে। UNIX এবং LINUX সিস্টেমে ফাইল এবং ডিরেক্টরি অনুসন্ধানের জন্য দুটি প্রধান কমান্ড ব্যবহার করা হয়: find এবং **locate**। এই দুটি কমান্ডের কার্যকারিতা ও ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে, যা নিচে বিস্তারিতভাবে আলোচনা করা হয়েছে।


1. find কমান্ড

find কমান্ড ব্যবহারকারীদের সিস্টেমে যে কোনো ডিরেক্টরি বা সাব-ডিরেক্টরির মধ্যে ফাইল অনুসন্ধান করতে সহায়তা করে। এটি খুবই শক্তিশালী এবং কাস্টমাইজযোগ্য, কারণ এতে বিভিন্ন অপশন ব্যবহার করে ফাইলের নাম, তারিখ, আকার ইত্যাদি অনুসারে অনুসন্ধান করা যায়।

ব্যবহার:

find [পথ] [অপশন] [অনুসন্ধান শর্ত]

উদাহরণ:

  1. একটি নির্দিষ্ট ডিরেক্টরিতে ফাইল খোঁজা:

    find /home/user/Documents -name "file.txt"

    এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে file.txt নামের ফাইল অনুসন্ধান করবে।

  2. বিভিন্ন শর্ত দিয়ে ফাইল খোঁজা:
    • ফাইলের আকার অনুসারে:

      find /home/user/Documents -size +1G

      এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে ১ গিগাবাইটের বড় ফাইলগুলো খুঁজে বের করবে।

    • ফাইলের শেষ পরিবর্তন তারিখ অনুসারে:

      find /home/user -mtime -7

      এই কমান্ডটি ৭ দিনের মধ্যে পরিবর্তিত ফাইলগুলি খুঁজে বের করবে।

  3. ফাইল মুছে ফেলতে:

    find /home/user/Documents -name "*.log" -exec rm -f {} \;

    এই কমান্ডটি /home/user/Documents ডিরেক্টরির মধ্যে .log এক্সটেনশনের সকল ফাইল মুছে ফেলবে।

  4. ডিরেক্টরি অনুসন্ধান:

    find /home/user -type d -name "folder_name"

    এই কমান্ডটি /home/user ডিরেক্টরির মধ্যে folder_name নামের ডিরেক্টরি খুঁজে বের করবে।

find কমান্ডের বৈশিষ্ট্য:

  • এটি অনেক বেশি কাস্টমাইজযোগ্য, যেমন ফাইলের মাইম টাইপ, মালিকানা, আকার ইত্যাদি অনুসারে অনুসন্ধান করা।
  • এটি রিয়েল টাইমে অনুসন্ধান করে, সুতরাং এটি দ্রুত বা ধীর গতিতে কাজ করতে পারে।

2. locate কমান্ড

locate কমান্ড একটি দ্রুত ফাইল অনুসন্ধান পদ্ধতি প্রদান করে, তবে এটি পূর্বে তৈরি হওয়া একটি ডাটাবেস ব্যবহার করে। এই ডাটাবেসে সিস্টেমের ফাইলের অবস্থান সংরক্ষিত থাকে, যার মাধ্যমে খুব দ্রুত ফাইল খোঁজা সম্ভব হয়। তবে এটি বাস্তবসম্মত সময়ে কাজ করে না এবং নতুন ফাইল বা ডিরেক্টরি তৈরি হলে ডাটাবেস আপডেট হওয়া প্রয়োজন।

ব্যবহার:

locate [ফাইল নাম]

উদাহরণ:

  1. ফাইল খোঁজা:

    locate file.txt

    এই কমান্ডটি পুরো সিস্টেমে file.txt নামের ফাইলের অবস্থান দেখাবে।

  2. ফাইলের অংশ অনুসন্ধান:

    locate *.txt

    এই কমান্ডটি সিস্টেমের মধ্যে .txt এক্সটেনশনের সকল ফাইল খুঁজে বের করবে।

locate কমান্ডের বৈশিষ্ট্য:

  • এটি find থেকে অনেক দ্রুত কাজ করে কারণ এটি একটি ডাটাবেস ব্যবহার করে।
  • ডাটাবেসটি নিয়মিতভাবে আপডেট করা উচিত, এবং এটি নতুন ফাইল বা ডিরেক্টরি সনাক্ত করতে পারে না যদি ডাটাবেস আপডেট না করা হয়।
  • এটি শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান করতে সক্ষম, ফাইলের আকার বা পরিবর্তন তারিখ অনুসন্ধান করতে পারে না।

find এবং locate এর মধ্যে পার্থক্য

বৈশিষ্ট্যfindlocate
কাজ করার পদ্ধতিরিয়েল টাইমে সিস্টেমের ফাইল অনুসন্ধান করে।একটি পূর্ব-নির্মিত ডাটাবেস ব্যবহার করে।
দ্রুততাধীর হতে পারে, বিশেষ করে বড় ডিরেক্টরিতে।অনেক দ্রুত, কারণ এটি ডাটাবেস ব্যবহার করে।
কাস্টমাইজেশনঅত্যন্ত কাস্টমাইজযোগ্য, যেমন ফাইলের আকার, মালিকানা ইত্যাদি অনুসারে অনুসন্ধান করা।সীমিত কাস্টমাইজেশন, শুধুমাত্র ফাইলের নাম অনুসারে অনুসন্ধান।
রিয়েল টাইম ফলাফলহ্যাঁ, এটি সিস্টেমের বর্তমান অবস্থার ভিত্তিতে ফলাফল প্রদান করে।না, এটি পুরানো ডাটাবেসের ভিত্তিতে ফলাফল প্রদান করে।

সারসংক্ষেপ

find এবং locate উভয় কমান্ডই ফাইল এবং ডিরেক্টরি অনুসন্ধানে ব্যবহৃত হয়, তবে তাদের মধ্যে পার্থক্য রয়েছে। find কমান্ড রিয়েল-টাইমে অনুসন্ধান করে এবং অনেক বেশি কাস্টমাইজযোগ্য, কিন্তু এটি ধীর গতিতে কাজ করতে পারে। অন্যদিকে, locate কমান্ড দ্রুত অনুসন্ধান করে, তবে এটি পূর্বে তৈরি হওয়া ডাটাবেসের উপর নির্ভরশীল এবং এটি নতুন ফাইল বা ডিরেক্টরি সনাক্ত করতে পারে না যদি ডাটাবেসটি আপডেট না করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...