可能的重复:
“-”作为命令的参数是什么意思?
当我使用这个命令时:
tar cf - /tmp | ssh test.com tar xf -
“-”是什么意思?这是上述命令的正确解释吗? tar tmp 目录并将 tarball ssh 到 test.com 并解压它。
答案1
该选项-f -
(即-
唯一与 结合使用才有意义-f
)告诉tar
使用标准输入/输出而不是文件名。这是有道理的,因为您尝试将输出通过管道传输到ssh
.
此外,tar
允许在没有前导破折号的情况下编写速记选项,这就是为什么您(正确地)简单地编写tar f -
而不是tar -f
.
答案2
“-”是标准输出的占位符。在这种情况下,您将一个命令的输出通过管道传输到 ssh 会话中。 ssh 输出通过管道传输到远程服务器终端的 stdout,并再次传递给 tar 命令进行处理。