কীভাবে ফ্রিবিএসডি-তে একটি ফাইল সন্ধান করবেন


14

আমি example.filenameআমার ফ্রিবিএসডি সার্ভারে সমস্ত অনুলিপি সনাক্ত করার চেষ্টা করছি । এটি করার সর্বোত্তম / সহজতম / সবচেয়ে কার্যকর উপায় কী?


1
উত্তরগুলি সমান হলেও, আপনি লিনাক্স, বা ফ্রিবিএসডি ব্যবহার করছেন কিনা তা আপনি পরিষ্কার করতে চাইতে পারেন। তারা একই জিনিস নয়।
গ্রেগ হিউগিল

ওএসকে আরও নির্দিষ্ট করে তুলতে শিরোনাম সম্পাদিত
ইয়ান

এটি সম্ভবত ফ্রিবিএসডি ট্যাগ করা উচিত, তবে এটি করার মতো খ্যাতি আমার নেই।
মিক্ল

উত্তর:


18
find / -name example.filename

2
নির্ভরযোগ্য তবে ধীর। কখনও কখনও খুব ধীর।
dmckee --- প্রাক্তন মডারেটর বিড়ালছানা

3
অন্যান্য 'সন্ধান করুন' পতাকাগুলি যা প্রয়োজন অনুসারে উপযুক্ত হতে পারে: -প্রকার চ (একই নামের ডিরেক্টরিগুলি বা ডিরেক্টরিগুলির সাথে বিরক্ত করবে না) -ls (ফাইলের আকারের মতো বিশদ প্রদর্শন করতে, যেমন ফাইলগুলি একই থাকে তবে নাম তবে বিভিন্ন বিষয়বস্তু)
জ্যাক থম্পসন

19
locate filename

এর চেয়ে অনেক দ্রুত find, যদি আপনি সনাক্তকরণ পরিষেবাটি চালাচ্ছেন, এবং এটি কেবলমাত্র updatedbশেষ মুহুর্তে উপস্থিত ফাইলগুলি খুঁজে পেয়েছিল (সাধারণত ক্রোন জবের নিয়ন্ত্রণে রাত্রি যাপনের জন্য)।

আপনি হাতে চালনা করতে পারেনupdatedb , তবে এটি findক্লিটাসের পরামর্শের চেয়েও ধীর এবং এর জন্য মূল প্রয়োজন। আমি মাঝে মাঝে একগুচ্ছ নতুন স্টাফ ইনস্টল করার পরে হাত দিয়ে ডাটাবেস আপডেট করি।


3
আপনার অবস্থানটি ডিবি সনাক্ত করতে পরিষেবা চলমান থাকলে কেবল অবস্থানটি কাজ করে (এটি কী বলা হয় তা ভুলে যান)। এটি সময়ের দেরিতেও ভুগতে পারে (এতে আপনি যে ফাইলটি সন্ধান করছেন তা শেষ নির্মাণের পরে যুক্ত করা যেতে পারে)।
ক্লিটাস

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

4
যদি আপনি নিজেকে find /সপ্তাহে একাধিকবার বড় কাজ করতে বা কোনও বড় গাছে দেখতে পান, তবে locateপরিষেবাটি চালানো সম্ভবত সার্থক, কারণ locate(1)এটি খুব দ্রুত।
ড্র স্টিফেনস

@ ক্লেটাস রানিং ডাটাবেস sudo periodic weeklyআপডেট locateকরে। আপনার পছন্দসই ফাইল থাকতে পারে এমন কোনও ইনস্টল বা ডাউনলোডের পরে এটি চালান।
তুলিল বাউরক

2

যদি আপনি সনাক্ত করেন (ওরফে স্লোক) ইনস্টল করা থাকে তবে তা

locate example.filename

সনাক্ত করুন প্রতি রাতে একটি ক্রোন কাজ চালায় যা আপনার মেশিনের সমস্ত ফাইলকে পুনরায় সূচি দেয়। এই কারণে এটি সর্বদা আপ টু ডেট থাকে না।


2

কখনও কখনও আপনি একটি নির্দিষ্ট ডিরেক্টরি স্তরে ফাইলগুলি সন্ধান করতে চান। এই ক্ষেত্রে শেল ওয়াইল্ডকার্ড ব্যবহার করা সুবিধাজনক হতে পারে:

ls /data/*/example.filename

স্পষ্টতই এটি কেবল তখনই কাজ করে যদি আপনার অনমনীয় ডিরেক্টরি কাঠামো থাকে।


1

locate

অন্যরা যেমন উল্লেখ করেছে, locateফাইল অনুসন্ধানের দ্রুত উপায়। এই কমান্ডটি ফাইল এবং ফোল্ডারের নামের একটি প্রাক-সংকলিত সূচক ব্যবহার করে। নামের এই ডাটাবেসটি আপনার ফাইল সিস্টেমে ক্রলিংয়ের পরিবর্তে অনুসন্ধান করা হবে।

locate example.filename 

কেস-সংবেদনশীল হতে, যোগ করুন -i

locate -i eXAmPle.FileName

আপডেট locateডাটাবেস

দ্বারা ব্যবহৃত ডেটাবেস locateঅবশ্যই আপ-টু-ডেট। আপনার পছন্দসই ফাইল থাকতে পারে এমন একটি ইনস্টল বা ডাউনলোড করার পরে, আপনাকে অবশ্যই locateডাটাবেস আপডেট করতে হবে ।

locateডাটাবেসের অবশেষে আপনার FreeBSD সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে আপডেট করা হবে। এখানে কাজের একটি সাপ্তাহিক সেট কাজ অন্তর্ভুক্ত রয়েছে। এই কাজগুলি /etc/periodic/weekly/310.locateস্ক্রিপ্টে তালিকাভুক্ত রয়েছে ।

locateডাটাবেসটির প্রাথমিক আপডেটটি জোর করার সবচেয়ে নিরাপদতম উপায় হ'ল সাপ্তাহিক কাজের কাজগুলি এখনই করতে বাধ্য করা।

sudo periodic weekly

বা, আপনি এমনকি নিয়মিত সমস্ত কাজ করতে বাধ্য করতে পারেন। আপনি একটি নতুন ফ্রিবিএসডি সিস্টেম স্থাপনের সাথে সাথেই এটি করতে চাইতে পারেন।

sudo periodic daily weekly monthly

locateডাটাবেস আপডেট করতে অন্য উপায়গুলি ব্যবহার করে, আপনি ফ্রিবিএসডি সিস্টেমের যে কোনও ব্যবহারকারীর কাছে আপনার সিস্টেমের সমস্ত ফাইলের নাম প্রকাশ করে অনিরাপদ থাকার বিষয়ে একটি বার্তা পেতে পারেন। periodicরুট ব্যবহার করা এই সমস্যা এড়ায়।



0

আমি মাঝে মাঝে করি


  find . | grep example.filename

তবে সম্ভবত অত্যন্ত অকার্যকর।


হ্যাঁ, যা সমস্ত কিছুর সাথে মেলে তারপরে আপনি যে নামটি সন্ধান করছিলেন তা বাদ দিয়ে সবকিছু ফেলে দেয়। পরিবর্তে আপনি কেবল 'Find -name "উদাহরণ.filename" "করতে পারেন যা প্রথমে সবকিছু মুদ্রণ না করে এবং অতিরিক্ত গ্রেপ প্রক্রিয়া চালিয়ে না করে ঠিক একই জিনিসটি করে।
মিহাই লিম্বান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.