如何阅读Unix用法

six*_*ude 17 unix command-line syntax

我进行了一些搜索,但找不到有关Unix 使用方式的文档。我知道一些事情(主要是通过反复试验)但是,例如,我怎么知道

/usr/bin/ls  [-aAbcCdeEfFghHilLmnopqrRstuvVx1@] [file]...
Run Code Online (Sandbox Code Playgroud)

意味着您可以包含多个选项?那是,

ls -la
Run Code Online (Sandbox Code Playgroud)

关于使用语法是什么的一些文档在哪里?

fra*_*nkc 35

确实没有 RFC 或任何东西,但如果你坚持这些指导方针,你就不会偏离太远:

  1. 尖括号中的任何内容都< >表示需要该选项:
    <foo>

  2. 方括号中的任何内容都[ ]表示该选项是可选的:
    [bar]

  3. 由管道分隔的选项|意味着这些是有效值:
    --baz=one|two|three

  4. 单字母选项以一个破折号开头:
    -a

  5. 多字母选项以两个破折号开头:
    --foo-bar

  6. (基于#4)带有多个字母的单破折号通常意味着这些单个单字母选项的联合,而不是多字母选项。并非所有命令都支持这种联合。示例:
    -aAbBcC-a -A -b -B -c -C


Pet*_*sen 6

手册页没有严格的结构,但以下内容涵盖了大多数命令。

来自MANUAL PAGES(5), BSD File Formats Manual,“MANUAL PAGE SYNTAX”部分:

在手册页语法中,任何普通文本字体都是必需的文本。任何粗体字体都是标志或子命令。任何带下划线的都是用户指定的参数,例如文件名。

任何用方括号括起来的参数都被认为是可选的。例如,[ filename ] 表示可选的文件名参数。

由垂直分隔符 (|) 分隔的标志、参数或子命令是互斥的。例如,如果 -a 打开选项而 -b 关闭选项,则此命令的语法可能是 -a | -b.

在某些情况下,您甚至可能会看到整组参数用括号括起来并由垂直分隔符分隔。这是显示命令具有多个有效语法的一种方式。在其他手册页中,这通过在概要中有多行来表示,每一行都以命令名称开头。分隔格式更常见(也更易读),但对于具有特别复杂语法的命令并不总是可行的。

最后,最重要的符号约定是使用省略号 (...)。这表明此时可以添加其他参数。


小智 5

用法行不遵循任何一致的内容。

您应该使用man lsinfo ls来获得更一致的信息级别。