linux rsync 复制文件忽略文件夹

Posted wakasann

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux rsync 复制文件忽略文件夹相关的知识,希望对你有一定的参考价值。

比如: /home/vagrant/test 目录下有 a,b,c 三个文件夹,只复制 c 文件夹下面的文件到/home/vagrant/test2

使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子

# yum install rsync
# apt install rsync
$ cd /home/vagrant/test
$ pwd
$ /home/vagrant/test
$ rsync -av --exclude a --exclude b . ../test2
  • -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
  • -v 显示同步过程的详细(verbose)信息
  • 第一个. 是把当前目录做为同步源,因为执行rsync命令时已经进入到/home/vagrant/test
  • 第二个../test2 把相对当前目录上级的test2 文件夹作为同步目标目录

注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。

注解:

rsync命令是一个远程数据同步工具可通过LAN/WAN快速同步多台主机间的文件。-a参数表示archive模式,-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。

References

以上是关于linux rsync 复制文件忽略文件夹的主要内容,如果未能解决你的问题,请参考以下文章

文件拷贝跳过和忽略

使用Rsync在 Linux 上传输文件的示例

在linux上使用rsync更快地复制文件

Linux下数据备份命令scp、rsync和后台运行

如何在 Linux 中使用 rsync 传输文件

Linux远程复制scp和rsync区别