如何阅读 Unix 用法

如何阅读 Unix 用法

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

/usr/bin/ls  [-aAbcCdeEfFghHilLmnopqrRstuvVx1@] [file]...

意味着你可以包含多个选项?也就是说,

ls -la

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

答案1

确实没有 RFC 或任何东西,但如果你遵守以下准则,你就不会偏离太远:

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

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

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

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

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

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

答案2

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

手册页(5),BSD 文件格式手册,“手册页语法”部分:

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

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

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

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

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

答案3

使用线不遵循任何一致的内容。

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

相关内容