मैन पेज के उदाहरण क्यों नहीं हैं?


52

क्या कोई कारण है कि ज्यादातर मैन पेज में कुछ सामान्य उदाहरण शामिल नहीं हैं? वे आम तौर पर सभी संभावित विकल्पों की व्याख्या करते हैं, लेकिन इससे शुरुआती के लिए यह समझना और भी कठिन हो जाता है कि यह "आमतौर पर" कैसे उपयोग किया जाता है।


1
मेरा अनुमान है कि वे सीआर से छुटकारा पाने के साथ, मूल्यवान डिस्क स्थान को बचाना चाहते थे। सी एफ बेकेट, वाट , पी। 8: "बहुत मूल्यवान स्थान को बचा लिया गया है [...] कहने के बाद फुफ्फुसावरण प्रतिगामी सर्वनाम के परिहार से ।"
पीटर -

3
इस समस्या के लिए एक प्रयास वर्कआउट tldr-pages.github.io है , हालांकि मैं यह नहीं देखता कि वे ऑफ़लाइन एक्सेस के लिए सब कुछ डाउनलोड करना आसान क्यों बनाते हैं।
नाथन लॉन्ग

man jqउदाहरणों की 1000 से अधिक पंक्तियाँ हैं (उबंटू 16.04 पर)
मोट्टे001

जवाबों:


49

उस आदमी पृष्ठों पर निर्भर करता है ... परंपरागत रूप से, वे है उदाहरण के साथ एक अनुभाग शामिल - लेकिन किसी कारण से आम तौर पर लिनक्स के तहत आदमी पन्नों से गायब है कि (और मैं जीएनयू आदेशों का उपयोग अन्य मान - जो सबसे इन दिनों कर रहे हैं)। दूसरी ओर सोलारिस पर, लगभग हर आदमी पृष्ठ में उदाहरण अनुभाग शामिल है, अक्सर कई उदाहरणों के साथ।

अगर मुझे लगता है, FSF / GNU ने लंबे समय तक manपृष्ठों के उपयोग को हतोत्साहित किया है और उपयोगकर्ताओं को इसके बजाय प्रलेखन के लिए जानकारी का उपयोग करना पसंद करते हैं। infoपेज मैन पेजों की तुलना में अधिक व्यापक होते हैं, और आमतौर पर उदाहरणों को शामिल करते हैं। infoपृष्ठ भी अधिक "सामयिक" हैं - अर्थात संबंधित कमांड (जैसे फाइलें खोजने के लिए आदेश) अक्सर एक साथ मिल सकते हैं।

एक और कारण यह हो सकता है कि GNU और इसके manपृष्ठ कई अलग-अलग ऑपरेटिंग सिस्टम पर उपयोग किए जाते हैं जो एक दूसरे से भिन्न हो सकते हैं (विभिन्न लिनक्स डिस्ट्रोस के बीच बहुत सारे मतभेदों के बाद भी)। आशय यह हो सकता है कि प्रकाशक ने विशेष ओएस / डिस्ट्रो से संबंधित उदाहरणों को जोड़ा - जो स्पष्ट रूप से शायद ही कभी किया जाता है।

मैं यह भी जोड़ूंगा कि manपृष्ठों को "शुरुआती सिखाने" का इरादा नहीं था। UNIX को कंप्यूटर विशेषज्ञों (पुराने शब्द "हैकर्स") द्वारा विकसित किया गया था और इसका उपयोग कंप्यूटर विशेषज्ञों द्वारा किया जाना था। मैन पेज इस प्रकार नौसिखियों को पढ़ाने के लिए नहीं बनाए गए थे, लेकिन कंप्यूटर विशेषज्ञ को जल्दी से सहायता करने के लिए, जिन्हें कुछ अस्पष्ट विकल्प या अजीब फ़ाइल प्रारूप के लिए एक रिमाइंडर की आवश्यकता थी - और यह इस बात से परिलक्षित होता है कि मैन पेज को कैसे व्यवस्थित किया जाता है।

man-पेज इस प्रकार से हैं

  • आपकी स्मृति को ताज़ा करने के लिए एक त्वरित संदर्भ; आपको दिखा रहा है कि कमांड को कैसे बुलाया जाना चाहिए, और उपलब्ध विकल्पों को सूचीबद्ध करना चाहिए।
  • एक गहरी और पूरी तरह से - और आमतौर पर बहुत तकनीकी - कमांड के सभी पहलुओं का वर्णन । यह कंप्यूटर विशेषज्ञों द्वारा लिखा गया है, साथी कंप्यूटर विशेषज्ञों के लिए।
  • कमांड द्वारा उपयोग किए जाने वाले पर्यावरण चर और फाइलों (अर्थात फाइल को कॉन्फ़िगर करना) की सूची।
  • अन्य दस्तावेज़ीकरण (उदाहरण के लिए किताबें), और अन्य manपृष्ठ - जैसे। कॉन्फ़िगर फ़ाइलों और संबंधित / समान आदेशों के प्रारूप के लिए।

उस ने कहा, मैं आपसे बहुत सहमत हूं कि उन manपृष्ठों के उदाहरण हैं, क्योंकि वे स्वयं मैन पेज के माध्यम से वैडिंग की तुलना में बेहतर उपयोग की व्याख्या कर सकते हैं। आमतौर पर बहुत बुरे उदाहरण लिनक्स manपृष्ठों पर उपलब्ध नहीं हैं ...

सोलारिस मैन पेज के उदाहरण भाग का नमूना - zfs (1M):

(...)
उदाहरण
     उदाहरण 1 एक ZFS फ़ाइल सिस्टम पदानुक्रम बनाना

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

       # zfs पूल / घर बनाते हैं
       # zfs ने माउंटपॉइंट = एक्सपोर्ट / होम पूल / होम सेट किया
       # zfs पूल / घर / बॉब बनाते हैं

     उदाहरण 2 एक ZFS स्नैपशॉट बनाना

     निम्न कमांड कल नाम का एक स्नैपशॉट बनाता है।
     यह स्नैपशॉट .zfs / स्नैपशॉट में मांग पर आरूढ़ है
     पूल / होम / बॉब फ़ाइल सिस्टम के रूट पर निर्देशिका।

       # zfs स्नैपशॉट पूल / होम / बॉब @ कल

     उदाहरण 3 कई स्नैपशॉट बनाना और नष्ट करना

     निम्नलिखित कमांड स्नैपशॉट बनाता है जिसका नाम कल है
     पूल / घर और इसके सभी वंशज फ़ाइल सिस्टम। से प्रत्येक
     स्नैपशॉट मांग पर .zfs / स्नैपशॉट निर्देशिका में मुहिम की जाती है
     इसकी फाइल सिस्टम के मूल में। दूसरी आज्ञा नष्ट हो जाती है
     नव निर्मित स्नैपशॉट।

       # zfs स्नैपशॉट -r पूल / होम @ कल
       # zfs नष्ट -r पूल / घर @ कल

SunOS 5.11 अंतिम परिवर्तन: 23 जुलाई 2012 51

सिस्टम प्रशासन कमांड्स zfs (1M)

     उदाहरण 4 फ़ाइल सिस्टम संपीड़न को अक्षम और सक्षम करना

     निम्न आदेश के लिए संपीड़न गुण अक्षम करता है
(...)

यह विशेष मैन पेज 16 (!) ऐसे उदाहरणों के साथ आता है ... कुडोस टू सोलारिस!
"


2
यह अंतिम वाक्य मैनुअल में उदाहरण के साथ एक समस्या पर प्रकाश डालता है । एक ऐसा उदाहरण लेता है जो उपकरण के विशेष अनुप्रयोग के निहितार्थों को पूरी तरह से समझने के बिना किसी की आवश्यकताओं को सबसे अच्छी तरह से फिट करता है। और बाद में, कोई यह कह सकता है कि "मैंने इसे इस तरह किया", लेकिन वास्तव में ऐसा क्यों या इसका क्या मतलब है।
Kusalananda

6
@Kusalananda मेरे बचाव में, मैं है विभिन्न विकल्पों के बारे में और उप आदेशों मैं वास्तव में किया है के बारे में पढ़ा की जरूरत सिर्फ पूरी बात (अभी तक) -। यह केवल मेरे उपयोग के लिए प्रासंगिक नहीं है ... दुरुपयोग के खतरे के बावजूद, उदाहरण एक उद्देश्य की पूर्ति करते हैं - और अगर आपको ज़रूरत है तो बस एक कमांड का सबसे बुनियादी उपयोग है, सभी घंटियाँ और सीटी के बारे में पढ़ना शायद ही आवश्यक है।
बार्ड कोपरपुड

@ कुसलानंद यह आदेशों पर भी निर्भर हो सकता है। अधिकांश यूनिक्स और जीएनयू के बर्तन मुझे पता है कि अच्छी तरह से प्रलेखित हैं, लेकिन आपको समझदार कुछ भी करने के लिए दस्तावेज की आवश्यकता है। नए Solaris कमांड (विशेषकर zfs) को प्राकृतिक रूप से सुंदर रूप से डिज़ाइन किया गया है। उदाहरण के लिए, zfs destroy pool/filesystemउपयोग के 90% मामलों के लिए बुनियादी उपयोग और जुर्माना है। की तरह कम विकल्पों -rके लिए recursiveअधिक विशेष कर रहे हैं और, उपयोग करने से पहले परामर्श की जरूरत है क्योंकि वे अनायास ही दुष्प्रभाव हो सकता है।
user121391

26

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


7

निर्भर करता है:

  • अधिकांश कार्यक्रम जो आपको दिलचस्प लगते हैं, समय की अवधि में विकसित होते हैं, शुरू में एक समस्या को हल करने के लिए और बाद में समाधान को बेहतर बनाने के लिए। कार्यक्रमों के डेवलपर्स बताते हैं कि उन्होंने जो सोचा था, वह जानना महत्वपूर्ण था (और प्रलेखन समस्या नहीं थी जो वे हल कर रहे थे)।
  • कुछ कार्यक्रमों के लिए, डेवलपर्स नमूना कार्यक्रम या स्क्रिप्ट प्रदान करना पसंद करते हैं जो दिखाते हैं कि किसी दिए गए कार्यक्रम (या पुस्तकालय) का उपयोग कैसे किया जाए। फिर, यह एक समस्या को हल करने के लिए किया जाता है: कार्यक्रम को परीक्षण करना आसान बनाता है।

    उदाहरण के कुछ उपयोगकर्ताओं से बग रिपोर्ट के आधार पर किया जा सकता है, और जब लघु पुस्तिका में एक जगह पाता है। मैनुअल में लंबे उदाहरण शायद ही कभी प्रदान किए जाते हैं, और छोटे उदाहरणों में यह समस्या होती है कि वे तुच्छ, दोहराव वाले होते हैं और उपयोगकर्ता को वास्तव में उतना अंतर्दृष्टि प्रदान नहीं करते हैं जितना कि कार्यक्रम के काम करने के तरीके का एक व्यवस्थित विवरण।

  • कुछ मामलों में आपको प्रलेखन मिलेगा जो दूसरों द्वारा प्रदान किया गया है जो विकास प्रक्रिया में शामिल नहीं है। यही है, डेवलपर्स ने प्रलेखन की समीक्षा के अलावा भाग नहीं लिया। इस तरह के प्रयास की अवहेलना की जा सकती है।

5
"इस तरह के प्रयास की अवहेलना की जा सकती है।" मुझे यकीन नहीं है कि इसका क्या मतलब है।
फहीम मीठा

जब यह अनुभव पर आधारित न हो तो प्रलेखन उपयोगी कुछ भी योगदान नहीं देता है।
थॉमस डिके

वास्तव में प्रलेखन अनुभव पर आधारित नहीं है, एक नकारात्मक योगदान कर सकता है - यानी यह सिर्फ सादा गलत है।
एलेफ़ेज़ेरो

ज़रूर - मैंने इसका उल्लेख किया क्योंकि कुछ उदाहरण जो ओपी के मन में निस्संदेह इस श्रेणी में आते हैं (मैं इस मंच पर एक सूची प्रदान करने से बचूंगा)।
थॉमस डिके 20

2
@ThomasDickey। मैं इस आकलन से पूरी तरह असहमत हूं। उपयोगिता लिखने की क्षमता जरूरी नहीं कि एपीआई को अंतिम उपयोगकर्ता को समझाने की क्षमता के साथ आए। T
chiggsy

6

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

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