আপনি কোনও নির্দিষ্ট বিভাগে সমস্ত ম্যান পেজের একটি তালিকা আউটপুট করবেন কীভাবে?


25

forkউদাহরণস্বরূপ, ম্যান পেজটি সিস্টেম কল বিভাগে রয়েছে যার 2 নম্বর রয়েছে:

man 2 fork

গুগল অবলম্বন না করে আপনি কীভাবে 2 সেকশনটি দেখতে পাচ্ছেন?


গুগল ব্যতীত তবে ওয়েবের মাধ্যমে man7.org/linux/man-pages/dir_section_2.html (অথবা এখানে মূল পৃষ্ঠা: kernel.org/doc/man-pages )
বেলাকুইয়া

উত্তর:


4

এই কমান্ডটি প্রদত্ত বিভাগে সমস্ত এন্ট্রি বাছাই করা নাম তালিকাভুক্ত করে:

man -aWS 1 \* | xargs basename | sed 's/\.[^.]*$//' | sort -u

আপনি যদি পথের নামগুলি দেখতে চান তবে ব্যবহার করুন:

man -aWS 1 \* | sed 's/\.[^.]*$//' | sort

এটি manওয়াইল্ডকার্ড প্যাটার্ন ব্যবহার করে সমস্ত কমান্ডের জন্য একটি বিভাগ অনুসন্ধান করতে বলে *(ব্যাকস্ল্যাশ-উদ্ধৃত যাতে শেলটি এটি ব্যাখ্যা করে না)। -aসমস্ত মিল খুঁজে পেয়েছে, -Wপৃষ্ঠাগুলি প্রদর্শনের পরিবর্তে পাঠ্য নামগুলি মুদ্রণ করে এবং -S 1বিভাগের একটি নির্দিষ্ট করে। 1আপনি যে বিভাগটি অনুসন্ধান করতে চান তাতে পরিবর্তন করুন ।

sedকমান্ড ফাইলের নাম এক্সটেনশন রেখাচিত্রমালা; আপনি যদি সম্পূর্ণ ফাইলের নাম দেখতে চান তবে এটি সরান। sortফলাফলগুলি -uসাজায় ( সদৃশগুলি মুছে ফেলে)।

সুবিধাজনক পুনঃব্যবহারের জন্য, এটি একটি বাশ শেল কার্যকারিতা সংজ্ঞায়িত করে:

function mansect { man -aWS ${1?man section not provided} \* | xargs basename | sed 's/\.[^.]*$//' | sort -u; }

উদাহরণস্বরূপ, আপনি mansect 3বিভাগে তিনটি এন্ট্রিগুলি দেখতে এটি আহ্বান করতে পারেন ।

[ম্যাকোজে পরীক্ষিত।]


সুন্দর ধন্যবাদ. আমি কিছু অনুলিপি পেয়েছি (উদাহরণস্বরূপ / অ্যাপ্লিকেশন / এক্সকোড.এপথের পাথ এবং বিভাগ 7-এ "ত্বরণ"), তবে uniqপাইপলাইনে কোনও স্থাপন করা ঠিক করে না।
xyz

@xyz: sort -uসদৃশ অপসারণের জন্য আমি সাজানো কমান্ডটি আপডেট করেছি ।
ক্রিস পৃষ্ঠা

24

নির্দিষ্ট বিভাগ থেকে সমস্ত ইনস্টল করা ম্যান পেজ তালিকাভুক্ত করতে আপনি অ্যাপ্রোপস ব্যবহার করতে পারেন :

apropos -s 2 .  # use an regex for apropos . means anything
apropos -s 2 -w '*'  # use unix globbing for apropos

"অ্যাপ্রোপস: -স: অজানা বিকল্প"
মাইকেল মরোজেক

@ মিশেলমরোজেক আপনি কোন সিস্টেমটি ব্যবহার করছেন? এটি আমার পক্ষে কাজ করে, যেমন:
এপ্রোপস

ধন্যবাদ। -এস বিকল্পটি ম্যাক ওএস এক্স এপ্রোপসে উপস্থিত নেই, সম্ভবতঃ বিএসডি থেকে।
xyz

@ f100 আহ ঠিক আছে, চেষ্টা করুনman -a -s 2 '*'
উলরিচ ড্যাঙ্গেল

এটি দেখতে এটিকে আরও বেশি মনে হয় তবে এগুলি তালিকাভুক্ত করার পরিবর্তে প্রকৃতপক্ষে দর্শকদের প্রতি পরিবর্তনের জন্য অনুরোধ করা হচ্ছে। আমি অন্য একটি মন্তব্য পোস্ট করেছি যা তালিকা করতে একটি ফাংশন হ্যাক করেছি। এটিতে সম্ভবত সমস্যা রয়েছে তবে এটি আমার পক্ষে যথেষ্ট :)
xyz

20

ম্যানাপেজগুলি সাধারণত স্থাপন করা হয় /usr/share/man, তবে চেক $MANPATHকরা হয় এবং এর মতো বিভাগগুলিতে সংগঠিত হয়:

 Section 1:
 /usr/share/man/man1/

 Section 2:
 /usr/share/man/man2/

 ...

সুতরাং সমস্ত ইনস্টল করা বিভাগ 2 ম্যানাপেজগুলি তালিকাভুক্ত করতে, করুন:

ls /usr/share/man/man2/

বা আরও সম্পূর্ণ এক:

find $(echo $MANPATH | tr ':' ' ') -path '*/man2/*'

যদি আপনার $MANPATHনামের সাথে স্পেস দিয়ে ডিরেক্টরি থাকে তবে পরেরটির সমস্যা হবে ।

বেশিরভাগ বিতরণে আপনি একটি প্যাকেজ সরঞ্জাম সহ উপলভ্য ম্যান পেজগুলিও পরীক্ষা করতে পারেন, উদাহরণস্বরূপ ডিবিয়ান ডেরাইভড ডিস্ট্রিবিউশনগুলিতে আপনি এর apt-fileমতো ব্যবহার করতে পারেন :

apt-file search /man2/

1
ধন্যবাদ - এটি আমার শুরু করার দরকার ছিল। আমি একটি শেল ফাংশন তৈরি করেছি যা উদাহরণস্বরূপ চালানো হয় lman 2এবং প্রতিটি পৃষ্ঠার জন্য অলংকৃত নামকে একটি নতুন লাইনে তালিকাবদ্ধ করে সেগুলিকে পৃষ্ঠাগুলি দেয়। ফাংশনটির দেহটি হ'ল:find $(man --path | tr ':' ' ') -path "*/man$1/*"| xargs basename | sort | sed -E "s/\.$1(.gz)?\$//" | less
xyz

1

ম্যাক ওএস এক্স-তে কেবলমাত্র আমি কাজ করতে পারি man -k . | grep -F '(3)', যা বিভাগ 3 এর সমস্ত কিছু তালিকাভুক্ত করে।


0

আমি জানি এটি একটি খুব পুরানো প্রশ্ন, তবে এখানে দেওয়া উত্তরগুলি আমার পক্ষে কার্যকর হয়নি। সুতরাং আমি নীচের ওয়ান-লাইনার নিয়ে এসেছি যা উবুন্টু 18.04 এবং ম্যাকোস মোজভেভ, 10.14.6 এ কাজ করে:

find $(man --path | tr ':' ' ') -type f -path '*man2*' \
  -exec basename {} \; | sed 's/\..*//' | sort

দ্রুত চালানো ডাউন:

  • ফর্ম Thors উত্তর: $(man --path | tr ':' ' ')ম্যান পৃষ্ঠাগুলির বর্তমান পাথ পেতে
  • find <man paths> -type f -path '*man2*' -exec basename {} \; ম্যান পাথগুলিতে নিয়মিত সমস্ত ফাইলের ফাইলের নাম পাওয়া যায়
  • sed ফাইল এক্সটেনশন পরিত্রাণ পেতে
  • sort বর্ণানুক্রমে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.