在用于引用此存档命令的 stdin 的实例中,连字符的值实际上是什么样子?

在用于引用此存档命令的 stdin 的实例中,连字符的值实际上是什么样子?

我正在按照指南学习终端命令,并且在以下命令中遇到了使用连字符来引用 stdin 的情况,该命令用于查找目录 Playground 中名为“file-A”的所有文件。我理解它的用法是指 find 命令找到的文件,这些文件当然通过管道传送到 tar 并设置为使用 --files-from= 选项作为文件读取。我不明白它在由 gzip 命令重命名之前定义存档的中间名称的用法。

 find ./playground -name 'file-A' | tar -cf - --files-from=- | gzip playground.tgz

stdin 的值不是 stdin 文件中定义的路径列表吗?如果是这样,这怎么能成为可接受的存档名称呢?

谢谢

答案1

我在手册中找不到它tar。然而,-工具经常将其用作引用 stdin 或 stdout 的伪文件名。tar两者都使用 if 。-f -说输出到stdout--files-from=-说从 获取文件名列表stdin。 in 和 out 是隐含的,这些选项分别期望输出和输入。

另外:gzip不是重命名。并且没有临时文件,数据通过管道传递。

相关内容