“-”作为命令的参数是什么意思?

“-”作为命令的参数是什么意思?

我找到了有关如何操作的链接一步打开tgz

gzip -dc target.tar.gz | tar xf -

“-”是什么意思?

答案1

-在文件名参数中使用表示stdin或的常见约定stdouttar遵循相同的约定。从手册页:

   -f, --file [HOSTNAME:]F
          use archive file or device F (default "-", meaning stdin/stdout)

答案2

另一个约定是使用“-”表示标志的结尾和文件名的开头。至少 RedHat 4 上的 getopt(3) 内置了该行为。我找不到使用“-”表示参数结束的 Red Hat 手册页,它们似乎都使用“--”来做到这一点。 awk 手册页在该上下文中具有“--”,因此可能只有旧的“传家宝”Unix 或 Solaris 命令使用“-”作为参数 - 文件名分隔符。

相关内容