通过 ssh 会话进行 tar

通过 ssh 会话进行 tar

可能的重复:
“-”作为命令的参数是什么意思?

当我使用这个命令时:

  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 命令进行处理。

相关内容