Linux/Unix:scp复制所有隐藏的点文件

时间:2020-01-09 10:40:31  来源:igfitidea点击:

使用scp命令将文件从一台服务器复制到另一台服务器时无法复制所有隐藏文件(如.bash_history)。
像操作系统一样,如何在Unix下使用scp命令复制隐藏文件?

scp命令在网络上的服务器(计算机)之间复制文件。
它使用ssh进行数据传输,并使用与ssh相同的身份验证并提供相同的安全性。

scp命令

正确的语法如下,以复制所有文件,包括隐藏的点文件:

$ scp -rp /path/to/source/. user@server2:/path/to/dest/

其中:

  • -r:递归复制整个目录。请注意,scp遵循在树旅行中遇到的符号链接
  • -p:保留原始文件的修改时间,访问时间和模式。
  • /path/to/source/.:当您将/path/to/source指定为源路径时,添加点(。)符号非常重要。如果您在路径中跳过点,它将仅复制普通文件,而scp将跳过所有隐藏文件。

rsync命令

我建议您使用rsync命令在基于Unix/Linux的服务器和工作站之间复制文件。

$ rsync -avzP /path/to/source/ user@server2:/path/to/dest/

或者

$ rsync -avzP /path/to/source/ [email protected]:/path/to/dest/