linux - 如何正确使用带有 unix 命令的破折号 (-)?
问题描述
我刚刚注意到命令:
ps -T
和
ps T
给出不同的结果。例如:
我的意思是第二个输出的第 2 行和第 3 行。
有人可以解释一下这里发生了什么以及破折号在这些命令中是如何工作的(老实说,我认为不需要参数的选项可以在没有破折号的情况下给出)。
提前致谢。
解决方案
这里发生了什么
从man ps
与ps
从procps
:
此版本的 ps 接受多种选项:
1 UNIX 选项,可以分组,并且前面必须有一个破折号。
2. BSD 选项,可以分组,不能与破折号一起使用。
3. GNU 长选项,前面有两个破折号。
T 选择与该终端关联的所有进程。
-T 显示线程,可能带有 SPID 列。
两个含义不同的选项。
破折号如何在此类命令中真正起作用
Dash 从字面上代表它自己。-
是一个-
,性格-
。那么程序就有逻辑了,如果传递给程序的表示参数的字符串以-
字符开头,那么那个程序的逻辑就不同了,那么当参数不以.开头时-
。
o 老实说,我认为不需要参数的选项可以在没有破折号的情况下给出
每个程序都有自己独特的语义和解析。虽然有约定和标准,并且以领先为首的选项-
是(几乎)通用标准,但也有例外。(例如,“传统”tar
命令语法可识别不带 . 的选项-
。)
如何正确使用带有 unix 命令的破折号 (-)?
咨询您要运行的“命令”,因为它取决于该命令如何解析其参数。
推荐阅读
- c++ - 当一个特定函数的定义在另一个文件中时,C++ 奇怪的“未定义引用”错误@链接时间
- python - 如何使用 WinAPI 区分真正的鼠标滚轮和生成的滚轮?
- wordpress - 在 WooCommerce 中将可点击的动态付款请求 uri 添加到暂停电子邮件通知
- php - VSCode Laravel Xdebug 错误:找不到类“Illuminate\Support\Facades\Route”
- ios - 当呈现的视图控制器被关闭时,iOS 在父视图控制器中得到通知
- python - 异步 API 请求
- bash - 对 bash 条件感到困惑
- c++ - 如何使用/设置 vscode (c++) 的快速修复?
- curl - Jfrog-CLI 安装在 WSL1 Ubuntu 20.04 上不起作用
- haskell - 执行包含多个选项的检查