मैन पेज विंडो में कमांड कहां उपलब्ध हैं, और क्या ये कमांड सिस्टम पर निर्भर हैं?


9

वर्षों से लिनक्स का उपयोग करने के बाद, मैंने अचानक पाया कि मुझे नहीं पता कि manकमांड का ठीक से उपयोग कैसे करें । यह सर्वविदित है कि qकोई व्यक्ति मैन पेज को छोड़ने के /लिए, खोज करने के लिए, और अन्य को टाइप कर सकता है। हालांकि, मुझे नहीं पता कि ये दस्तावेज कहां हैं। मैंने कोशिश की man man man -a man info manऔर Googling, कोई भाग्य के साथ।

कृपया मुझे इस जानकारी को देखने के लिए सही स्थिति की ओर संकेत करें, भले ही यह सही हो man manऔर मैं इसे अनदेखा कर चुका हूं, यह पूरी तरह से ठीक है, बस मुझे बताएं।

क्या ये कमांड अलग-अलग OS के लिए अलग-अलग हैं या लिनक्स के अलग-अलग डिस्ट्रीब्यूशन के लिए हैं?


मैन पेज अभी देखे नहीं गए हैं less? (यह मेरे वितरण पर है, कम से कम, और आदेशों का hसारांश दिखाता है less)
रास्तोपोपोलोस

@Rastapopoulos क्या मैन पेज अभी देखे नहीं गए हैं less? नहीं, क्योंकि lessएक मानक उपयोगिता नहीं है।
एंड्रयू हेनले

मैं आप उपयोग कर सकते लगता है readlink -f /usr/bin/pagerया readlink -f $(which pager)जो पेजर आप (डिफ़ॉल्ट रूप से है पता लगाने के लिए /bin/lessकी तुलना में) manका इस्तेमाल किया पेजर। यह (काम) सीधे काम करना चाहिएman pager
Hastur

2
यदि आप अपने मैन पेज का उपयोग कर पढ़ते हैं moreया less, आप hमदद के लिए टाइप कर सकते हैं। (या आप अभी उपयोग कर सकते हैं emacs...)
एलेक्स वोंग

1
यदि आप पेजर प्रॉम्प्ट पर टाइप करते हैं ?या कर सकते हैं h, तो यह आपको कमांड की एक सूची दे सकता है।
बमर

जवाबों:


11

यह वास्तव में सही है man, "नियंत्रित स्वरूपित आउटपुट" के तहत मैनुअल पेज के लिए , सबहडिंग और बाद में "ENVIRONMENT" अनुभाग में अच्छे उपाय के लिए:

डिफ़ॉल्ट रूप से, आदमी का उपयोग करता है pager -s
मैनुअल पृष्ठ बताता है कि वहाँ वातावरण चर और कमांड लाइन विकल्प (के एक पदानुक्रम है PAGER, MANPAGERऔर --pager) डिफ़ॉल्ट ओवरराइड करने के लिए।

यह है कि यह डेबियन लिनक्स जैसे सिस्टम पर कैसे पढ़ता है। ओरेकल लिनक्स जैसे सिस्टम पर, इसके विपरीत, man-dbपैकेज को एक अलग डिफ़ॉल्ट के साथ बनाया गया है, जो कि अभी भी उसी जगह मैनुअल पेज में सही परिलक्षित होता है:

डिफ़ॉल्ट रूप से, आदमी का उपयोग करता है less -s

man-dbकरने के लिए पैकेज प्रयास संकलन समय, जो करने के लिए डिफ़ॉल्ट पेजर पर स्वत: पता लगाएं, निर्माण में आदेश करने के लिए, और दस्तावेज़ अपने मैनुअल पृष्ठ में, से बाहर less, more, और pager

डेबियन लिनक्स जैसे सिस्टम पर, pagerकमांड "विकल्प" प्रणाली का हिस्सा है और कई वास्तविक कमांडों में से एक में मैप कर सकता है:

jdebp% अद्यतन-विकल्प - सूची पेजर
/ Bin / कम
/ Bin / अधिक
/ Usr / bin / स्नातकोत्तर
/ Usr / bin / w3m
jdebp%

इसलिए कोई अपने संबंधित मैनुअल पृष्ठों को कीबोर्ड से उन्हें कैसे चलाए, इसके लिए विकल्प देता है, जिसके अनुसार विकल्प चुना गया है। उपयोगी रूप से, डेबियन अल्टरनेटिव सिस्टम चुने हुए कमांड के साथ मैनुअल पेज को सिंक में रखता है, इसलिए इस मैनुअल पेज को पढ़ना काफी सरल है:

आदमी पेजर


5

मनुष्य सामग्री दिखाने के लिए पेजर का उपयोग करता है।

सटीक विवरण इस बात पर निर्भर करता है कि manआप किस संस्करण का उपयोग कर रहे हैं।

कई प्रणालियों पर उपयोग किए जाने वाले संस्करण के लिए:

  • यदि विकल्प -p pagerदिया जाता है तो उस पेजर का उपयोग किया जाता है।
  • अन्यथा अगर पर्यावरण चर MANPAGERसेट किया जाता है तो इसका उपयोग किया जाता है।
  • अन्यथा यदि PAGERसेट किया जाता है तो इसका उपयोग किया जाता है।
  • अन्यथा डिफ़ॉल्ट का उपयोग करना है /usr/bin/less

यदि मैनुअल पेज HTML फॉर्मेट में है, तो BROWSERइसके बजाय MANPAGER/ का उपयोग किया जाता है।PAGER

डेबियन का उपयोग करता है man-dbजिसमें अलग-अलग चूक हैं।

man manविवरण के लिए पढ़ें


आपके उत्तर के लिए धन्यवाद। हालांकि जवाब यह बताता है कि कैसे manकाम करता है, मैं आपसे पूछना चाहता हूं कि क्या आप मुझे उस स्थान पर सही जगह पर ले जाने का पक्ष ले सकते हैं जहां यह व्यवहार प्रलेखित है। धन्यवाद।
वीजुन झोउ

मेरे man manआउटपुट में (फिर से, manसंस्करण: 2.6.3) यह बताता है कि "डिफ़ॉल्ट रूप से, कम-एस का उपयोग किया जाता है।", इसलिए मुझे उम्मीद है कि यह संस्करण है- और सिस्टम-निर्भर?
वीजुन झोउ

1
यह केवल मानक यूनिक्स दर्शन का एक उदाहरण है: छोटे और सरल आदेश जो पाठ धाराओं पर काम करते हैं और ठीक एक काम करते हैं और इसे अच्छी तरह से करते हैं। एक मैनुअल प्रारूपण, और पृष्ठांकन दो चीजें हैं, यही वजह है कि वे दो अलग-अलग टूल द्वारा किए जाते हैं। इस तरह, पेजिंग टूल को अन्य कार्यों के लिए फिर से उपयोग किया जा सकता है, न केवल मैनुअल पेज प्रदर्शित करने के लिए।
जोर्ग डब्ल्यू मित्तग

2

@Rastapopoulos के लिए धन्यवाद, मैं से संबंधित एक लाइन को खोजने lessमें man manएक वर्ष लिनक्स बॉक्स पर ( man: संस्करण 1.6f) में पर्यावरण कहा गया है कि खंड,

ब्राउज़र HTML मैनुअल पेज प्रदर्शित करने के लिए उपयोग करने के लिए एक ब्राउज़र का नाम। यदि यह सेट नहीं है, तो /usr/bin/lessइसका उपयोग किया जाता है।

हालाँकि एक नए बॉक्स ( manसंस्करण: 2.6.3) पर इस लाइन को बदल दिया गया है

BROWSER यदि $ BROWSER को सेट किया जाता है, तो इसका मान कॉलोन-सीमांकित सूची है, जिसमें से प्रत्येक का उपयोग आदमी - html के लिए एक वेब ब्राउज़र शुरू करने के लिए किया जाता है। प्रत्येक कमांड में,% s को एक फाइल द्वारा बदल दिया जाता है? HTML आउटपुट ग्रॉफ से युक्त, %% को एक प्रतिशत चिह्न (%) से बदल दिया जाता है, और% c को एक बृहदान्त्र (:) द्वारा प्रतिस्थापित कर दिया जाता है।

इन सूचनाओं के आधार पर मेरा मानना ​​है कि यह lessडिफ़ॉल्ट रूप से स्वरूपित है (कम से कम पहले मामले के लिए)। हालाँकि, अगर यह मामला है, तो भी इसे इस तरह से प्रलेखित किया जाता है जो मुझे स्पष्ट नहीं लगता (या मैंने manकमांड को गलत तरीके से सीखा है )।


2

विभिन्न ऑपरेटिंग सिस्टम के लिए सामान्य रूप से आपके प्रश्न का पूरी तरह से जवाब देने का कोई वास्तविक तरीका नहीं है, क्योंकि manकार्यान्वयन वास्तव में पूरी तरह से निर्दिष्ट नहीं है।

POSIX manदस्तावेज़ में POSIX- मानक, गैर-लिनक्स-विशिष्ट उत्तर पाया जा सकता है :

नाम

man - display system documentation

SYNOPSIS

man [-k] name...

...

पर्यावरण चर

निम्नलिखित पर्यावरण चर मनुष्य के निष्पादन को प्रभावित करेंगे:

LANG

अंतर्राष्ट्रीयकरण चर के लिए एक डिफ़ॉल्ट मान प्रदान करें जो परेशान या अशक्त हैं। (स्थानीय श्रेणियों के मूल्यों को निर्धारित करने के लिए उपयोग किए जाने वाले अंतर्राष्ट्रीयकरण चर की पूर्ववर्ती के लिए XBD अंतर्राष्ट्रीयकरण चर देखें।)

LC_ALL

यदि एक गैर-रिक्त स्ट्रिंग मान पर सेट किया जाता है, तो अन्य सभी अंतर्राष्ट्रीयकरण चर के मूल्यों को ओवरराइड करें।

LC_CTYPE

वर्णों के रूप में पाठ डेटा के बाइट्स के अनुक्रमों की व्याख्या के लिए स्थान का निर्धारण करें (उदाहरण के लिए, तर्कों में और सारांश डेटाबेस में मल्टी-बाइट वर्णों के विपरीत एकल-बाइट)। LC_CTYPE के मान को नाम ऑपरेंड के बारे में लिखी गई जानकारी के प्रारूप को प्रभावित करने की आवश्यकता नहीं है।

LC_MESSAGES

मानक त्रुटि के लिए लिखे गए मानक त्रुटि और सूचनात्मक संदेशों को लिखे गए नैदानिक ​​संदेशों के प्रारूप और सामग्री को प्रभावित करने के लिए उपयोग किए जाने वाले स्थान का निर्धारण करें।

NLSPATH

LC_MESSAGES के प्रसंस्करण के लिए संदेश कैटलॉग का स्थान निर्धारित करें।

पेजर

टर्मिनल पर आउटपुट लिखने के लिए आउटपुट फ़िल्टरिंग कमांड का निर्धारण करें। कमांड को कमांड कमांड के रूप में स्वीकार्य कोई भी स्ट्रिंग मान्य होगी। जब मानक आउटपुट एक टर्मिनल डिवाइस होता है, तो संदर्भ पृष्ठ आउटपुट को कमांड के माध्यम से पाइप किया जाएगा। यदि PAGER वैरिएबल शून्य या सेट नहीं है, तो कमांड सिस्टम डॉक्यूमेंटेशन में डॉक्यूमेंटेड या तो एक या अन्य पेजेंटेटर यूटिलिटी होगी।sh-cmore

manइतनी पूरी तरह से निर्दिष्ट क्यों नहीं है , यह वर्णन करते हुए, राष्ट्रीय अनुभाग पर ध्यान दें :

औचित्य

यह माना जाता है कि मानव उपयोगिता केवल निर्दिष्ट उपयोगिता की न्यूनतम उपयोगिता है। मानक डेवलपर्स की राय को दृढ़ता से विभाजित किया गया था कि आदमी को कितनी या कितनी कम जानकारी प्रदान करनी चाहिए। हालांकि, उन्होंने माना कि प्रलेखन तक पहुँचने के कुछ पोर्टेबल तरीके के प्रावधान से उपयोगकर्ता पोर्टेबिलिटी में मदद मिलेगी। फुलर विनिर्देश के खिलाफ तर्क थे:

  • ऐसी व्यवस्था पर बड़ी मात्रा में प्रलेखन की आवश्यकता नहीं होनी चाहिए जिसमें अतिरिक्त डिस्क स्थान नहीं है।

  • वर्तमान मैनुअल सिस्टम जानकारी को ढंग से प्रस्तुत नहीं करता है जो कि उपयोगकर्ता पोर्टेबिलिटी को बहुत सहायता करता है।

  • एक "बेहतर सहायता प्रणाली" वर्तमान में एक ऐसा क्षेत्र है जिसमें विक्रेताओं को लगता है कि वे अपने POSIX कार्यान्वयन में मूल्य जोड़ सकते हैं।

-F विकल्प पर विचार किया गया था, लेकिन कार्यान्वयन अंतर के कारण, इसे POSIX.1-2008 की मात्रा में शामिल नहीं किया गया था।

उपयोगिता के लिए जो प्रदर्शित किया जाना है, उसके बारे में विवरण अधिक विशिष्ट होने के लिए बदल दिया गया था। मानक डेवलपर्स ने यह अपर्याप्त माना कि प्रत्येक विकल्प और ऑपरेंड क्या करता है, इसका संक्षिप्त विवरण दिए बिना केवल सिनोप्सिस के प्रदर्शन की अनुमति दें।

डेटाबेस में शामिल की जाने वाली "उद्देश्य" प्रविष्टि प्रत्येक उपयोगिता के लिए POSIX.1-2008 की मात्रा से अनुभाग शीर्षक (कम संख्यात्मक उपसर्ग) के समान हो सकती है। ये शीर्षक इस उद्देश्य के लिए ऐतिहासिक प्रणालियों में उपयोग किए गए समान हैं।

डिफॉल्ट पेजिनेटर के विषय में तर्क के लिए mailx देखें ।

LC_CTYPE विवरण में चेतावनी को जोड़ा गया था क्योंकि यह आवश्यकता नहीं है कि कार्यान्वयन प्रत्येक सिस्टम पर उसके सभी समर्थित स्थानों के लिए संदर्भ पृष्ठ प्रदान करता है; LC_CTYPE बदलने से संदर्भ पृष्ठ का दूसरी भाषा में अनुवाद करना आवश्यक नहीं है। यह POSIX.1-2008-locale- विशिष्ट संदेशों में LC_MESSAGES की वर्तमान स्थिति के बराबर है, अभी तक एक आवश्यकता नहीं है।

POSIX में ऐतिहासिक MANPATH वैरिएबल को शामिल नहीं किया गया है क्योंकि संदर्भ पृष्ठ फ़ाइलों के लिए नामकरण सम्मेलनों को निर्दिष्ट करने का कोई प्रयास नहीं किया गया है, न ही यहां तक ​​कि यह जिक्र करने के लिए भी कि वे सभी फाइलें हैं। कुछ कार्यान्वयन पर वे एक सच्चे डेटाबेस, एक हाइपरटेक्स्ट फ़ाइल, या निष्पादन योग्य आदमी के भीतर भी निश्चित तार हो सकते हैं। मानक डेवलपर्स ने संदर्भ पृष्ठों की पोर्टेबिलिटी को उनके कार्यक्षेत्र के बाहर माना। हालाँकि, उपयोगकर्ताओं को पता होना चाहिए कि MANPATH कई ऐतिहासिक प्रणालियों पर लागू किया गया है और इसका उपयोग विभिन्न श्रेणियों (संदर्भिताओं, कार्यों, फ़ाइल स्वरूपों और इसी तरह) से संदर्भ पृष्ठों के लिए खोज पैटर्न को टेलर करने के लिए किया जा सकता है जब सिस्टम व्यवस्थापक सिस्टम पर संदर्भ पृष्ठों के लिए स्थान और सम्मेलनों का पता चलता है।

...

पेज पेज से पेजिनेशन तर्क चर्चा :

PAGER के अशक्त या अप्रसिद्ध होने पर चयनित चयनकर्ता को आंशिक रूप से अनिर्दिष्ट किया जाता है ताकि सिस्टम V को डिफ़ॉल्ट के रूप में उपयोग करने के ऐतिहासिक अभ्यास की अनुमति दी जा सके। पृष्ठांकन क्रिया को दरकिनार करते हुए, जैसे कि यह घोषित करना कि बिल्ली महामारी है, इस विवरण के अभिप्राय से नहीं मिलती। हालांकि, किसी भी "पोर्टेबल उपयोगकर्ता" को सभी प्रणालियों पर अपना पसंदीदा पेजिनेटर प्राप्त करने के लिए स्पष्ट रूप से पेजर सेट करना होगा। पेजिनेटर पसंद को आंशिक रूप से अनिर्दिष्ट बनाया गया था, विज़ुएल संपादक की पसंद (vi के लिए अनिवार्य) के विपरीत, क्योंकि अधिकांश ऐतिहासिक पेजर उपयोगकर्ता इनपुट के एक सामान्य विषय का पालन करते हैं, जबकि संपादक नाटकीय रूप से भिन्न होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.