मैं कमांड का उपयोग करने का तरीका जानने के लिए मैन पेज का उपयोग कैसे करूं?


92

एक और समस्या पर शोध करते हुए, मैं एक आदेश पर आया ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

मैं इसके बारे में और जानना चाहता था। इसलिए मैं भाग गया man xargsऔर निम्न आउटपुट प्राप्त किया:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

मैं लिनक्स कार्यक्रमों के बारे में जानने के लिए दस्तावेज़ीकरण का उपयोग करने में बेहतर होने की कोशिश कर रहा हूं, लेकिन यह "सिनोप्सिस" अनुभाग नए उपयोगकर्ताओं के लिए डराने वाला है। यह शाब्दिक रूप से man locateया की तुलना में अस्पष्ट लगता है man free

अब तक, मैं समझता हूं कि वर्गाकार कोष्ठक का अर्थ वैकल्पिक और नेस्टेड कोष्ठक का अर्थ है वैकल्पिक। लेकिन मैं कैसे उस के साथ एक वैध आदेश प्रेरित करने वाला हूँ?

मैं यहाँ xargs की मदद नहीं माँग रहा हूँ। मैं जटिल आदेशों को समझने के लिए एक आदमी पृष्ठ की व्याख्या करने में सहायता की तलाश कर रहा हूं। मैं Google-अनुक्रमित वेब ब्लॉग बनाना और दूसरों से व्यक्तिगत मदद लेना बंद करना चाहता हूं ताकि लिनक्स कमांड सीखने के लिए मेरा पहला दृष्टिकोण हो।


17
मैन पेज पढ़ना जारी रखें। "विकल्प" अनुभाग "SYNOPSIS" अनुभाग में उपलब्ध सभी विकल्पों की व्याख्या करता है।
जॉन

7
के साथ शुरूman man
mikeserv

14
अधिक बार नहीं, सीधे नीचे जाएं और एक उदाहरण अनुभाग देखें।
टेपरिक

9
और केवल कीवर्ड के लिए मैन पेज को स्कैन न करें। वास्तव में इसे पढ़ें! माना अजीब व्यवहार अक्सर अच्छी तरह से समझाया जाता है।
फ्लोइम स्वयं 13

6
man manपढ़ने के बाद man intro
mikeserv

जवाबों:


102

वैसे, यह मेरा बहुत ही निजी तरीका है मानदंड पढ़ने का:

मैनपावर

जब आप manकमांड का उपयोग करते हुए एक मैनपेज खोलते हैं , तो आउटपुट lessया moreकमांड या किसी अन्य कमांड को प्रदर्शित / प्रस्तुत किया जाएगा जो आपके पेजर (मैनपेजर) के रूप में सेट किया जाएगा।

आप लिनक्स उपयोग कर रहे हैं तो आप शायद अपने आदमी के बुनियादी ढांचे पहले से ही उपयोग करने के लिए कॉन्फ़िगर साथ परोसा जाता है /usr/bin/less -isके रूप में (जब तक आप कुछ न्यूनतम distro स्थापित) man(1), यह विकल्प खंड है पर व्याख्या करते हैं:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

FreeBSD और OpenBSD पर MANPAGERपर्यावरण चर को संपादित करने का एक मामला है क्योंकि वे ज्यादातर उपयोग करेंगे more, और खोज और पाठ हाइलाइट जैसी कुछ सुविधाएँ गायब हो सकती हैं।

वहाँ क्या मतभेद के सवाल पर एक अच्छा जवाब है more, lessऔर mostहै यहाँ (इस्तेमाल कभी नहीं most)। मैन्पेजेस को ब्राउज़ करते समय बैकवर्ड और स्क्रॉल करने की क्षमता पेज के साथ Spaceया दोनों तरीकों से ( या , viबाइंडिंग का उपयोग करके jऔर k) आवश्यक है। उपलब्ध आदेशों का सारांश देखने के लिए hउपयोग करते समय दबाएँ less

और यही कारण है कि मैं आपको lessअपने आदमी पेजर के रूप में उपयोग करने का सुझाव देता हूं । lessकुछ आवश्यक विशेषताएं हैं जिनका उपयोग इस उत्तर के दौरान किया जाएगा।

एक कमांड को कैसे स्वरूपित किया जाता है?

यूटिलिटी कन्वेंशन : ओपन ग्रुप बेस स्पेसिफिकेशन्स इश्यू 7 - IEEE Std 1003.1, 2013 संस्करण। मैनपेज समझने की कोशिश करने से पहले आपको उस लिंक पर जाना चाहिए। यह ऑनलाइन संदर्भ मानक उपयोगिताओं के तर्क सिंटैक्स का वर्णन करता है और उपयोगिताओं द्वारा संसाधित तर्कों का वर्णन करने के लिए POSIX.1-2017 में उपयोग की जाने वाली शब्दावली का परिचय देता है। यह भी अप्रत्यक्ष रूप से आपको मापदंडों, तर्कों, तर्क विकल्प जैसे शब्दों के वास्तविक अर्थ के बारे में अद्यतन करेगा ...

उपयोगिता सम्मेलनों के अंकन को समझने के बाद किसी भी मेनपेज का प्रमुख आपको कम गूढ़ दिखाई देगा:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

मन में है कि आप क्या करना चाहते हैं।

जब xargsआप के बारे में अपने शोध कर रही है यह एक purpouse के लिए किया था, है ना? आपको एक विशिष्ट आवश्यकता थी जो मानक आउटपुट को पढ़ रही थी और उस आउटपुट के आधार पर कमांड निष्पादित कर रही थी।

लेकिन, जब मुझे नहीं पता कि मुझे कौन सी कमांड चाहिए?

उपयोग man -kया apropos(वे बराबर हैं)। अगर मुझे नहीं पता कि फाइल कैसे खोजना है man -k file | grep search:। विवरण पढ़ें और एक को ढूंढें जो आपकी आवश्यकताओं को बेहतर ढंग से फिट करेगा। उदाहरण:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

एप्रोपोस डिफ़ॉल्ट रूप से नियमित अभिव्यक्तियों के साथ काम करता है ( man apropos,, विवरण पढ़ें और यह पता करें कि क्या -rकरता है), और इस उदाहरण पर मैं हर उस पृष्ठ की तलाश कर रहा हूं जहां विवरण "रिपोर्ट" से शुरू होता है।

मानक इनपुट / आउटपुट प्रोसेसिंग पढ़ने और xargsसंभावित विकल्प के रूप में पहुंचने से संबंधित जानकारी देखने के लिए :

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

हमेशा DESCRIPTIONशुरू करने से पहले पढ़ें

एक समय लें और विवरण पढ़ें। xargsकमांड के वर्णन को पढ़ने से हम सीखेंगे कि:

  • xargsSTDIN से पढ़ता है और आवश्यक कमांड निष्पादित करता है। इसका मतलब यह भी है कि आपको कुछ ज्ञान होना चाहिए कि मानक इनपुट कैसे काम करता है, और इसे पाइप से चेन कमांड तक कैसे हेरफेर करना है
  • डिफ़ॉल्ट व्यवहार की तरह कार्य करना है /bin/echo। यह आपको एक छोटी सी टिप देता है कि यदि आपको एक से अधिक श्रृंखला की आवश्यकता है xargs, तो आपको प्रिंट करने के लिए इको का उपयोग करने की आवश्यकता नहीं है।
  • हमें यह भी पता चला है कि यूनिक्स फाइलनाम में रिक्त और newlines शामिल हो सकते हैं, कि यह एक समस्या हो सकती है और तर्क -0अशक्त चरित्र विभाजकों का उपयोग करके चीजों को फटने से रोकने का एक तरीका है। विवरण आपको चेतावनी देता है कि इनपुट के रूप में उपयोग की जा रही कमांड को इस सुविधा का भी समर्थन करने की आवश्यकता है, और यह कि GNU findइसका समर्थन करता है। महान। हम खोजने के लिए बहुत से उपयोग करते हैं xargs
  • xargs यदि निकास स्थिति 255 पर पहुँच जाती है तो रुक जाएगी।

कुछ विवरण बहुत कम हैं और यह आमतौर पर है क्योंकि सॉफ्टवेयर बहुत सरल तरीके से काम करता है। इस पृष्ठ के भाग को लंघन के बारे में भी मत सोचो ;)

ध्यान देने के लिए अन्य बातें ...

आप जानते हैं कि आप फ़ाइलों का उपयोग करके खोज सकते हैं find। विकल्पों में से एक टन है और यदि आप केवल देखते हैं SYNOPSIS, तो आप उन पर हावी हो जाएंगे। यह सिर्फ हिमशैल का सिरा है। छोड़कर NAME, SYNOPSISऔर DESCRIPTION, आपके पास निम्न अनुभाग होंगे:

  • AUTHORS: जिन लोगों ने कमांड के निर्माण में सहायता की या बनाई।

  • BUGS: किसी ज्ञात दोष को सूचीबद्ध करता है। केवल कार्यान्वयन सीमाएँ हो सकती हैं।

  • ENVIRONMENT: आपके शेल के पहलू जो कमांड, या चर जिसका उपयोग किया जा सकता है, से प्रभावित हो सकते हैं।

  • EXAMPLESया NOTES: स्व व्याख्यात्मक।

  • REPORTING BUGS: यदि आपको इस उपकरण या इसके प्रलेखन में बग मिलते हैं तो आपको किससे संपर्क करना होगा।

  • COPYRIGHT: व्यक्ति जिसने सॉफ्टवेयर के बारे में बनाया और उसे स्वीकार करता है। सभी सॉफ्टवेयर के लाइसेंस से संबंधित हैं।

  • SEE ALSO: अन्य आदेश, उपकरण या काम करने वाले पहलू जो इस कमांड से संबंधित हैं, और किसी भी अन्य अनुभाग पर फिट नहीं हो सकते हैं।

आप शायद उदाहरणों / नोट्स अनुभाग पर एक टूल के इच्छित पहलुओं के बारे में दिलचस्प जानकारी प्राप्त करेंगे।

उदाहरण

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

मुझे एक विशिष्ट समस्या यह है कि: मुझे .jpgएक्सटेंशन के साथ हर फाइल को देखना है , और 500KiB (KiB = 1024 बाइट, जिसे आमतौर पर kibibyte कहा जाता है), या एक FTP सर्वर फ़ोल्डर के आकार में अधिक।

सबसे पहले, मैनुअल खोलें man find:। SYNOPSISस्लिम है। आइए मैनुअल के अंदर चीजों की खोज करें: टाइप /प्लस शब्द जो आप चाहते हैं ( size)। यह बहुत सारी प्रविष्टियों को अनुक्रमित करेगा -sizeजो विशिष्ट आकारों की गणना करेगा। फंस गया। किसी दिए गए आकार से "अधिक से अधिक" या "कम" के साथ कैसे पता करें, और आदमी मुझे यह नहीं दिखाता है।

आइए इसे आजमाएँ, और अगली प्रविष्टि को खोजकर देखें n। ठीक। मिले कुछ दिलचस्प: find \( -size +100M -fprintf /root/big.txt %-10s %p\n \)। शायद यह उदाहरण हमें दिखा रहा है कि -size +100Mइसके साथ 100 एमबी या उससे अधिक की फाइलें मिलेंगी। मैं कैसे पुष्टि कर सकता हूं? मैनपेज के प्रमुख के पास जा रहे हैं और अन्य शब्दों की खोज कर रहे हैं।

फिर से, आइए शब्द का प्रयास करें greater। दबाने gसे हम मेनपेज के प्रमुख तक पहुंच जाएंगे। /greater, और पहली प्रविष्टि है:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

बहुत अच्छा लगता है। ऐसा लगता है कि मैनुअल के इस ब्लॉक ने पुष्टि की कि हमें क्या संदेह है। हालाँकि, यह केवल फ़ाइल आकार पर लागू नहीं होगा। यह nइस मैनपेज पर पाए जाने वाले किसी भी पर लागू होगा (जैसा कि वाक्यांश में कहा गया है: "संख्यात्मक तर्क को" के रूप में निर्दिष्ट किया जा सकता है)।

अच्छा। आइए हम नाम से फ़िल्टर करने का एक तरीका खोजें g /insensitive:। क्यों? असंवेदनशील? WTF? हम एक काल्पनिक एफ़टीपी सर्वर, जहां "है कि अन्य ओएस" लोगों के रूप में विस्तार के साथ एक फ़ाइल नाम दे सकता है .jpg, .JPG, .JpG। यह हमें ले जाएगा:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

हालाँकि, आप खोज करने के बाद lnameदेखेंगे कि यह केवल प्रतीकात्मक लिंक की खोज करेगा। हम असली फाइलें चाहते हैं। अगली प्रविष्टि:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the shell will expand any wildcard characters in them.

महान। मैं भी के बारे में पढ़ा की जरूरत नहीं है -nameयह देखने के लिए कि -inameइस तर्क के मामले असंवेदनशील संस्करण है। कमांड को इकट्ठा करें:

कमान: find /ftp/dir/ -size +500k -iname "*.jpg"

यहां क्या निहित है: वह ज्ञान जो वाइल्डकार्ड ?"किसी भी स्थिति *में किसी भी चरित्र का प्रतिनिधित्व करता है" और "किसी भी चरित्र के शून्य या अधिक " का प्रतिनिधित्व करता है। -nameपैरामीटर आप इस ज्ञान का एक सारांश दे देंगे।

युक्तियाँ जो सभी आदेशों पर लागू होती हैं

कुछ विकल्प, शब्दार्थ और "वाक्यविन्यास शैली" सभी आदेशों के माध्यम से यात्रा करते हैं जो आपको कुछ समय के लिए मैनपेज खोलने के लिए नहीं खरीदते हैं। जिन्हें अभ्यास द्वारा सीखा जाता है और सबसे आम हैं:

  • सामान्यतः, -vक्रिया का अर्थ है। -vvvकुछ सॉफ्टवेयर पर एक भिन्नता है "बहुत बहुत क्रिया"।
  • POSIX मानक के बाद, आम तौर पर एक डैश तर्क को स्टैक किया जा सकता है। उदाहरण: tar -xzvf, cp -Rv
  • आम तौर पर -Rऔर / या -rमतलब पुनरावर्ती।
  • लगभग सभी कमांड में --helpविकल्प के साथ एक संक्षिप्त मदद है ।
  • --version एक सॉफ्टवेयर का संस्करण दिखाता है।
  • -p, उपयोगिताओं को कॉपी या स्थानांतरित करने का अर्थ है "अनुमतियाँ संरक्षित करें"।
  • -y ज्यादातर मामलों में हाँ, या "पुष्टि के बिना आगे बढ़ें"।

ध्यान दें कि उपरोक्त हमेशा सत्य नहीं होते हैं। उदाहरण के लिए, -rस्विच अलग सॉफ्टवेयर के लिए बहुत अलग चीजों का मतलब हो सकता है । यह हमेशा एक अच्छा विचार है कि जाँच करें और सुनिश्चित करें कि जब कोई आदेश खतरनाक हो सकता है, लेकिन ये सामान्य चूक हैं।

आदेशों के डिफ़ॉल्ट मान।

इस उत्तर के पेजर भाग पर, हमने देखा कि less -isपेजर का है man। आदेशों का डिफ़ॉल्ट व्यवहार हमेशा अलग-अलग खंडों में मैनपेज़ पर, या उस अनुभाग पर नहीं दिखाया जाता है जो सबसे ऊपर रखा जाता है।

आपको डिफॉल्ट्स का पता लगाने के लिए विकल्पों को पढ़ना होगा, या यदि आप भाग्यशाली हैं, तो टाइपिंग /pagerआपको उस जानकारी तक ले जाएगी। इसके लिए आपको पेजर की अवधारणा (मैनपेज को स्क्रॉल करने वाले सॉफ्टवेयर) को भी जानना होगा, और यह एक ऐसी चीज है जिसे आप बहुत सारे मैनपेज पढ़ने के बाद ही हासिल करेंगे।

वह महत्वपूर्ण क्यों है? उदाहरण के लिए, man(1)लिनक्स ( less -isपेजर) या फ्रीबीएसडी पर पढ़ते समय स्क्रॉल और रंग के व्यवहार में अंतर पाए जाने पर यह आपकी धारणा को खोल देगा man(1)

और SYNOPSISवाक्य रचना के बारे में क्या ?

कमांड को निष्पादित करने के लिए आवश्यक सभी जानकारी प्राप्त करने के बाद, आप अपना काम करने के लिए विकल्प, विकल्प-तर्क और ऑपरेंड इनलाइन को जोड़ सकते हैं। अवधारणाओं का अवलोकन:

  • विकल्प वे स्विच होते हैं जो एक कमांड व्यवहार को निर्धारित करते हैं। " यह करो " " ऐसा मत करो " या " इस तरह से कार्य करो "। अक्सर स्विच कहा जाता है।
  • विकल्प-दलीलें ज्यादातर मामलों पर उपयोग की जाती हैं जब एक विकल्प -tमाउंट पर बाइनरी (ऑन / ऑफ) की तरह होता है, जो एक फाइलसिस्टम ( -t iso9660, -t ext2) के प्रकार को निर्दिष्ट करता है । " इसे बंद आँखों से करो " या " जानवरों को खिलाओ, लेकिन केवल शेरों को "। जिसे तर्कों भी कहा जाता है।
  • ऑपरेंड वे चीजें हैं जो आप चाहते हैं कि कमांड पर कार्य किया जाए। यदि आप उपयोग करते हैं cat file.txt, तो ऑपरेंड आपकी वर्तमान निर्देशिका के अंदर एक फ़ाइल है, और यह सामग्री दिखाई जाएगी STDOUTlsएक कमांड है जहां एक ऑपरेंड वैकल्पिक है। ऑपरेंड के बाद के तीन बिंदु स्पष्ट रूप से आपको बताते हैं कि catएक ही समय में कई ऑपरेंड (फाइल) पर कार्य कर सकते हैं। आप देख सकते हैं कि कुछ कमांड ने यह निर्धारित किया है कि यह किस प्रकार के ऑपरेंड का उपयोग करेगा। उदाहरण:cat [OPTION] [FILE]...

संबंधित सारांश सामग्री:

यह तरीका कब काम नहीं करेगा?

  • ऐसे उदाहरण जिनका कोई उदाहरण नहीं है
  • जहाँ विकल्प की संक्षिप्त व्याख्या की जाती है, उन्हें प्रबंधित करता है
  • आप की तरह सामान्य कीवर्ड का उपयोग करते and, to, formanpages अंदर
  • स्थापित नहीं किए गए मानदंड। यह स्पष्ट प्रतीत होता है लेकिन, यदि आपके पास lftp(और इसके मैनपेज़) स्थापित नहीं हैं, तो आप यह नहीं जान सकते हैं कि चलने से अधिक परिष्कृत ftp क्लाइंट के रूप में एक उपयुक्त विकल्प हैman -k ftp

कुछ मामलों में उदाहरण बहुत सरल होंगे, और आपको परीक्षण करने के लिए या सबसे खराब स्थिति में, Google को अपनी कमांड के कुछ निष्पादन करने होंगे।

अन्य: प्रोग्रामिंग भाषाओं और यह मॉड्यूल है:

यदि आप प्रोग्रामिंग कर रहे हैं या केवल स्क्रिप्ट्स बना रहे हैं, तो ध्यान रखें कि कुछ भाषाओं की अपनी स्वयं की मैनपेज प्रणालियां हैं, जैसे perl( perldocs), अजगर ( pydocs), आदि, विधियों / कवक, चर, व्यवहार और मॉड्यूल के बारे में अन्य महत्वपूर्ण जानकारी के बारे में विशेष जानकारी रखते हुए। आप उपयोग करने और सीखने की कोशिश कर रहे हैं। यह मेरे लिए उपयोगी था जब मैं perl Mail::IMAPClientमॉड्यूल का उपयोग करके अपठित IMAP ईमेल डाउनलोड करने के लिए एक स्क्रिप्ट बना रहा था ।

आपको man -kऑनलाइन उपयोग करके या खोजकर उन विशिष्ट मैनपावर का पता लगाना होगा । उदाहरण:

[root@host ~]# man -k doc | grep perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... यहाँ अन्य सामानों के टन, एक नियमित मैनपेज जैसे अनुभागों के साथ ...

अजगर के साथ:

[root@host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

या, help()यदि आप किसी वस्तु का अधिक विवरण पढ़ना चाहते हैं तो अजगर खोल के अंदर का कवक:

nwildner@host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

बोनस:wtf आदेश के संक्षिप्त रूप के साथ मदद कर सकता है और यह रूप में काम करता whatisडेटाबेस पाया जाता है कि अगर उस पर कोई परिवर्णी शब्द है, लेकिन क्या आप खोज रहे हैं आदमी डेटाबेस का हिस्सा है। डेबियन पर यह कमांड bsdgamesपैकेज का हिस्सा है । उदाहरण:

nwildner@host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@host:~$ wtf afaik
AFAIK: as far as I know
nwildner@host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager

आप यह भी कर सकते हैं man find | grep ...। मुझे पसंद हैman command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv

6
हाँ। आप ऐसा कर सकते हैं। मैं सिर्फ यह मान रहा था कि ऑपरेटर "

3
इस उत्तर के लिए "मुझे प्रभावी रूप से कैसे उपयोग करना है man?" आपका धन्यवाद और अच्छी तरह से किया।
user1717828

8
@nwildner, आप इतने विशाल और अच्छी तरह से तैयार जवाब के बाद एक कैंडी के लायक हैं। बहुत बढ़िया!
विलियन पैक्साओ

6
मुझे लगता है कि इसे लिनक्स में जोड़ा जाना चाहिए। manपाठ्यक्रम के एक पेज के रूप में।
मायोट

38

यह काफी अच्छी तरह से समझाया गया है man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

जैसा कि आप उस से एक वैध कमांड लिखने वाले हैं, ठीक है, आप नहीं हैं। जब आप जानते हैं कि कमांड कैसे काम करता है, तो सिनोप्सिस उपयोगी है। यह आपकी याददाश्त को ताज़ा करने में आपकी मदद कर सकता है। यह समझने के लिए कि कमांड कैसे काम करता है, आपको मैन पेज पढ़ना चाहिए। विशेष रूप से विकल्प और उदाहरण अनुभाग का वर्णन।

कभी-कभी सिनोप्सिस पर्याप्त होता है। उदाहरण के लिए man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

अन्य बार, यह बेकार है जब तक कि आप पहले से ही नहीं जानते कि प्रश्न में कमांड का उपयोग कैसे करें। उदाहरण के लिए man dd:

   dd [OPERAND]...
   dd OPTION

इसलिए, निष्कर्ष में, अगर आपको सिनोप्सिस नहीं मिलता है, तो चिंता न करें। यह सामान्य है। मैन पेज को ही पढ़ें।


सलाह के लिए धन्यवाद, विशेष रूप से "कैसे के लिए ..." पैरा।
user1717828

21

सारांश समझने के लिए कुछ मूल बातें

  • प्रत्येक [foo]वैकल्पिक तर्क या पैरामीटर का प्रतिनिधित्व करते हैं।
  • जब [foo [ bar ] ]सिंटैक्स का उपयोग किया जाता है, तो आप फू का उपयोग कर सकते हैं, और आप बार जोड़ सकते हैं।
  • अनिवार्य विकल्प पैरामीटर का उपयोग इस तरह किया जाता है [ -S size ], जो बताता है कि -S तर्क एक अनिवार्य आकार की प्रतीक्षा कर रहा है।

उदाहरण के लिए : foo [-S size ] filename ...

माध्यम

  • आज्ञा है foo
  • वैकल्पिक पैरामैटर -Sका उपयोग किया जा सकता है, आपको बताना होगा size(नाम आपको संकेत देता है)
  • अनिवार्य तर्क है filename(यह आपको संकेत भी देता है, देखें man mkdir)
  • elipsis ...आपको बताता है कि आप कई फ़ाइल का उपयोग कर सकते हैं।

आपको अभी भी विकल्प समझने के लिए मैन पेज की गहराई में जाना है (ऊपर मेरे नमूना मामले में, क्या -S sizeहै)


14

manlessआजकल सामान्य रूप से पृष्ठ प्रदर्शित किए जाते हैं। यह उनके माध्यम से खोज करना संभव बनाता है। मैं सिनोप्सिस से परेशान नहीं होता, खासकर इसलिए नहीं कि आपके पास एक विशेष कमांडलाइन है जिसे आप समझना चाहते हैं।

मारो /और टाइप करना शुरू करो -Iऔर फिर Enter। पहला हिट सिनोप्सिस में होगा, दूसरा ( nअगले के लिए उपयोग ) आपको विस्तृत विवरण देता है -I


11

याद रखने वाली एक महत्वपूर्ण बात यह है कि आप केवल एक कमांड के लिए मैनुअल को नहीं देख सकते हैं, अन्य कमांड को निष्पादित करने वाले आदेशों के मामले में।

अपने उदाहरण कमांड के लिए

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

आपको न केवल xargsपर भी जानकारी की आवश्यकता है bashऔर [(यह testमैनपेज में हो सकता है )। आपको उद्धृत नियमों के लिए अपने शेल (संभवतः बैश) पर भी जानकारी की आवश्यकता हो सकती है, क्योंकि आपकी कमांड में एक जटिल उद्धृत स्ट्रिंग शामिल है। मैं आपको पहले ही बता सकता हूं कि उद्धृत तर्क गलत है (और इस तरह से गलत है जो केवल तब दिखाई देगा जब आप नाम में रिक्त स्थान के साथ एक फ़ाइल का सामना करते हैं); भीतरी "{}"शायद होना चाहिए '{}'

तो सबसे पहले आप xargs manpage का संदर्भ लेंगे और देखें [-I replace-str]कि -I {}इसका क्या मतलब है, और इसके बाद [command [initial-arguments]]क्या bashऔर किस लिए इसका मतलब है। तो फिर आप bashक्या -cकरते हैं, आदि के लिए मैनपेज देखें ।


6

पहले से दिए गए शानदार उत्तरों को जोड़ना:

1) यदि आप ग्नू यूटिलिटी में रुचि रखते हैं, विशेष रूप से पसंद करने वाले sedऔर grepकभी-कभी, infoकमांड का उपयोग करके कमांड जानकारी का एक बहुत विस्तारित संस्करण लाएगा। sed, उदाहरण के लिए, नियमित अभिव्यक्ति लिखने के लिए एक विस्तृत अनुभाग है और कुछ बहुत ही जटिल उपयोग उदाहरणों के साथ एक अन्य अनुभाग है।

2) यह एक "मैनुअल" है। एक मैनुअल मुख्य रूप से आपकी मदद करने के लिए डिज़ाइन किया गया है जो आपको पहले से समझी गई चीज़ों का विवरण याद रखने में मदद करता है। यह डिज़ाइन किया गया है ताकि आप जल्दी से ज़रूरत के विवरण प्राप्त कर सकें और बाहर निकल सकें। (और बहुत से लोगों के पास कोई उपयोग उदाहरण नहीं है या केवल तुच्छ हैं।)

जब मैं कुछ नया करने की, यहां तक कि एक आदेश है कि मेरे पास स्पष्ट नहीं है की एक छोटी सी सुविधा सीखने की जरूरत है, मैं और वेब के लिए जाने के लिए सबसे अच्छा खोजशब्दों मैं (जैसे के बारे में सोच सकते हैं का उपयोग करके खोज Linux xargs) और शब्द जोड़ने howto, examplesया tutorial। यह बहुत अधिक उत्पादक है।

मैं आमतौर पर duckduckgo का उपयोग करता हूं क्योंकि यह मेरी गोपनीयता को बनाए रखता है, लेकिन अगर मुझे अपनी खोजों पर अधिक नियंत्रण की आवश्यकता है, तो मैं Google का उपयोग करता हूं क्योंकि मैं इसे केवल एक वेबसाइट पर खोज करने के लिए या केवल अंतिम वर्ष से परिणाम वापस करने के लिए कह सकता हूं। (इसमें कई अन्य उन्नत खोज विकल्प हैं। आप उन्हें Google कर सकते हैं;))

एक और टिप:

आदेशों के लिए मैं अक्सर संदर्भ देता हूं, मैं एक टेक्स्ट फ़ाइल में मैन पेज को बचाता हूं

man bash > bashman.txt

और उस फाइल को अपने टेक्स्ट एडिटर में दूसरी विंडो में लोड करें ताकि मैं आगे और पीछे, कॉपी और पेस्ट आदि को फ्लिप कर सकूं। मैं आमतौर पर फाइल को केवल पढ़ता हूं, इसलिए मैं इसे दुर्घटना से समाप्त नहीं करता, लेकिन चूंकि यह मेरा है व्यक्तिगत प्रतिलिपि, मैं इसे किसी भी तरह से संपादित कर सकता हूं, मैं टैग जोड़ना चाहता हूं ताकि मुझे एक अनुभाग और अधिक आसानी से मिल सके या यहां तक ​​कि अपने स्वयं के नोट्स या उदाहरण भी जोड़ सकें।

इसका एकमात्र दोष यह है कि मूल मैन पेज को अपडेट किया जा सकता है और मेरी प्रति स्थिर है।


4

अपने विशिष्ट आदेश के साथ त्वरित सहायता प्राप्त करने के लिए, आप व्याख्या शैल का उपयोग कर सकते हैं । जैसे आपकी आज्ञा । पहली उच्च-स्तरीय समझ प्राप्त करने के बाद कि यह कैसे काम करता है, आपको मैनपेज़ के साथ आगे बढ़ना चाहिए क्योंकि अन्य उत्तर सुझाते हैं।


2

लिनक्स कमांड के बारे में अधिक जानने के लिए टो उपयोगी उपकरण हैं:

  1. cheatकमांड लाइन के लिए अक्सर उपयोग किए जाने वाले विकल्प को प्रदर्शित करेगा। इसके अलावा, आप एक विशिष्ट कमांड के command + optionमाध्यम से प्रदर्शित होने के लिए खुद को जोड़ सकते हैं cheat
  2. bropagesउपकरण एक कमांड लाइन के लिए कुछ उदाहरण प्रदान करता है, सत्यापन कोड प्राप्त करने के बाद आपको दिए गए उदाहरण को जोड़ना या अपवोट / डाउनवोट करना संभव है bro thanksbroपृष्ठ के शीर्ष पर दिखाई गई मतदान आदेश अवश्य दिखाई देगा ।

1

मैं tldrएक व्यापक मानव-समान उपकरण के लिए सुझाव देता हूं । सरलीकृत और समुदाय संचालित मैन पेज। उबंटू में आप इसे स्नैप के माध्यम से स्थापित कर सकते हैं, लेकिन इसके अन्य वितरण के लिए भी संस्करण हैं। यह आपको कई सामान्य उदाहरण उपयोग भी प्रदान करता है। 100% की सिफारिश की।


0

> मैं जटिल आदेशों को समझने के लिए एक आदमी पृष्ठ की व्याख्या करने में मदद की तलाश कर रहा हूं।

मुझे लगता है कि यहां गलतफहमी है। क्या लिनक्स / यूनिक्स को इतना शक्तिशाली बनाता है कि आप एक पाइप के माध्यम से locateदूसरे (यहाँ, xargs) के स्टड पर एक कमांड (यहाँ, ) के स्टडआउट को पुनर्निर्देशित करके बहुत लंबे और प्रभावी कमांड का निर्माण कर सकते हैं |। इसलिए, जैसा कि रैंडम 832 ने सही कहा है, आपको एक भी मैनपेज नहीं मिलेगा जो बताता है कि आपका उदाहरण कमांड क्या करता है।

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

फिर, जब आपको किसी विशिष्ट आदेश का विवरण जानने की आवश्यकता हो तो मैनपेज़ देखें।

एक बार जब आप इसे प्राप्त कर लेते हैं, कमांडलाइनफू और बैश वन-लाइनर्स भी अच्छे उदाहरण प्राप्त करने के लिए पढ़ने लायक हैं।


-1

एक आदमी पृष्ठ में कुछ विशेष कमांड के लिए खोज करने के लिए, आप इसका उपयोग कर सकते हैं:

man echo | grep output.

लेकिन स्विच के लिए खोज करने के लिए (उदाहरण के लिए -n), आपको इसे इस तरह से उपयोग करना होगा:

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