Соглашения синтаксиса man/Linux для Linux/Unix

В man страницах я сталкиваюсь с различными синтаксисами для написания команд Linux/Unix, которые включают в себя квадратные скобки, angular скобки, дефисы (-) и двойные дефисы (--) в различных комбинациях. Кто-нибудь знает смысл этих синтаксических соглашений?

[ ]
< >
[< >]
[--]
-
--
[< >...]

Ответ 1

Квадратные скобки [ ]

Квадратные скобки ([]) указывают, что заключенный элемент (параметр, значение или информация) является необязательным. Вы можете выбрать один или несколько предметов или нет предметов. Не вводите сами квадратные скобки в командной строке.

Пример: [global options], [source arguments], [destination arguments]

Угловые скобки <>

Угловые скобки (<>) указывают на то, что заключенный элемент (параметр, значение или информация) является обязательным. Вы должны заменить текст в угловых скобках соответствующей информацией. Не вводите сами угловые скобки в командной строке.

Пример: -f [set the File Name variable], -printer <printer name>, -repeat <months> <days> <hours> <minutes>, date access <mm/dd/yyyy>

В Unix-подобных системах ASCII-дефис-минус обычно используется для указания опций. За символом обычно следуют одна или несколько букв. Аргумент, который представляет собой один дефис-минус сам по себе без каких-либо букв, обычно указывает, что программа должна обрабатывать данные, поступающие со стандартного ввода, или отправлять данные на стандартный вывод. Два дефиса-минус (()) используются в некоторых программах для указания "длинных опций", где используются более описательные имена опций. Это общая черта программного обеспечения GNU.

Просто сделайте 'ls --help' и посмотрите на варианты, это должно быть очевидно для вас.

 -A, --almost-all           do not list implied . and ..
     --author               with -l, print the author of each file
 -b, --escape               print octal escapes for nongraphic characters
     --block-size=SIZE      use SIZE-byte blocks
 -B, --ignore-backups       do not list implied entries ending with ~
 -c                         with -lt: sort by, and show, ctime (time of last
                              modification of file status information)
                              with -l: show ctime and sort by name
                              otherwise: sort by ctime'
 -C                         list entries by columns
     --color[=WHEN] 

Ответ 2

Также используются необычные скобки {}, которые из моего поиска относятся к требуемым параметрам, которые могут быть указаны взаимоисключающими способами, ex {-a|-all}.

"{}" are used in conjunction with a vertical bar to indicate cases where exactly one of the specified options may be used

https://groups.google.com/forum/#!topic/comp.unix.programmer/XOr31SgvvS8