Linux/tar 中独立的“-”选项有什么作用?

What does the standalone '-' option do in Linux/tar?

我在 GNU tar 中遇到了以下命令语法。 tar manpage 上什至有这样的例子。但是,我没有找到关于独立 - 选项的作用的解释。我怀疑这与将输出通过管道传输到 .任何人都可以详细说明吗?这是特定于 tar 还是一般的 Linux 功能?

tar -cf - <directory> | <somecommand>

使用破折号 - 作为文件名来表示标准输入或标准输出是许多程序使用的约定(例如 cattar 等)。它不是文件名的特殊 属性。特别是在重定向时,- 不被识别为特殊文件名,因此您的 shell 将使用它作为文字文件名。