উবুন্টুতে ফাইল দক্ষতার সাথে কীভাবে অনুসন্ধান করবেন: ফাইন্ড, লোকেট, গ্রেপ এবং GUI টুলস আয়ত্ত করা

目次

১. পরিচিতি

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

২. মৌলিক ফাইল অনুসন্ধান কমান্ড

উবুন্টু ফাইল অনুসন্ধানের জন্য বেশ কিছু মৌলিক কমান্ড প্রদান করে।
এই অংশে আমরা find এবং locate এর মতো সাধারণ কমান্ডগুলি ব্যাখ্যা করব।

২.১ find কমান্ড কী?

find কমান্ডটি একটি শক্তিশালী টুল, যা নির্দিষ্ট ডিরেক্টরির মধ্যে ফাইল নাম বা অনুসন্ধান শর্তের ভিত্তিতে ফাইল খুঁজে পেতে ব্যবহৃত হয়।

find কমান্ডের মৌলিক সিনট্যাক্স

find [starting_directory] [search_conditions]

উদাহরণ: হোম ডিরেক্টরির মধ্যে “example.txt” নামের একটি ফাইল অনুসন্ধান করা

find ~/ -name "example.txt"

find কমান্ডের বিকল্পের উদাহরণ

  • -name : ফাইল নাম দ্বারা অনুসন্ধান (কেস-সেন্সিটিভ)
  • -iname : ফাইল নাম দ্বারা অনুসন্ধান (কেস-ইনসেন্সিটিভ)
  • -type : ফাইলের ধরন নির্ধারণ (d =ডিরেক্টরি, f =ফাইল)
  • -size : ফাইল আকার দ্বারা অনুসন্ধান (উদাহরণ: +1M মানে ১ এমবি বা তার বেশি)

২.২ locate কমান্ড কী?

locate কমান্ডটি তার অত্যন্ত দ্রুত অনুসন্ধান পারফরম্যান্সের জন্য পরিচিত। তবে, ফলাফল একটি ইনডেক্স ডাটাবেসের উপর নির্ভরশীল।

locate এর মৌলিক সিনট্যাক্স

locate [file_name_or_partial_path]

উদাহরণ: নামের মধ্যে “example” ধারণকারী ফাইলগুলি অনুসন্ধান করা

locate example

locate সম্পর্কে গুরুত্বপূর্ণ নোট

locate একটি ডাটাবেস ব্যবহার করে, তাই নতুন তৈরি ফাইলগুলি ফলাফলে না-ও থাকতে পারে। এমন ক্ষেত্রে, নিচের কমান্ড ব্যবহার করে ডাটাবেস আপডেট করুন:

sudo updatedb

২.৩ কখন find এবং locate ব্যবহার করবেন

  • find : বিশদ শর্তসহ অনুসন্ধানের জন্য সর্বোত্তম।
  • locate : দ্রুত অনুসন্ধানের জন্য আদর্শ।

৩. find কমান্ডের বিশদ গাইড

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

৩.১ ফাইল নাম দ্বারা অনুসন্ধান

ফাইল নাম দ্বারা অনুসন্ধান করতে -name অথবা -iname অপশন ব্যবহার করুন।

উদাহরণ: .txt এক্সটেনশনযুক্ত সব ফাইল অনুসন্ধান করা

find ~/ -name "*.txt"

৩.২ ফাইল আকার দ্বারা অনুসন্ধান

ফাইলের আকারের ভিত্তিতে অনুসন্ধান শর্ত নির্ধারণ করা যায়।

উদাহরণ: ১ এমবি বা তার বেশি আকারের ফাইল অনুসন্ধান করা

find ~/ -size +1M

৩.৩ পরিবর্তনের তারিখ দ্বারা অনুসন্ধান

নির্দিষ্ট দিনের মধ্যে পরিবর্তিত ফাইল অনুসন্ধান করতে -mtime অপশন ব্যবহার করুন।

উদাহরণ: শেষ ৭ দিনের মধ্যে আপডেট হওয়া ফাইল অনুসন্ধান করা

find ~/ -mtime -7

৩.৪ অনুসন্ধান ফলাফলে ক্রিয়া সম্পাদন

অনুসন্ধান ফলাফলের ভিত্তিতে নির্দিষ্ট ক্রিয়া সম্পাদন করা যায়।

উদাহরণ: অনুসন্ধানের সময় পাওয়া ফাইলগুলি মুছে ফেলা

find ~/ -name "*.tmp" -exec rm -f {} \;

৪. locate কমান্ডের উন্নত ব্যবহার

locate কমান্ডটি ব্যবহার করা সহজই নয়, বরং অত্যন্ত দ্রুতও।
এই অংশে locate এর সর্বোচ্চ ব্যবহার করার ব্যবহারিক পদ্ধতি উপস্থাপন করা হয়েছে।

৪.১ আংশিক পথ ব্যবহার করে অনুসন্ধান

যদি আপনি সঠিক ফাইল নাম না মনে করেন তবুও ফাইলের পথের অংশ ব্যবহার করে অনুসন্ধান করা যায়।

উদাহরণ: হোম ডিরেক্টরির মধ্যে “Documents” সম্পর্কিত ফাইলগুলি অনুসন্ধান করা

locate ~/Documents

৪.২ অনুসন্ধান ফলাফল ফিল্টার করা

অনুসন্ধান ফলাফল সংকুচিত করতে locate কে grep এর সঙ্গে সংযুক্ত করুন।

উদাহরণ: শুধুমাত্র .txt এক্সটেনশনযুক্ত ফাইলগুলি প্রদর্শন করা

locate example | grep ".txt"

৫. grep কে ফাইল অনুসন্ধানের সঙ্গে সংযুক্ত করা

যদি আপনি ফাইলের নামের পরিবর্তে তার বিষয়বস্তু অনুসন্ধান করতে চান, তবে grep কমান্ডটি অত্যন্ত উপযোগী।
এই অংশে দেখানো হয়েছে কীভাবে grep একা এবং findlocate এর সঙ্গে সংযুক্ত করে আরও উন্নত ফাইল অনুসন্ধান করা যায়।

৫.১ grep কমান্ডের মৌলিক বিষয়

grep কমান্ডটি ফাইলে এমন লাইন অনুসন্ধান করে যা নির্দিষ্ট স্ট্রিং ধারণ করে।

grep এর মৌলিক সিনট্যাক্স

grep [options] "search_string" [file]

উদাহরণ: একটি ফাইলে “Ubuntu” শব্দটি ধারণকারী লাইনগুলি অনুসন্ধান করুন

grep "Ubuntu" example.txt

সাধারণ grep অপশন

  • -i : কেস-ইনসেনসিটিভ অনুসন্ধান
  • -r : পুনরাবৃত্তি ডিরেক্টরি অনুসন্ধান
  • -n : মিলিত লাইন নম্বরগুলি প্রদর্শন করুন

5.2 find-কে grep-এর সঙ্গে ব্যবহার করা

find ব্যবহার করে নির্দিষ্ট ফাইলগুলি অনুসন্ধান করতে পারেন এবং তারপর grep ব্যবহার করে তাদের বিষয়বস্তু পরীক্ষা করতে পারেন।

উদাহরণ: .log ফাইলগুলির মধ্যে “error” শব্দটি অনুসন্ধান করুন

find ~/ -name "*.log" -exec grep "error" {} \;

5.3 locate-কে grep-এর সঙ্গে ব্যবহার করা

আপনার অনুসন্ধানকে পরিমার্জন করতে locate ফলাফলকে grep দিয়ে ফিল্টার করুন।

উদাহরণ: “example” শব্দটি ধারণকারী .txt ফাইলগুলি অনুসন্ধান করুন

locate "*.txt" | grep "example"

6. GUI টুল ব্যবহার করে ফাইল অনুসন্ধান

যদি আপনি CLI (কমান্ড লাইন ইন্টারফেস) নিয়ে স্বাচ্ছন্দ্যবোধ না করেন বা ভিজ্যুয়াল অপারেশন পছন্দ করেন, তবে GUI টুলগুলি স্বজ্ঞাত অনুসন্ধান অভিজ্ঞতা প্রদান করে। এই অংশে Ubuntu-র অন্তর্নির্মিত বৈশিষ্ট্য এবং সুপারিশকৃত তৃতীয় পক্ষের টুলগুলি ব্যাখ্যা করা হয়েছে।

6.1 Ubuntu-র অন্তর্নির্মিত অনুসন্ধান ফাংশন

Ubuntu ফাইল ম্যানেজার (Nautilus) অন্তর্নির্মিত অনুসন্ধান ক্ষমতা অন্তর্ভুক্ত করে।

কীভাবে অনুসন্ধান করবেন

  1. ফাইল ম্যানেজারটি খুলুন।
  2. আপনি যে ফোল্ডারটি অনুসন্ধান করতে চান তা নির্বাচন করুন।
  3. উপরের-ডান কোণার অনুসন্ধান বারে কীওয়ার্ড লিখুন।

এটি দ্রুত ছবি বা ডকুমেন্ট খুঁজে পেতে সহায়ক।

6.2 তৃতীয় পক্ষের অনুসন্ধান টুলস

Ubuntu অতিরিক্ত শক্তিশালী অনুসন্ধান টুল সরবরাহ করে। এখানে কয়েকটি উদাহরণ দেওয়া হল:

ক্যাটফিশ

দ্রুত ফাইল অনুসন্ধানের সক্ষমতা সম্পন্ন একটি হালকা GUI-ভিত্তিক অনুসন্ধান টুল।

  • ইনস্টলেশন
    sudo apt install catfish
    
  • ব্যবহার ক্যাটফিশ চালু করুন এবং অনুসন্ধান ফলাফল দেখতে অনুসন্ধান বারে কীওয়ার্ড লিখুন।

FSearch

Windows “Everything” এর মতো একটি ডেস্কটপ অনুসন্ধান টুল।

  • ইনস্টলেশন
    sudo apt install fsearch
    
  • বৈশিষ্ট্যসমূহ
  • ইন্ডেক্স তৈরি করে উচ্চ-গতির অনুসন্ধান
  • ব্যবহারকারী-বান্ধব এবং সহজ ইন্টারফেস

7. অনুসন্ধানের গতি ও দক্ষতা বাড়ানোর টিপস

কিছু কৌশল ফাইল অনুসন্ধানের পারফরম্যান্স উল্লেখযোগ্যভাবে বাড়াতে পারে। এই অংশে দ্রুত অনুসন্ধানের জন্য ব্যবহারিক টিপস প্রদান করা হয়েছে।

7.1 ইনডেক্সিং ব্যবহার করুন

locate এর মতো ইনডেক্স-ভিত্তিক অনুসন্ধান টুলগুলি বড় সংখ্যক ফাইলের ক্ষেত্রে দ্রুত ফলাফল দেয়। সাম্প্রতিক ফাইলগুলি অন্তর্ভুক্ত করতে ডাটাবেস নিয়মিত আপডেট করুন।

ডাটাবেস আপডেট করুন

sudo updatedb

7.2 অনুসন্ধানের পরিসর সীমিত করুন

এক্সিকিউশন সময় কমাতে আপনার অনুসন্ধানের পরিসর সীমিত করুন।

  • নির্দিষ্ট ডিরেক্টরির মধ্যে অনুসন্ধান করুন
  • অপ্রয়োজনীয় ফাইল টাইপ বাদ দিন

হোম ডিরেক্টরিতে PDF ফাইল বাদ দিন

find ~/ -type f ! -name "*.pdf"

7.3 গতি অপ্টিমাইজেশন অপশন ব্যবহার করুন

অনেক কমান্ডে অনুসন্ধান দ্রুত করার জন্য অপশন থাকে। উদাহরণস্বরূপ, find-এ ডিরেক্টরি গভীরতা সীমিত করতে -maxdepth অপশন আছে।

শুধুমাত্র বর্তমান ডিরেক্টরি এবং এক স্তর নিচে অনুসন্ধান করুন

find ./ -maxdepth 1 -name "*.txt"

8. সমস্যার সমাধান

ফাইল অনুসন্ধান প্রত্যাশিতভাবে কাজ না করলে সাধারণ কারণ এবং সমাধানগুলি এখানে দেওয়া হল।

8.1 কোনো অনুসন্ধান ফলাফল নেই

  • কারণ ১ : ভুল ফাইল নাম
  • সমাধান: কেস-ইনসেনসিটিভ -iname অপশন ব্যবহার করুন
  • কারণ ২ : ফাইলটি লুকানো
  • সমাধান: লুকানো ফাইল অন্তর্ভুক্ত করতে -name ".*" যোগ করুন

8.2 অনুমতি সংক্রান্ত সমস্যা

আপনার কিছু ডিরেক্টরিতে প্রবেশের অনুমতি নাও থাকতে পারে।

  • সমাধান : sudo দিয়ে কমান্ডটি চালান
    sudo find / -name "example.txt"
    

8.3 locate সর্বশেষ ফাইল দেখাচ্ছে না

ইন্ডেক্স ডাটাবেস পুরনো হতে পারে।

  • সমাধান : updatedb ব্যবহার করে আপডেট করুন
    sudo updatedb
    

9. সারাংশ

Ubuntu-তে কার্যকর ফাইল অনুসন্ধান উৎপাদনশীলতা উল্লেখযোগ্যভাবে বাড়ায়। find, locate, এবং grep-কে GUI টুলের সঙ্গে মিলিয়ে আপনি দ্রুত ও কার্যকরভাবে ফাইল খুঁজে পেতে পারেন। আপনার দৈনন্দিন কাজের প্রবাহে এই পদ্ধতিগুলি প্রয়োগ করে দেখুন।

এতেই এই প্রবন্ধের সমাপ্তি! পরবর্তী অংশে আমরা আরও উন্নত লিনাক্স অপারেশন এবং Ubuntu-তে ফাইল ব্যবস্থাপনার জন্য উপকারী টিপস নিয়ে আলোচনা করব। সঙ্গে থাকুন!

FAQ: ইউবুন্টুতে ফাইল সার্চ সম্পর্কিত প্রায়শই জিজ্ঞাসিত প্রশ্ন

Q1. কীভাবে আমি শুধুমাত্র নির্দিষ্ট এক্সটেনশনের ফাইলগুলি খুঁজে পাব?

A1. find কমান্ড ব্যবহার করুন। উদাহরণ: আপনার হোম ডিরেক্টরিতে .txt ফাইলগুলি খুঁজুন:

find ~/ -name "*.txt"

Q2. কেন locate সর্বশেষ ফাইলগুলি খুঁজে পায় না?

A2. locate একটি ডাটাবেস ব্যবহার করে যা স্বয়ংক্রিয়ভাবে আপডেট হয় না। এটি ম্যানুয়ালি রিফ্রেশ করার জন্য নিম্নলিখিত কমান্ড চালান:

sudo updatedb

Q3. কেন আমি “Permission denied” ত্রুটি পাই?

A3. কিছু ডিরেক্টরি অ্যাডমিনিস্ট্রেটর অধিকার প্রয়োজন করে। sudo ব্যবহার করুন:

sudo find / -name "example.txt"

Q4. যদি আমার GUI সার্চ টুল কোনো ফলাফল না দেখায় তাহলে আমি কী করব?

  • সার্চ লোকেশন নিশ্চিত করুন
  • ফাইলের নাম যাচাই করুন বা আংশিক মিল ব্যবহার করুন
  • ইনডেক্স ডাটাবেস আপ-টু-ডেট কিনা তা নিশ্চিত করুন

Q5. find ব্যবহার করার সময় কীভাবে আমি একটি নির্দিষ্ট ফোল্ডার বাদ দেব?

A5. -prune অপশন ব্যবহার করুন:

find ~/ -path "~/exclude_folder" -prune -o -name "*.txt" -print

Q6. কীভাবে আমি শুধুমাত্র ফাইলের নাম নয়, কনটেন্টস খুঁজব?

A6. grep ব্যবহার করুন। উদাহরণ:

grep "Ubuntu" example.txt

একাধিক ফাইলের জন্য, রিকার্সিভ সার্চ ব্যবহার করুন:

grep -r "Ubuntu" ~/

Q7. আমি কোনটি ব্যবহার করব: locate নাকি find?

A7. দ্রুত সার্চের জন্য locate ব্যবহার করুন এবং বিস্তারিত শর্তসাপেক্ষ সার্চের জন্য find:

  • দ্রুত সার্চ: locate
  • উন্নত শর্তসাপেক্ষ সার্চ: find