কমান্ডগুলি কীভাবে ব্যবহার করতে হয় তা শিখতে আমি কীভাবে ম্যান পেজ ব্যবহার করব?


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

এখনও অবধি, আমি বুঝতে পেরেছি যে বর্গাকার বন্ধনীগুলি alচ্ছিক এবং নেস্টেড বন্ধনীগুলির অর্থ optionsচ্ছিক মানে optionsচ্ছিক। তবে কীভাবে আমি এর সাথে একটি বৈধ কমান্ড প্রেরণ করব?

আমি এখানে xargs সাহায্য জিজ্ঞাসা করছি না। জটিল কমান্ডগুলি বোঝার জন্য আমি একটি ম্যান পেজটি ব্যাখ্যা করার জন্য সাহায্যের সন্ধান করছি। আমি গুগল-ইনডেক্সড ওয়েব ব্লগ এবং অন্যের কাছ থেকে ব্যক্তিগত সহায়তা লিনাক্স আদেশগুলি শেখার জন্য আমার প্রথম পদ্ধতির তৈরি বন্ধ করতে চাই।


17
ম্যান পৃষ্ঠাটি পড়া চালিয়ে যান। "বিকল্পগুলি" বিভাগটি "সাইনোপিসিস" বিভাগে উপলব্ধ সমস্ত অপশন ব্যাখ্যা করে।
জন

7
দিয়ে শুরুman man
mikeserv

14
না প্রায়শই, সরাসরি নীচে যান এবং উদাহরণ বিভাগ অনুসন্ধান করুন।
তেপিক

9
এবং কীওয়ার্ডগুলির জন্য ম্যান পৃষ্ঠাটি স্ক্যান করবেন না। সত্যিই এটি পড়ুন! অনুমান করা অদ্ভুত আচরণগুলি প্রায়শই ভালভাবে ব্যাখ্যা করা হয়।
ফ্লোহিমস্বেলে

6
man manপড়ার পরে man intro
মাইকজার্ভ

উত্তর:


102

ওয়েল, ম্যানপেজগুলি পড়ার এটি আমার খুব ব্যক্তিগত উপায়:

ম্যানপাগার

আপনি যখন manকমান্ডটি ব্যবহার করে কোনও ম্যানপেজ খুলবেন , আউটপুটটি প্রদর্শিত lessবা moreআদেশ দ্বারা প্রদর্শিত হবে / রেন্ডার হবে বা অন্য কোনও কমান্ড যা আপনার পেজার (ম্যানেজার) হিসাবে সেট করা হবে।

আপনি যদি লিনাক্স ব্যবহার করে থাকেন তবে সম্ভবত আপনার ব্যবহারের জন্য কনফিগার করা আপনার ম্যান অবকাঠামোতে পরিবেশন করা হয়েছে /usr/bin/less -is(যদি না আপনি কিছুটা ন্যূনতম ডিস্ট্রো ইনস্টল না করেন) 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.

ফ্রিবিএসডি এবং ওপেনবিএসডি-তে MANPAGERপরিবেশ পরিবর্তনশীল সম্পাদনা করার বিষয়টি কেবল যেহেতু তারা বেশিরভাগ ব্যবহার করবে moreএবং অনুসন্ধান এবং পাঠ্য হাইলাইটের মতো কিছু বৈশিষ্ট্য অনুপস্থিত হতে পারে।

সেখানে কি পার্থক্য প্রশ্ন করার জন্য একটি ভাল উত্তর more, lessএবং mostআছে এখানে (কখনও ব্যবহৃত most)। পিছন দিকে স্ক্রোল করুন এবং পৃষ্ঠার ফরওয়ার্ড স্ক্রল করার ক্ষমতা Spaceবা লাইন দ্বারা উভয় উপায় বা (এছাড়াও ব্যবহার viবাইন্ডিং jএবং k) অপরিহার্য manpages ব্রাউজ করার সময় নেই। উপলব্ধ কমান্ডগুলির সংক্ষিপ্তসার দেখতে hব্যবহার lessকরার জন্য টিপুন ।

এবং সে কারণেই আমি আপনাকে lessআপনার ম্যান পেজার হিসাবে ব্যবহার করার পরামর্শ দিচ্ছি । lessএই উত্তরের সময় ব্যবহার করা হবে এমন কিছু প্রয়োজনীয় বৈশিষ্ট্য রয়েছে।

কমান্ড কিভাবে ফর্ম্যাট করা হয়?

ইউটিলিটি কনভেনশনস : ওপেন গ্রুপ বেস স্পেসিফিকেশন ইস্যু 7 - আইইইই স্ট্যান্ড 1003.1, 2013 সংস্করণ। ম্যানপেজটি বোঝার চেষ্টা করার আগে আপনার সেই লিঙ্কটি দেখার উচিত। এই অনলাইন রেফারেন্সটি স্ট্যান্ডার্ড ইউটিলিটিগুলির আর্গুমেন্ট সিনট্যাক্স বর্ণনা করে এবং ইউটিলিটিগুলি দ্বারা প্রক্রিয়া করা আর্গুমেন্টগুলি বর্ণনা করার জন্য POSIX.1-2017 জুড়ে ব্যবহৃত পরিভাষাটি উপস্থাপন করে। এটি প্যারামিটার, আর্গুমেন্ট, আর্গুমেন্ট বিকল্পের মতো শব্দের আসল অর্থ সম্পর্কে অপ্রত্যক্ষভাবে আপনাকে আপডেট করে দেবে ...

ইউটিলিটি কনভেনশনগুলির স্বরলিপিটি বোঝার পরে যে কোনও ম্যানপেজের মাথা আপনাকে কম ক্রিপ্টিক দেখবে:

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

আপনি যা করতে চান তা মনে রাখবেন।

আপনার সম্পর্কে আপনার গবেষণা করার সময় xargsএটি একটি বেগুনির জন্য করেছেন, তাই না? আপনার একটি নির্দিষ্ট প্রয়োজন ছিল যা স্ট্যান্ডার্ড আউটপুট পড়ছিল এবং সেই আউটপুটটির উপর ভিত্তি করে আদেশগুলি কার্যকর করছিল।

কিন্তু, যখন আমি জানি না আমি কোন আদেশ চাই?

ব্যবহার করুন 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, আপনাকে মুদ্রণের জন্য প্রতিধ্বনি ব্যবহার করার দরকার নেই।
  • আমরা আরও শিখেছি যে ইউনিক্স ফাইলের নামগুলিতে ফাঁকা এবং নতুনলাইন থাকতে পারে, এটি কোনও সমস্যা হতে পারে এবং যুক্তি -0হল নাল অক্ষর বিভাজক ব্যবহার করে বিস্ফোরিত হওয়া রোধ করার উপায়। বিবরণ আপনাকে সতর্ক করে দিয়েছে যে ইনপুট হিসাবে ব্যবহৃত কমান্ডটিও এই বৈশিষ্ট্যটির সমর্থন করতে পারে এবং এটি জিএনইউ findসমর্থন করে। গ্রেট। আমরা এর সাথে অনেকগুলি ব্যবহার করি xargs
  • xargs প্রস্থান স্থিতি 255 পৌঁছে গেলে থামবে।

কিছু বিবরণ খুব সংক্ষিপ্ত এবং এটি সাধারণত কারণ সফ্টওয়্যারটি খুব সাধারণ উপায়ে কাজ করে। এমনকি ম্যানপেজের এই অংশটি এড়িয়ে যাওয়ার কথা ভাবেন না ;)

মনোযোগ দিতে অন্যান্য জিনিস ...

আপনি জানেন যে আপনি ফাইল ব্যবহার করে অনুসন্ধান করতে পারেন find। অনেকগুলি বিকল্প রয়েছে এবং আপনি যদি কেবলমাত্র দিকে তাকান তবে আপনি SYNOPSISসেগুলি দেখে অভিভূত হয়ে যাবেন। এটি আইসবার্গের টিপ মাত্র। বাদ দিয়ে NAME, SYNOPSISএবং DESCRIPTION, আপনার নিম্নলিখিত বিভাগগুলি থাকবে:

  • AUTHORS: কমান্ডটি তৈরি করতে বা সহায়তা করেছেন এমন লোকেরা।

  • BUGS: কোনও জ্ঞাত ত্রুটি তালিকাভুক্ত করে। শুধুমাত্র বাস্তবায়ন সীমাবদ্ধতা হতে পারে।

  • ENVIRONMENT: কমান্ড দ্বারা প্রভাবিত হতে পারে আপনার শেল এর দিকগুলি, বা ব্যবহারযোগ্য ভেরিয়েবলগুলি।

  • EXAMPLESবা NOTES: স্ব বর্ণনামূলক।

  • REPORTING BUGS: আপনি যদি এই সরঞ্জামটিতে বা এর ডকুমেন্টেশনে বাগ খুঁজে পান তবে কার সাথে যোগাযোগ করতে হবে।

  • COPYRIGHT: যে ব্যক্তিটি তৈরি করেছে এবং সফ্টওয়্যার সম্পর্কে অস্বীকৃতি জানায়। সমস্ত সফ্টওয়্যার লাইসেন্সের সাথে সম্পর্কিত।

  • SEE ALSO: এই কমান্ডের সাথে সম্পর্কিত অন্যান্য কমান্ড, সরঞ্জাম বা কার্যকারী দিকগুলি এবং অন্যান্য বিভাগের কোনওর সাথে ফিট করে না।

উদাহরণ / নোট বিভাগে আপনি কোনও সরঞ্জামটির যে দিকগুলি চান তার সম্পর্কে সম্ভবত আকর্ষণীয় তথ্য পাবেন।

উদাহরণ

নিম্নলিখিত পদক্ষেপগুলিতে আমি findউদাহরণ হিসাবে নেব , যেহেতু এটি ধারণাগুলি xargsব্যাখ্যা করার চেয়ে "আরও সহজ" কারণ (একটি কমান্ড ফাইল সন্ধান করে এবং অন্যান্য কমান্ড আউটপুটটির স্টিডিন এবং পাইপলাইনযুক্ত কার্যকরকরণের সাথে ডিল করে)। আসুন আমরা ভেবে দেখি যে আমরা এই আদেশটি সম্পর্কে কিছুই (বা খুব কম) জানি না

আমার একটি নির্দিষ্ট সমস্যা রয়েছে: হ'ল আমাকে .jpgএক্সটেনশন সহ এবং 500KiB (কিবি = 1024 বাইট, সাধারণত কিবিবাইট বলা হয়) বা একটি এফটিপি সার্ভার ফোল্ডারের ভিতরে আকারের আরও প্রতিটি ফাইল সন্ধান করতে হবে ।

প্রথমত, খুলতে ম্যানুয়াল: man findSYNOPSISপাতলা হয়। আসুন ম্যানুয়ালটির ভিতরে থাকা জিনিসগুলি অনুসন্ধান করুন: /আপনি যে শব্দটি চান তা লিখুন ( 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। কেন? অবশ? হাতের কাজ? আমরা একটি প্রকল্পিত FTP সার্ভার, যেখানে "যে অন্যান্য অপারেটিং সিস্টেম" মানুষ যেমন এক্সটেনশনগুলি সহ একটি ফাইল নাম দিতে পারে .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। কমান্ডটি একত্রিত করতে দিন:

COMMAND: 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একটি কমান্ড যেখানে অপারেন্ডটি optionচ্ছিক। অপারেন্ডের পরে তিনটি বিন্দু সুস্পষ্টভাবে আপনাকে জানায় যে catএকই সাথে একাধিক অপারেশন (ফাইল) এ কাজ করতে পারে। আপনি লক্ষ্য করতে পারেন যে কিছু কমান্ড সেট করেছে যে এটি কী ধরণের অপারেন্ড ব্যবহার করবে। উদাহরণ:cat [OPTION] [FILE]...

সম্পর্কিত সংক্ষিপ্তসার স্টাফ:

এই পদ্ধতি কখন কাজ করবে না?

  • মানচিত্রের কোনও উদাহরণ নেই
  • মানচিত্র যেখানে বিকল্পগুলির একটি সংক্ষিপ্ত ব্যাখ্যা রয়েছে
  • তোমার মত জেনেরিক কীওয়ার্ড ব্যবহার যখন and, to, formanpages ভিতরে
  • ইনস্টল না থাকা ম্যানাপেজগুলি। এটি সুস্পষ্ট বলে মনে হচ্ছে তবে, যদি আপনার lftp(এবং এর ম্যানপেজগুলি) ইনস্টল না করা থাকে তবে আপনি এটি জানতে পারবেন না যে এটি চালিয়ে চালিয়ে আরও পরিশীলিত এফটিপি ক্লায়েন্ট হিসাবে উপযুক্ত বিকল্পman -k ftp

কিছু ক্ষেত্রে উদাহরণগুলি বেশ সহজ হবে, এবং আপনাকে পরীক্ষা করার জন্য আপনার কমান্ডের কিছু কার্যকর করতে হবে, বা খারাপ অবস্থার মধ্যে এটি গুগল।

অন্যান্য: প্রোগ্রামিং ভাষা এবং এর মডিউলগুলি:

আপনি যদি প্রোগ্রামিং করছেন বা কেবল স্ক্রিপ্ট তৈরি করছেন, মনে রাখবেন যে কয়েকটি ভাষার নিজস্ব ম্যানপেজ সিস্টেম রয়েছে 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প্যাকেজের অংশ is উদাহরণ:

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'
মাইকসার্ভ

6
হা. আপনি পারেন। আমি কেবল

3
"আমি কীভাবে কার্যকরভাবে ব্যবহার করব man?" এর জন্য এই উত্তরটির শীর্ষ ফলাফল হওয়া দরকার আপনাকে ধন্যবাদ এবং ভাল সম্পন্ন।
ব্যবহারকারী 1717828

8
@ নিউল্ডনার, আপনি এত বড় এবং ভাল গঠনের উত্তরের পরে একটি ক্যান্ডির প্রাপ্য। সাবাশ!
উইলিয়ান পাইকাসাও

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

সুতরাং, উপসংহারে, যদি আপনি সংক্ষেপটি না পান তবে চিন্তা করবেন না। এটা স্বাভাবিক. ম্যান পৃষ্ঠাটি নিজেই পড়ুন।


পরামর্শের জন্য আপনাকে ধন্যবাদ, বিশেষত "কীভাবে ..." অনুচ্ছেদের জন্য।
ব্যবহারকারী 1717828

21

সংক্ষিপ্তসার বুঝতে কিছু বুনিয়াদি

  • প্রত্যেকে [foo]alচ্ছিক যুক্তি বা পরামিতি উপস্থাপন করে।
  • [foo [ bar ] ]সিনট্যাক্স ব্যবহার করা হলে আপনি ফু ব্যবহার করতে পারেন এবং আপনি বারটি যুক্ত করতে পারেন।
  • বাধ্যতামূলক বিকল্প প্যারামিটারটি এভাবে ব্যবহার করা হয় [ -S size ], যা বলে যে -S যুক্তি একটি বাধ্যতামূলক আকারের জন্য অপেক্ষা করছে।

এই ক্ষেত্রে : foo [-S size ] filename ...

মানে

  • কমান্ড হয় foo
  • alচ্ছিক পরামিতি -Sব্যবহার করা যেতে পারে, আপনাকে বলতে হবে size(নাম আপনাকে ইঙ্গিত দেয়)
  • বাধ্যতামূলক যুক্তি হ'ল filename(এটি আপনাকে একটি ইঙ্গিতও দেয়, দেখুন man mkdir)
  • এলিপিসিস ...আপনাকে বলবে আপনি একাধিক ফাইল ব্যবহার করতে পারেন।

অপশনটি বুঝতে আপনাকে এখনও ম্যান পৃষ্ঠার গভীরতায় যেতে হবে (উপরে আমার নমুনা ক্ষেত্রে, কী -S sizeসম্পর্কে)


14

manপৃষ্ঠাগুলি সাধারণত lessআজকাল প্রদর্শিত হয়। এটি তাদের মাধ্যমে অনুসন্ধান করা সম্ভব করে তোলে। আমি সংক্ষিপ্তসার নিয়ে বিরক্ত করব না, বিশেষত কারণ আপনার নির্দিষ্ট কমান্ডলাইন রয়েছে যা আপনি বুঝতে চান।

চাপুন এবং তারপরে /টাইপ শুরু করুন । প্রথম হিটটি সিনোপসিসে হবে, দ্বিতীয়টি ( পরবর্তীটির জন্য ব্যবহার ) আপনাকে এর বিশদ ব্যাখ্যা দেয় ।-IEntern-I


11

একটি গুরুত্বপূর্ণ বিষয় মনে রাখবেন যে আপনি কেবল একটি কমান্ডের জন্য ম্যানুয়ালটি দেখতে পারবেন না, অন্যান্য কমান্ডগুলি কার্যকর করার আদেশগুলির ক্ষেত্রে।

আপনার উদাহরণ কমান্ড জন্য

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

তুমি কেবল তথ্যের প্রয়োজন xargsকিন্তু bashএবং [(এই হতে পারে testর manpage)। উদ্ধৃতি বিধিগুলির জন্য আপনার শেলের (সম্ভবত বাশও) তথ্য প্রয়োজন হতে পারে, কারণ আপনার আদেশে একটি জটিল উদ্ধৃত স্ট্রিং রয়েছে string আমি ইতিমধ্যে আপনাকে বলতে পারি যে উদ্ধৃত যুক্তিটি ভুল (এবং এমনভাবে ভুল যা কেবল তখনই প্রদর্শিত হবে যখন আপনি নামের সাথে ফাঁকা স্থানের সাথে কোনও ফাইলের মুখোমুখি হবেন); অভ্যন্তর "{}"সম্ভবত হতে হবে '{}'

সুতরাং প্রথমে আপনি xargs ম্যানপেজটি দেখুন [-I replace-str]এবং তার -I {}অর্থ [command [initial-arguments]]কী bashএবং কী এবং তার অর্থের পরে কী হবে তা দেখুন। তারপরে আপনি bashকী -cকরেন ইত্যাদি জন্য ম্যানপেজটি উল্লেখ করবেন etc.


6

ইতিমধ্যে দেওয়া দুর্দান্ত উত্তরে যুক্ত করা:

1) আপনি যদি কোনও gnu ইউটিলিটিতে আগ্রহী হন, বিশেষত পছন্দগুলি sedএবং grepকখনও কখনও, infoকমান্ডটি ব্যবহার করে কমান্ডের তথ্যের একটি বিস্তৃত সংস্করণ উপস্থিত হয়। sedউদাহরণস্বরূপ, কীভাবে নিয়মিত ভাব প্রকাশ করতে হয় তার একটি বিশদ বিভাগ এবং কয়েকটি জটিল ব্যবহারের উদাহরণ সহ আরও একটি বিভাগ রয়েছে।

2) এটি একটি "ম্যানুয়াল"। একটি ম্যানুয়াল প্রাথমিকভাবে আপনি ইতিমধ্যে বুঝতে পেরেছেন এমন কিছুের বিশদ মনে রাখতে সহায়তা করার জন্য ডিজাইন করা হয়েছে। এটি এমনভাবে তৈরি করা হয়েছে যাতে আপনার প্রয়োজনীয় বিশদগুলি দ্রুত পান এবং বেরিয়ে আসতে পারেন। (এবং উপায় অনেকের কোনও ব্যবহারের উদাহরণ বা কেবল তুচ্ছ জিনিস নেই))

আমি যখন নতুন কিছু, এমনকি একটি কমান্ড যে আমার কাছে স্পষ্ট নয় একটি ছোট বৈশিষ্ট্য শিখতে হবে, আমি ও ওয়েব যেতে সেরা কিওয়ার্ড আমি (যেমন মনে করতে পারেন ব্যবহার করে অনুসন্ধান Linux xargs) এবং শব্দ যোগ howto, examplesঅথবা tutorial। এটি প্রায়শই বেশ উত্পাদনশীল।

আমি সাধারণত ডাকডাক্কগো ব্যবহার করি কারণ এটি আমার গোপনীয়তা বজায় রাখে, তবে আমার যদি আমার অনুসন্ধানগুলির আরও নিয়ন্ত্রণের প্রয়োজন হয় তবে আমি গুগল ব্যবহার করি কারণ আমি এটি কেবল একটি ওয়েবসাইটের মধ্যে অনুসন্ধান করতে বা শুধুমাত্র শেষ বছর থেকে ফলাফলগুলি ফিরে আসতে বলতে পারি। (এটিতে আরও অনেক উন্নত অনুসন্ধান বিকল্প রয়েছে। আপনি এগুলি গুগল করতে পারেন।))

অন্য টিপ:

কমান্ডগুলির জন্য আমি প্রায়শই উল্লেখ করি, আমি ম্যান পৃষ্ঠাটি একটি পাঠ্য ফাইলে সংরক্ষণ করি

man bash > bashman.txt

এবং ফাইলটি আমার পাঠ্য সম্পাদকের অন্য উইন্ডোতে লোড করুন যাতে আমি পিছনে পিছনে পিছনে ফিরতে পারি, অনুলিপি এবং আটকানো ইত্যাদি I আমি সাধারণত ফাইলটি কেবল পঠন করি, তাই আমি দুর্ঘটনাক্রমে এটিকে মংগল করতে শেষ করি না, তবে এটি আমার ব্যক্তিগত অনুলিপি, আমি এগুলি যেভাবেই চাই তা সম্পাদনা করতে পারি, ট্যাগ যুক্ত করে যাতে আরও সহজেই একটি বিভাগ খুঁজে পেতে পারি বা নিজের নোট বা উদাহরণ যোগ করতে পারি।

এর একমাত্র ত্রুটিটি হ'ল আসল ম্যান পৃষ্ঠাটি আপডেট হতে পারে এবং আমার অনুলিপি স্থির।


4

আপনার নির্দিষ্ট কমান্ডের সাথে দ্রুত সহায়তা পেতে, আপনি শেল ব্যাখ্যা করুন ব্যবহার করতে পারেন । যেমন আপনার আদেশ । এটি কীভাবে কাজ করে তা প্রথম উচ্চ-স্তরের বোঝার পরে, অন্যান্য উত্তরগুলির পরামর্শ অনুসারে আপনার ম্যানপেজগুলি নিয়ে এগিয়ে যাওয়া উচিত।


2

লিনাক্স কমান্ড সম্পর্কে আরও জানার জন্য দরকারী দুটি সরঞ্জাম রয়েছে:

  1. cheatকমান্ড লাইনের জন্য প্রায়শই ব্যবহৃত বিকল্প প্রদর্শন করবে। এছাড়াও আপনি নির্দিষ্ট কমান্ডের command + optionমাধ্যমে প্রদর্শিত হতে নিজের নিজের যোগ করতে পারেন cheat
  2. bropagesসরঞ্জামটি একটি কমান্ড লাইনের জন্য কয়েকটি উদাহরণ সরবরাহ করে, যাচাইকরণের কোডটি পাওয়ার পরে আপনি নিজের উদাহরণ যুক্ত করতে বা প্রদত্ত উদাহরণটিকে উর্ধ্বতন / নিম্নোক্ত করা সম্ভব bro thanks। অবশ্যই ভোট দেওয়া কমান্ডটি broপৃষ্ঠার শীর্ষে উপস্থিত হবে ।

1

আমি tldrএকটি বিস্তৃত মানব-মত সরঞ্জামের জন্য পরামর্শ দিই । সরলীকৃত এবং সম্প্রদায় চালিত ম্যান পৃষ্ঠাগুলি। উবুন্টুতে আপনি এটি স্ন্যাপের মাধ্যমে ইনস্টল করতে পারেন তবে এটির অন্যান্য বিতরণের সংস্করণও রয়েছে। এটি আপনাকে বেশ কয়েকটি সাধারণ উদাহরণ ব্যবহার সরবরাহ করে। 100% প্রস্তাবিত।


0

> জটিল আদেশগুলি বোঝার জন্য আমি একটি ম্যান পেজটির ব্যাখ্যায় সহায়তা খুঁজছি।

আমি মনে করি এটি এখানে ভুল বোঝাবুঝি। লিনাক্স / ইউনিক্সকে কী শক্তিশালী করে তোলে তা হ'ল আপনি খুব দীর্ঘ এবং কার্যকর কমান্ডগুলি তৈরি করতে পারেন যেমন একটি পাইপের মাধ্যমে একটি কমান্ডের স্টাডআউট (এখানে, locate) অন্যের স্টিডিনে (এখানে, ) পুনর্নির্দেশের xargsমাধ্যমে (| ) এর । অতএব, র্যান্ডম 832 সঠিকভাবে বলেছে, আপনি এমন একটি ম্যানপেজ পাবেন না যা আপনার উদাহরণ কমান্ডটি কী তা ব্যাখ্যা করে।

আমি আপনাকে একটি লিনাক্স শেল স্ক্রিপ্টিং গাইড পড়ার পরামর্শ দিই; উন্নত ব্যাশ-স্ক্রিপ্টিং গাইড একটি চমৎকার নথি। দয়া করে এর দ্বারা ভয় পাবেন না; লিনাক্সের মাস্টারিংয়ের জন্য বছর প্রয়োজন এবং এটি কখনও শেষ না হওয়া প্রক্রিয়া, তবে আপনি যুক্তিসঙ্গত সময়ে বেসিকগুলি শিখতে পারেন।

তারপরে, আপনাকে যখন কোনও নির্দিষ্ট কমান্ডের বিশদ জানতে হবে তখন ম্যানেজগুলি পড়ুন।

একবার এর সংক্ষেপণ পেয়ে গেলে, কমান্ডলাইনফু এবং বাশ ওয়ান- লাইনারগুলি ভাল উদাহরণগুলি পাওয়ার জন্য পড়ার জন্য উপযুক্ত।


-1

ম্যান পৃষ্ঠায় কমান্ডের মধ্যে বিশেষ কিছু সন্ধান করতে আপনি এটি ব্যবহার করতে পারেন:

man echo | grep output.

তবে স্যুইচগুলি অনুসন্ধান করতে (উদাহরণস্বরূপ -n), আপনাকে এটি এইভাবে ব্যবহার করতে হবে:

man echo | grep -- -n
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.