scp + 复制相同的链接

jen*_*fer 11 linux scp

为什么该scp命令不将链接从本地计算机复制到另一台计算机?

scp -rp dir linux:/dir_target
Run Code Online (Sandbox Code Playgroud)

当我在源目录中同时拥有文件和链接时,如何复制链接?

小智 13

如果我正确理解你想要什么。您希望将本地机器上的 dir 准确地镜像到 linux 上的 dir_target,并且它正在复制符号链接的内容,而不是复制符号链接本身。要进行精确复制,您需要使用 rsync 而不是 scp。

rsync -Wav --progress dir linux:dir_target
Run Code Online (Sandbox Code Playgroud)

我怀疑这会产生预期的结果。反正我一般都用 rsync 因为它只会复制需要复制的文件,而且一般比 scp 更智能。


Ste*_*HHH 10

这是一个很好的问题。不幸的是,scp 不会复制符号链接,而且似乎没有添加它的计划:https : //bugzilla.mindrot.org/show_bug.cgi?id=485

但是,确实存在替代方案。你可以:

  • 使用tar cvfz文件夹(焦油会保留链接)压缩; 然后 scp tar 文件
  • 使用rsync -e ssh开关通过 ssh 同步(例如rsync -ave ssh /src/dir user@hostname:/folder
  • 使用这样的命令来查找和列出符号链接,然后在另一端重新创建它们(不太好,但我考虑过自己实现):

    ls -la `find openddr_ODRINT1/ -type l`