![在 Linux 命令手册中,描述中出现“short_option”有什么区别long_option” 和 “short_option long_option”](https://linux22.com/image/1570674/%E5%9C%A8%20Linux%20%E5%91%BD%E4%BB%A4%E6%89%8B%E5%86%8C%E4%B8%AD%EF%BC%8C%E6%8F%8F%E8%BF%B0%E4%B8%AD%E5%87%BA%E7%8E%B0%E2%80%9Cshort_option%E2%80%9D%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%ABlong_option%E2%80%9D%20%E5%92%8C%20%E2%80%9Cshort_option%20long_option%E2%80%9D.png)
例如,看看
人统计
在描述中,有几个选项,例如:
-L,--取消引用
和
-c --format=格式
有逗号和没有逗号有什么区别?我该如何学习这类东西。我担心我可能会错过一些简单的细节。
我目前正在阅读:http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
但好像说的不多。你如何/在哪里查阅有关 Linux 的信息?
答案1
具体来说stat
,这看起来像是拼写错误。-c
和--format
选项可以互换,因此应该使用逗号来与其他选项保持风格一致。
它的读法是,你需要-c
,但--format
事实并非如此。
答案2
有逗号和没有逗号有什么区别?
无。使用短选项或长选项均可,逗号无所谓。
在我的 Kubuntu 中,我从 和 复制了文件/usr/share/man/man1
,/usr/share/man/man8
解压、清理(删除了多余的内容)并使用正则表达式搜索没有逗号的选项。我浏览了结果,检查了一些“可疑”文件。我的结论(启发式的,不是严格的):
- 相对而言,很少有手册使用无逗号样式。
- 那些确实这么做的人很少将其与带逗号的样式混合在一起。
man stat
仅使用无逗号-c --format
,这可能只是一个拼写错误。
我怎样才能学习这类东西?
我的方法:通过熟悉。手册页是为人准备的;大多数人(甚至是书呆子)都能处理模糊模式、拼写错误、小矛盾或例外。有些手册非常庞大(man 1 bash
)或需要处理抽象概念(man 5 sudoers
),所以它们更正式;但是当你需要解决一个特定的问题时,你很少会研究整个手册,你会寻找例子。所以你实验、调整可用的示例、编写不起作用的命令、编写起作用的命令、将起作用的命令与文档进行比较。
然后你开始了解这些有些模糊的惯例。你依靠最小意外法则, 你预计看到一些短选项等同于一些长选项。你甚至没有注意到一些手册省略了逗号。你看到的man stat
不一致只是因为缺少逗号在视觉上很突出;你耸耸肩,继续……
... 因为您熟悉其他一些手册,这些手册会明确警告您有关令人惊讶的语法(如果有的话);并且您认为他们的作者做了这么好的事情真是太好了。
但即使有逗号或没有逗号,这又有多大关系呢?因为
- 你运行
stat -c '%n' /
并得到了/
预期的结果; - 你运行
stat --format='%n' /
并得到相同的结果;
但
- 你跑去
stat -c --format='%n' /
拿--format=/
。
我担心我可能会忽略一些简单的细节。
将此与以下情况进行比较GUI 工具菜单中的省略号。您是否知道许多应用程序使用省略号 ( …
) 来表示不立即执行的菜单项?例如,Print…
生成附加窗口,您可以在其中更改某些内容,然后再继续实际打印,或者您可以取消;在这样的应用程序中Print
(没有省略号)会立即打印。
在了解省略号的含义之前,我已经熟练地使用 GUI 工具好几年了。偶然间,我读到了一些琐事,然后才注意到省略号的存在(并且“一直”存在)。现在我知道任何带有省略号的菜单项都是“安全的”,它应该为我提供一种取消的方法。
我的观点是:这样的细节可能意味着什么,它可能非常有用(所以你问了一个合理的问题);但如果你可以做stat
你想做的事(如果我可以使用菜单来得到我想要的东西)那么错过细节就不是什么大问题了。