मैं बिना कम के आदमी का उपयोग कैसे कर सकता हूं?


21

डिफ़ॉल्ट रूप से, आउटपुट टेक्स्ट manका उपयोग करता lessहै। मैं इसे केवल आउटपुट के लिए कैसे बता सकता हूं? मेरे टर्मिनल एमुलेटर में एक स्क्रॉल बार और खोज फ़ंक्शन है और मैं तीर कुंजी के बजाय उन का उपयोग करना चाहता हूं।

जवाबों:


31

वास्तव में यह जो कुछ भी MANPAGERया PAGERपर्यावरण चर में निर्दिष्ट है का उपयोग करता है ।

आपके manकार्यान्वयन और संस्करण के आधार पर पेजर को निर्दिष्ट करने के लिए कमांड लाइन स्विच भी हो सकता है।

साथ आदमी-db कार्यान्वयन मैं सभी तरह से काम नीचे का उपयोग करें:

MANPAGER=cat man man

PAGER=cat man man

MANOPT='-P cat' man man

man -P cat man

इसे स्थायी रूप से सेट करने के लिए, बस इसे अपने ~/.bashrc(या आपके शेल द्वारा उपयोग की जाने वाली अन्य आरंभीकरण फ़ाइल) में जोड़ें:

export MANPAGER=cat

यह कुछ पुराने manकार्यान्वयनों के साथ भी काम करता है, जबकि MANOPTमैन-डीबी विशिष्ट है:

export MANOPT='-P cat'

(बेहतर है PAGERकि इस तरह से सेट न करें । एक का उपयोग कई अन्य अनुप्रयोगों द्वारा भी किया जाता है।)

एक वैश्विक कॉन्फ़िगरेशन फ़ाइल भी हो सकती है। आदमी-डीबी है /etc/man_db.confया /etc/manpath.config। वहाँ आप सेट कर सकते हैं:

DEFINE    pager    cat

लेकिन दुर्भाग्यवश यह ध्यान में रखा जाता है कि न तो सेट किया जाता है MANPAGERऔर न ही PAGER


2
अच्छा उत्तर। पुन:, ~/.bashrcआप निर्यात को एक सशर्त में भी लपेट सकते हैं इसलिए यह केवल पेजर सेट करता है यदि यह उपयुक्त टर्मिनल / एमुलेटर है if [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi:; स्पष्ट रूप xtermसे उपयुक्त एमुलेटर के साथ बदलें ।
केविन

1
वास्तव में, यह अच्छा है और डिजाइन द्वारा कि मैनपाट.कॉन्फिग को बाद में ध्यान में रखा गया है। PAGER और MANPAGER दोनों उपयोगकर्ता स्तर हैं, जहाँ कॉन्फ़िग फ़ाइल सिस्टम स्तर है। यदि सिस्टम स्तर पूर्वता लेगा तो उपयोगकर्ता ओवरराइड नहीं कर सकते हैं।
पॉल डे व्रीज़

@PauldeVrieze, आप सही हैं MANPAGER। मैंने इस तथ्य के लिए "दुर्भाग्य से" शब्द का इस्तेमाल किया कि यह व्यवहार पर भी लागू होता है PAGER, जो एक सामान्य सेटिंग है (कई उपकरणों द्वारा उपयोग किया जाता है) और मैं इसे एक विशेष सेटिंग (केवल एक उपकरण द्वारा उपयोग) को ओवरराइड नहीं करने के लिए पसंद करूंगा , भले ही वह एक प्रणाली स्तर है।
मैनटवर्क

यदि आप किसी एकल टूल के लिए एक विशिष्ट सेटिंग को ओवरराइड करना चाहते हैं, तो आप हमेशा एक उपनाम, एक शेल फ़ंक्शन या एक आवरण स्क्रिप्ट बनाकर ऐसा कर सकते हैं। या तो उन लोगों के लिए राशि होगी: PAGER=cat manउदाहरण के लिए:alias man='PAGER=cat MANPAGER=cat man'
बजे पॉल डे व्रीज़

6

सीधे शब्दों में पाइप के उत्पादन manके लिए cat?

man ls | cat   # useful use of cat

6
ध्यान दें कि manकार्यान्वयन पर निर्भर करते हुए , कि या तो 1) त्रुटि बढ़ जाती है, 2) टर्मिनल में ट्रॉफ प्रारूप कोड प्रदर्शित करता है, 3) सभी स्वरूपण को हटाता है, 4) अपेक्षा के अनुरूप काम करता है।
मैनटवर्क

2
मैंने इसे 4 के अलावा कभी नहीं देखा है
कीथ थॉम्पसन 1

@KeithThompson macOS आउटपुट फाइल या पाइप manहोने पर MANPAGERभी पेजर सेट का उपयोग करता प्रतीत होता है। और अगर पेजर है less, तो यह सब अच्छा है क्योंकि lessव्यवहार करता है catजब आउटपुट एक पाइप है ... लेकिन अगर आप कुछ और उपयोग करते हैं (जैसे विम, जो मैं उपयोग करता हूं), तो यह इतना अच्छा नहीं है।
मुरु ०

1

एक पेजर के बिना मैन आउटपुट उत्पन्न करने के लिए इन कमांड का प्रयास करें।

  • man ls | cat (निश्चित चौड़ाई से निर्मित)

  • man -P cat ls (उत्पन्न चर चौड़ाई)

मैं एक GNU लाइनक्स सिस्टम पर था


1

एक और कोण: टोनी के जवाब के समान।

आप किसी फ़ाइल में मैन आउटपुट को रीडायरेक्ट भी कर सकते हैं और उसे अपने पसंदीदा टेक्स्ट एडिटर के साथ देख सकते हैं या उसमें बुकमार्क, टिप्पणियाँ आदि भी जोड़ सकते हैं।

man bash  > bashman.txt

मेरे पास बैश मैन पेज की एक प्रति है और साथ ही बस बैश फ्लो कंट्रोल और बैश टेस्ट फ्लैग पर सेक्शन को मेरी बिन डायरेक्टरी में टेक्स्ट फाइल्स के रूप में सेव किया गया है, ताकि मैं उन्हें अपने टेक्स्ट एडिटर (केट) में संदर्भ के लिए लोड कर सकूं। बैश स्क्रिप्ट लिखना।


चेतावनी: आपके सिस्टम और मैन पेज पर निर्भर करते हुए, उपरोक्त कमांड का परिणाम फ़ाइल में जानकारी और नियंत्रण वर्णों को प्रारूपित करना हो सकता है।

इससे बचने के लिए, जैसा कि सुझाया गया है LESS='+/^TIPS' man man:

To  get a  plain  text  version  of a man page, without backspaces and
underscores, try

  # man foo | col -b > foo.mantxt

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