pzk*_*pzk 5 linux shell command
我正在寻找在 linux 中仅打印目录名称的命令。我遇到了这种新颖的语法,我们可以在没有任何单词的情况下将两个连字符相邻。
ls -ld -- */
Run Code Online (Sandbox Code Playgroud)
在这个命令和一般的 linux 命令中,这个双连字符 (--) 是什么意思?
"--" 用于标记选项的结束,因此是参数的开始。它告诉命令将其后的所有内容视为参数而不是选项,即使某些内容看起来像选项。这在多个命令中使用,而不仅仅是ls.
这可以防止命令阻塞以连字符 (-) 或两个 (--) 开头的参数(例如文件名),否则会导致错误(没有这样的选项)或不可预测的结果(如果带连字符的参数实际上是一个有效选项),因为该命令会尝试将其解释为选项(而不是参数)。
例如,假设您的一个论点是一个包含报纸文章的文件:
- 没有勾结,总统惊呼 - 华盛顿邮报.html
前面的“--”将防止“-No”被视为选项。
这在您的示例中使用小丑 (*) 时尤其重要,因为您永远不会事先知道来自多个子目录的所有文件中的一个或多个是否可能以连字符开头。