এর নামের উপর ভিত্তি করে কোনও ফাইলের পথ কীভাবে সন্ধান করবেন?


22

আমি settings.xmlআমার উবুন্টু মেশিনে ফাইল সন্ধান করার চেষ্টা করছি । এটি কোথায় আছে এবং কোন ডিরেক্টরিতে এটি রয়েছে সে সম্পর্কে আমার কোনও ধারণা নেই।

আমি এটি ব্যবহার করার চেষ্টা করেছি -

ls -R | grep settings.xml

তবে এটি আমাকে যেখানে পুরো পথটি দেখাচ্ছে তা দেখায় না .. এমন অন্য কোনও আদেশ আছে যা আমাকে চেষ্টা করার দরকার যা আমাকে পুরো পথটি দিতে পারে?


4
আপনি যখনই মনে করেন সমাধানটি আউটপুটকে বিশ্লেষণ করার জন্য ls, আপনি প্রায় অবশ্যই এটি ভুল উপায়ে করছেন ।
টেরডন

উত্তর:


23

দ্রুত অনুসন্ধানের জন্য (তবে চূড়ান্ত নয়):

locate -br '^settings.xml$'

থেকে man locate:

   locate  reads  one or more databases prepared by updatedb(8) and writes
   file names matching at least one of the PATTERNs  to  standard  output,
   one per line.

   -b, --basename
          Match  only  the base name against the specified patterns.  This
          is the opposite of --wholename.
   -r, --regexp REGEXP
          Search for a basic regexp REGEXP.  No PATTERNs  are  allowed  if
          this  option  is used, but this option can be specified multiple
          times.

^এবং $নিশ্চিত করুন যে শুধুমাত্র ফাইল যার নাম settings.xmlএবং ফাইল যাদের নাম ধারণ করে settings.xml প্রিন্ট করা হবে।

আপনার প্রথমবার চালনার প্রয়োজন হতে পারে: updatedb(হিসাবে root) এর ডাটাবেস আপডেট / বিল্ড করতে locate


@ ইটারডন, আপনি আমাকে অবাক করে দিয়েছিলেন, এর man locateআগে দেখার বিষয়ে আমি কখনও পাইনি !!! এটি কেবল সহজ অনুসন্ধান সরঞ্জাম ধরে নিচ্ছি। আপনাকে অনেক ধন্যবাদ.
user.dz

হ্যাঁ, আমি প্রথমবারের মতো এই পৃষ্ঠাটি পড়ার সময় আমার প্রতিক্রিয়াটি অনেকটাই ছিল :)
টেরডন

4
updatedbএই কমান্ডের ভূমিকাটি লক্ষণীয় - locateএটি প্রায়শই ব্যর্থ হয়, আমার জন্য যাই হোক না কেন
rm-vanda

@ আরএম-ভান্ডা, আমি উত্তরটির উত্তরটি আপডেট করেছি updatedb। ধন্যবাদ.
user.dz

4
locate '*/settings.xml'locate(যেখানে উপলব্ধ) এর বিভিন্ন বিভিন্ন বাস্তবায়নের মধ্যে সম্ভবত আরও বহনযোগ্য ।
স্টাফেন চেজেলাস

15

ফাইল-সিস্টেমের মাধ্যমে একটি ধীর অথচ অবিচলিত অনুসন্ধান, তবে সংজ্ঞাযুক্ত।

find / -xdev -name settings.xml

এটি কিছু সময় নেবে এবং আপনি কিছু অনুমতি ত্রুটি পেতে পারেন তবে এটি সেখানে পাবেন। আপনি আরো কিছু ধারণা যেখানে এটি থেকে পরিবর্তন প্রথম ডিরেক্টরির অবস্থিত হতে পারে পেয়েছেন /করার/where/you/guess


4
সংযোজন 2>/dev/nullকমান্ড শেষে ত্রুটি আউটপুট সমস্ত (নাল ডিভাইসে দ্বারা stderr পুনঃনির্দেশিত দ্বারা) দমন করতে হবে।
ট্যানার সোয়েট

2
-xdev: অন্যান্য ফাইল সিস্টেমে ডিরেক্টরি অবতরণ করবেন না।
পাবলো এ

1

উদাহরণ:

$ locate settings.xml
/usr/share/mime/application/x-cisco-vpn-settings.xml

0

গাছটি অন্য একটি ভাল উপায়, যদি আপনি ঠিক কীটি সন্ধান করছেন তা নিশ্চিত না হন এবং এটি কিছুটা দ্রুত বলে মনে হচ্ছে-:

tree -f / | grep settings.xml

অন্যান্য দরকারী পতাকা: গ্রেপ অন গাছ কেটে মানুষের পাঠযোগ্য জন্য -i, কেস উপেক্ষা করবে -h-

- ম্যান পেজে প্রচুর দরকারী বিকল্প রয়েছে -!


6
একটি ভাল ধারণা নয়, tree(1)ফাইলগুলির একটি এএসসিআইআই-আর্ট ট্রি দেখায়, যার পরে এটি বিকৃত হয় grep(1)
ভনব্র্যান্ড

1
হ্যাঁ, আপনি যদি ব্যবহার করতে চলেছেন তবে আপনি এটিও ব্যবহার treeকরতে পারেন find . type -fযা দ্রুত হবে।
টেরডন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.