如何让 scp 复制隐藏文件?

如何让 scp 复制隐藏文件?

我经常使用 SCP 复制文件 - 尤其是与网络相关的文件。问题是,每当我这样做时,我都无法使用命令来复制隐藏文件(例如 .htaccess)。

我通常会调用这个:

scp -rp src/ user@server:dest/

这不会复制隐藏文件。我不想再次调用它(通过执行类似操作- 而且这无论如何scp -rp src/.* ...都有奇怪.和隐含的含义。..

我在手册页中没有看到scp有关“包含隐藏文件”的任何内容。

我怎样才能做到这一点?

答案1

这绝对应该匹配隐藏文件。源末尾的 / 表示“此目录下的每个文件”。然而,测试和研究证实了这一点。这是愚蠢的行为。

这 ”回答“是在源的末尾附加一个点:

scp -rp src/. user@server:dest/

真实的答案是使用 rsync。

答案2

您可以尝试 rsync。它更适合这项工作:

rsync -av src/用户@服务器:目标/

(它的手册页值得一读。)

答案3

不要在源目录后面加斜线。您的代码将如下所示:

scp -rp src user@server:dest/

这将在远程机器的“dest”下创建一个目录“src”,其中包含所有隐藏文件。这可能不是您想要的,但它将复制 src 中的隐藏文件。

答案4

下面将解决这个问题,这已经在我们的持续集成环境中进行了充分的测试

scp -rp src/ user@server:dest/
example scp -rp /usr/src/code/ [email protected]:/usr/dest/code/

希望能帮助到你

相关内容