কিভাবে লিনাক্সে একটি ডিরেক্টরি খুঁজে পেতে?


453

আমার কাছে ভিএসপি রয়েছে সুস লিনাক্স 10.3

আমি এসএসএইচ / পুট্টির মাধ্যমে লগ ইন করেছি এবং আমার ওয়েব ফাইলগুলি কোথায় রয়েছে তা অনুসন্ধান করার চেষ্টা করছি।

যেহেতু আমি এফটিপি-র মাধ্যমে httpdocs নামে একটি ডিরেক্টরিতে আপলোড করছি তাই আমি ধরে নিই যে এই ডিরেক্টরিটি কোথাও রয়েছে।

আমার গুগল অনুসন্ধানগুলি আমাকে এটি করতে শিখিয়েছে, আমার মূল ডিরেক্টরিতে গিয়ে টাইপ করুন:

find httpdocs -type d

তবে এটি "এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই " বলে।

আমি এই ডিরেক্টরিটি কীভাবে খুঁজে পাব?


4
কারও অবাক হওয়ার ক্ষেত্রে, প্রশ্নের কমান্ডটি -type dডিরেক্টরিতে প্রবেশের সমস্ত ডিরেক্টরি ( ) httpdocsবর্তমান কাজকারী ডিরেক্টরি সম্পর্কিত, সাধারণত তবে প্রয়োজনীয়ভাবে ডিরেক্টরি নয়) সন্ধান করে। এটি ত্রুটি বার্তায় ব্যর্থ হয় কারণ httpdocsসিস্টেমের মূল ডিরেক্টরিতে কোনও ডিরেক্টরি এন্ট্রি নেই এবং সুতরাং অনুসন্ধানের জন্য কোনও প্রারম্ভিক বিন্দু নেই।
ড্যানিয়েল বেক

উত্তর:


609

এটাই:

find / -type d -name 'httpdocs'

"/" প্রথম প্যারামিটারটি কোথায় দেখা উচিত, এই ক্ষেত্রে "/" এটি পুরো সিস্টেম system

-নাম-কেস উপেক্ষা করার জন্য নাম হতে পারে

এছাড়াও-টাইপ বাধ্যতামূলক নয়

ব্যবহার: মানুষ আরও বিকল্পের জন্য সন্ধান করুন


2
সন্ধান / -নেম 'httpdocs' দুর্দান্ত ধন্যবাদ
এডওয়ার্ড টাঙ্গুয়ে

91
সাধারণ অনুসন্ধানগুলির জন্য এটি গুরুত্বপূর্ণ নয়, তবে আরও জটিল কমান্ডগুলির জন্য, লক্ষ্য করার মতো বিষয় যেগুলি কমান্ডলাইনে রয়েছে সেগুলি ক্রমে মূল্যায়ন করা হয়। সুতরাং, আপনার গতি বাড়ানোর জন্য আপনার নামটির আগে-টাইপ ডি (কেবল ডিরেক্টরিগুলি) রাখতে চান। আবার এটি এখানে খুব বেশি গুরুত্বপূর্ণ নাও হতে পারে, তবে আরও জটিল অনুসন্ধানে উঠলে অনুসন্ধানের গতি যথেষ্ট উন্নত করতে পারে।
ডমিনিক এডসন

14
আসলে, -nameপরীক্ষা অন্যান্য পরীক্ষার যেহেতু অধিকাংশ চেয়ে দ্রুত -nameডিরেক্টরি এর তালিকা যা ইতিমধ্যে ডিস্ক থেকে লোড হয় বিরুদ্ধে মিলেছে হয়, এবং অন্যান্য পরীক্ষা একটি সঞ্চালন প্রয়োজন stat(2)ফাইল তথ্য পেতে। প্রথম পর stat()কোনো ফাইল কল, একটি পরবর্তী পরীক্ষা মেমরি থেকে পেতে উদাহরণ: -type f -mtime -10
আর্জেজ

24
আপনি যদি পুরো ফাইল সিস্টেম, বিশেষত একটি সার্ভারে কোনও অনুসন্ধান সম্পাদন করতে যাচ্ছেন তবে সাধারণত এটি ব্যবহার করা ভাল niceতাই অনুসন্ধানটি আরও জটিল প্রক্রিয়া থেকে খুব বেশি সংস্থান গ্রহণ করে না:nice find / ...
আর্জেজ

16
অনুমতি সংক্রান্ত সমস্ত ত্রুটিতে আমার অনুসন্ধানের ফলাফলগুলি লুকানো না থেকে বাঁচতে আমি 2> / dev / নাল সংযোজন করব।
জেসন ইয়ো

63

আপনি যা খুঁজছেন তা এই আদেশটি পেতে হবে:

find / -type d -name httpdocs

এটি আপনার সার্ভারের মূল থেকে ডিরেক্টরিগুলির জন্য httpdocs এর নামের সাথে অনুসন্ধান করবে বা আপনি যদি কেবল বর্তমান ডিরেক্টরি থেকে অনুসন্ধান করতে চান তবে '/' এর সাথে 'একটি' প্রতিস্থাপন করুন।

আপনি যে কমান্ডটি চেষ্টা করতে পারেন তা হ'ল আপনি যেমন কিছু করতে চাইবেন তা হ'ল:

locate httpdocs

পোস্টডোকস আমাকে "সনাক্ত করুন: কমান্ডটি পাওয়া যায় নি" বলে দিন
এডওয়ার্ড টাঙ্গুয়ে

4
"পন্টিং" কমান্ড ব্যবহারকারীদের জন্য (এটি আপনার সিস্টেমে বিদ্যমান রয়েছে) এটি নিশ্চিত করুন যে এটি যে ডেটাবেসটিকে দেখছে তা আপ টু ডেট রয়েছে; সাধারণত কিছু ক্রোন জব এর যত্ন নেয়। অন্যথায়, "আপডেটডবি" চালান (মূল হচ্ছেন)। তারপরে আপনার প্রয়োজনীয় "সন্ধান করুন <সোফিল ফাইল" চালান। সম্প্রতি যুক্ত ফাইল / ডায়ারগুলি অনুসন্ধান করার জন্য এটি প্রয়োজনীয়।
ডেভিড রামিরেজ

অবস্থানের জন্য +1। এটি অনেক দ্রুত তবে কেবল যদি এর সূচকটি আপ টু ডেট থাকে। ভাগ্যক্রমে, "httpdocs" এর মতো কিছু স্থান ঘন ঘন পরিবর্তন করে না। আপনি যদি কোনও মেশিনে বারবার ফাইলগুলি অনুসন্ধান করার পরিকল্পনা করে থাকেন তবে আপডেটবিড ক্রোন জব সেট আপ করতে কয়েক মিনিটের প্রয়োজন।
ডগ হ্যারিস

1
এছাড়াও অনেক ক্ষেত্রে, সনাক্ত করা খুব বেশি ফলাফল প্রদান করবে যেহেতু ডিরেক্টরিতে সমস্ত 100 কে ফাইল প্রদর্শিত হবে। এই বিশেষ ক্ষেত্রে যদি প্রতিটি ব্যবহারকারীর 100 টি বা 1000 এর ফাইলের নিজস্ব পোস্টডোক থাকে তবে ওপি যে ফলাফলটি চায় তা সম্ভবত হারিয়ে যাবে।
জিস্টনিডিওট

সনাক্তের জন্য +1 ... আমি আমার ডাটাবেস আপডেট রাখি যাতে এই আদেশটি খুব দরকারী ... দুর্দান্ত ধারণা।
নিকোরেলিয়াস

27
find / -type d -name httpdocs 2> /dev/null

এটি রুট ব্যবহারকারী হিসাবে এটি না করার সময় আপনি যে সমস্ত ত্রুটি বার্তাগুলি পড়বেন সম্ভবত তা হবে (পড়ুন, সর্বদা) পাবেন। এইভাবে এটি করার সুপারিশ করবে।


2
2> /dev/nullবিকল্প খুবই সহায়ক। অন্যথায় পছন্দসই ফলাফলগুলি পাওয়া শক্ত হতে পারে ...
গটলিয়েব নটসনাবেল


13

"কেস সংবেদনশীল" নিদর্শনগুলি এবং ওয়াইল্ডকার্ডের ব্যবহার অনুসন্ধান করার জন্য প্যারামিটার-নামটি জানা গুরুত্বপূর্ণ: *,?, ইত্যাদি ..

দুটি উদাহরণ:

"লিনাক্স" স্ট্রিংযুক্ত / রুট থেকে সমস্ত ফাইল সন্ধান করুন, সংবেদনশীল ক্ষেত্রে:

find  /root -type f -iname "*linux*"

"লিনাক্স" স্ট্রিংযুক্ত / রুট থেকে সমস্ত ডিরেক্টরি সন্ধান করুন, সংবেদনশীল ক্ষেত্রে:

find  /root -type d -iname "*linux*"

এখান থেকে উত্তোলন করা হয়েছে:

http://www.sysadmit.com/2015/12/linux-buscar-ficheros-directorios-con-find.html


এই প্রশ্নটি কীভাবে আপনি কী নামে পরিচিত জানেন এমন একটি ডিরেক্টরি কীভাবে খুঁজে পাবেন, যার নাম আপনি জানেন (প্রায়) তার ডিরেক্টরি কীভাবে সন্ধান করবেন না about এছাড়াও, গৃহীত উত্তর (6 বছরেরও বেশি আগে!) ইতিমধ্যে এর -inameকেস-সংবেদনশীল বিকল্প হিসাবে উল্লেখ করেছে -name
জি ম্যান

9

আপনার কাছে প্রায় আছে। সঠিক বাক্য গঠনটি হ'ল:

find / -type d -name httpdocs

ডিরেক্টরিটি সম্ভবত এর অধীন /var/www/


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