Microsoftのドキュメントに似たGNU / Linuxのコマンドラインツールの一種の「構文キー」を探しています。
たとえば、Microsoft コマンドライン構文ドキュメントでは、角かっこ内のテキストを使用してオプションのエントリを表します。角かっこ内の内容は必須入力として必ず選択してください。など。
コマンドライン構文を表すためにGNU / Linuxで使用されるシンボルは何ですか?各記号はどういう意味ですか?
答え1
man 7 man-pages
以下は、マニュアルページセクションの一般的な意味を説明する抜粋です。
SYNOPSIS A brief summary of the command or function's interface.
For commands, this shows the syntax of the command and
its arguments (including options); boldface is used for
as-is text and italics are used to indicate replaceable
arguments. Brackets ([]) surround optional arguments,
vertical bars (|) separate choices, and ellipses (...)
can be repeated.
ターミナルに「太字」と「イタリック体」が実際にどのように現れるかは別の質問だと付け加えたいです。私の端末では、太字は文字通りのテキストを意味し、下線付きのテキストは置換可能な引数を意味し、一部の端末ではそのような形式がまったく適用されない場合があります。
トーンは次のとおりです
- 選択項目は角かっこ内に表示されます。
- 個別に選択された垂直線
- 省略記号は、項目または要素を繰り返すことができることを示します。
全体として、これらの規則は実際に引用したマイクロソフトのドキュメントと非常によく似ています。
以下は、マニュアルページの概要例ですgit diff
。
SYNOPSIS
git diff [options] [<commit>] [--] [<path>...]
git diff [options] --cached [<commit>] [--] [<path>...]
git diff [options] <commit> <commit> [--] [<path>...]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>
可能なオプションが多すぎるため、マニュアルページの作成者は要約にすべてのオプションをリストしません[options]
。
概要に複数の行がある理由は、この特定のコマンドを使用する可能性がある(相互排他的)方法がいくつかあるためです。
角かっこ内のすべての内容はオプションであり、山かっこ内のすべての内容はプレースホルダーです。
(注:コミットとblobはGitに保存できるオブジェクトの種類です。blobはファイルの内容を表し、コミットはGitが追跡するファイルセット全体の状態を表します。質問には関係ありませんが、言及します。混乱を防ぐためです。)
別の例である command の概要は、grep
別の規則を示しています。すべて大文字の単語は、時々プレースホルダを表示するために使用されます(上記のgitのマニュアルページにある山かっこなど)。
SYNOPSIS
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] -e PATTERN ... [FILE...]
grep [OPTIONS] -f FILE ... [FILE...]
このコマンドを呼び出すには3つの方法がありますgrep
。上記の内容を読むと、次のことがわかります。
grep apple orange pear
...これはapple
パターンorange
であり、pear
どちらもファイル名であることを意味します。
もう一度次からこれを確認できます。
grep -e apple -e orange pear grapefruit
...apple
そしてorange
両方ともパターンであり、両方ともpear
ファイルですgrapefruit
。
それが何であるかについて方法コマンドの意味を見るとするモードとファイルが与えられたら、概要よりも多くのマニュアルページを読む必要があります。ただし、プロファイルを使用すると、指定したコマンドがさまざまなパラメータを解釈する方法を決定できます。
しかし、スキーム表記には絶対的な規則はありません。要約は次のとおりですsed
。
SYNOPSIS
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
これを完全に理解するには、次の内容を見つけることができるマニュアルページをさらに読む必要があります。
If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.
答え2
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. Exact rendering may vary depending on the output device. For instance, man will usually not be able to render italics when running in a termi‐ nal, and will typically use underlined or coloured text instead. The command or function illustration is a pattern that should match all possible invocations. In some cases it is advisable to illustrate sev‐ eral exclusive invocations as is shown in the SYNOPSIS section of this manual page.
答え3
まさにあなたが欲しいものが何であるかよくわかりません。あなたが正しいことを証明するために3つの例を挙げてみましょう。
Pipelines
A pipeline is a sequence of one or more commands separated by
one of thwe control operators | or |&. The format for a pipeline is:
[time [-p]] [ ! ] command [ [|||&] command2 ... ]
(Bash マニュアルで;man bash
シェルを入力してください)
存在するbash.pdfGNUにはいくつかの変更があります:
The format for a pipeline is
[time [-p]] [!]command1[ | or |&command2] ...
そしてPOSIX仕様:
The format for a pipeline is:
[!] command1 [ | command2 ...]
シェルだけではあまりにも多くの特殊文字を使用するため、一貫したメタ構文は実用的ではありません。しかし、彼らはすべて同じ一般的な容疑者を使用します。
「Shell」は「コマンドライン」ではなく、GNU/LinuxはMSではないため、違いが加わります。まず、いくつかの基本情報が必要な場合があります。使用一般的なLinuxシェルとUnix - もちろん、あなたの状況に関する情報はオンラインです。 GNU / Linuxは、Windowsとの基本または違いを説明する責任を負いません。
find
コマンド/ユーティリティを使用する別の例
man find
GNU/Linux シェルでは、bash は以下を提供します:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [ex-
pression]
Men's Pagerに入ると/EXPR
(または読み続けてスクロールすると)、次のページに到達します。
EXPRESSION
The part of the command line after the list of starting points is the
expression. This is a kind of query specification ...[cut]
これで次に移動します。
OPERATORS
Listed in order of decreasing precedence:
( expr )
Force precedence. Since parentheses are special to the shell,
you will normally need to quote them. Many of the examples in
this manual page use backslashes for this purpose: `\(...\)' in-
stead of `(...)'.
これらすべては、次のように慎重に作られた小さな「クエリ」につながる可能性があります。
find -L /students/projects/myname \
-type d '(' -name '.aaa' -o -name '*rc*' ')' -prune -o \
-path '*/*/class_project/*/*/pikachu/*/*/bambi/bambi.txt' -print
これにより、すべての「bambi.txt」が検索されます。確認するサブフォルダ、スキップその他一部のサブフォルダ... ()
「フォルダで名前が.aaaまたはrcを含む場合は、トリム(スキップ)」という表現が必要です。
次に、一重引用符またはバックスラッシュを使用して、括弧がシェルで解釈されないように保護する必要があります。ほとんど-o
の時間OR
とデフォルト値-a
はAND
十分なので、GNU / Linuxで使用できます。