আমি লিনাক্সে শিক্ষানবিশ এবং আমি সমস্ত .conf
ফাইল সন্ধান করতে চাই /etc/
।
আমি চেষ্টা করেছি grep -r *.conf /etc
, তবে ফলাফলটি ঠিক নয়।
আমি কি ভুল করছি?
আমি লিনাক্সে শিক্ষানবিশ এবং আমি সমস্ত .conf
ফাইল সন্ধান করতে চাই /etc/
।
আমি চেষ্টা করেছি grep -r *.conf /etc
, তবে ফলাফলটি ঠিক নয়।
আমি কি ভুল করছি?
উত্তর:
টার্মিনাল খোলার জন্য আপনার কীবোর্ডে Ctrl+ Alt+ টিপুন T। এটি খুললে নীচের কমান্ডটি চালান:
find . -type f -name "*.txt"
এটি এক্সটেনশন সহ সমস্ত ফাইল তালিকাভুক্ত করবে .txt
।
.
শুরুতে বর্তমান ডিরেক্টরী উল্লেখ করে। find
প্রদত্ত পাথের নীচে সমস্ত ডিরেক্টরিতে পুনরাবৃত্তভাবে অনুসন্ধান করে। আপনি যদি বর্তমান ওয়ার্কিং ডিরেক্টরি ছাড়া অন্য কোথাও অনুসন্ধানটি শুরু করতে চান, তবে পথটি নির্দিষ্ট করুন, উদাহরণস্বরূপ:
find /etc -type f -name "*.conf"
এটি এক্সটেনশন /etc
সহ নিয়মিত ফাইলগুলির জন্য ডিরেক্টরি এবং এটির সমস্ত সাব ডিরেক্টরিগুলি অনুসন্ধান করে .conf
।
find
এত ব্যাপকভাবে ব্যবহৃত হয়, এত ভাল নথিভুক্ত থাকে এবং এর সম্পর্কে স্ট্যাকওভারফ্লো / এক্সচেঞ্জ পোস্ট রয়েছে যেগুলির সাথে কাজ করা সহজতর কিছু খুঁজে পাওয়া আরও কঠিন। আপনি যে কাজটি করতে চান তার সম্পর্কে অনলাইনে কোথাও কোথাও লেখা হয়েছে।
আমি ব্যক্তিগতভাবে ব্যবহার করব find
, তবে আপনি এই জিনিসগুলির জন্যও গ্লোবাল করতে পারেন:
shopt -s globstar
ls /etc/{,**/}*.conf
এবং আপনি সনাক্ত করতে পারেন এবং এটি দ্রুত কিন্তু নির্ভরযোগ্য নয়।
locate '/etc/**.conf'
locate
বিশ্বাসযোগ্য নয় কেন ?
locate
সঠিক হওয়ার জন্য সম্প্রতি আপডেট হওয়া mlocon ডাটাবেসের উপর নির্ভর করে। ডিফল্টরূপে এটি কেবলমাত্র একবারে আপডেট করার সময় নির্ধারিত হয় (যদিও আপনি নিজে এটির সাথে জোর করতে পারেন updatedb
)।
grep
ফাইলের বিষয়বস্তু অনুসন্ধান করে , ফাইলের নাম নয়।
আপনার সমস্ত .conf
ফাইল সন্ধান /etc/
করতে চাইলে:
find /etc -name "*.conf"
ফাইন্ড কমান্ডটি ধীর গতির, এই আদেশটি ব্যবহার করে আপনাকে অবিলম্বে ফলাফল দেবে:
locate "/etc/*.conf"
locate
কমান্ড সম্পর্কে আরও তথ্য ( mlocate
প্যাকেজে) এখানে পাওয়া যাবে: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocon-locon-commands-55bf40b297ab
locate
: দুই বছর আগে উল্লেখ করা হয়েছিল askubuntu.com/a/333728/158442