fork
उदाहरण के लिए एक आदमी पृष्ठ , सिस्टम कॉल अनुभाग में है जिसमें नंबर 2 है:
man 2 fork
आप कैसे देखते हैं कि Google का सहारा लिए बिना धारा 2 क्या है?
fork
उदाहरण के लिए एक आदमी पृष्ठ , सिस्टम कॉल अनुभाग में है जिसमें नंबर 2 है:
man 2 fork
आप कैसे देखते हैं कि Google का सहारा लिए बिना धारा 2 क्या है?
जवाबों:
यह आदेश दिए गए अनुभाग में सभी प्रविष्टियों के क्रमबद्ध नामों को सूचीबद्ध करता है:
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
खंड तीन में प्रविष्टियों को देखने के लिए आमंत्रित कर सकते हैं।
[MacOS पर परीक्षण किया गया।]
uniq
पाइपलाइन में कुछ भी ठीक नहीं होता है।
sort -u
डुप्लिकेट को हटाने के लिए सॉर्ट कमांड को अपडेट किया ।
एक विशिष्ट अनुभाग से सभी स्थापित मैन पेजों को सूचीबद्ध करने के लिए आप एप्रोपोस का उपयोग कर सकते हैं :
apropos -s 2 . # use an regex for apropos . means anything
apropos -s 2 -w '*' # use unix globbing for apropos
man -a -s 2 '*'
मानदंड को आमतौर पर रखा जाता है /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/
lman 2
। फ़ंक्शन का शरीर है:find $(man --path | tr ':' ' ') -path "*/man$1/*"| xargs basename | sort | sed -E "s/\.$1(.gz)?\$//" | less
मुझे पता है कि यह एक बहुत पुराना सवाल है, हालांकि यहाँ दिए गए जवाब मेरे लिए काम नहीं करते। इसलिए मैं के बाद एक-लाइनर कि पर काम करता है के साथ आया था उबंटू 18.04 और MacOS मोजावे, 10.14.6:
find $(man --path | tr ':' ' ') -type f -path '*man2*' \
-exec basename {} \; | sed 's/\..*//' | sort
त्वरित रन डाउन:
$(man --path | tr ':' ' ')
मैन पेजों के वर्तमान रास्तों को प्राप्त करने के लिएfind <man paths> -type f -path '*man2*' -exec basename {} \;
आदमी रास्तों में सभी नियमित फ़ाइलों के फ़ाइल नाम प्राप्त करता हैsed
फ़ाइल एक्सटेंशन से छुटकारा मिलता हैsort
वर्णानुक्रम।