rsync --exclude或者--exclude-from的路径问题

先开个头,注意/的使用

假设有 my_src_dir/a

  • my_src_dir复制到 my_dst_dir,结果: my_dst_dir/my_src_dir/a
rsync -a my_src_dir my_dst_dir
  • my_src_dir下的内容复制到my_dst_dir,结果: my_dst_dir/a
rsync -a my_src_dir/ my_dst_dir

my_dst_dir和my_dst_dir/是没区别的

然后,复制的时候想排除某些文件,比如???.txt

rsync -a --exclude='???.txt' my_src_dir/ my_dst_dir

这样,会把全部的???.txt都排除掉,例如a/???.txtb/???.txt,如果只想排除掉a目录下的,那就把目录写多点

rsync -a --exclude='a/???.txt' my_src_dir/ my_dst_dir

如果目录是下面这样的

my_src_dir/a
my_src_dir/b
my_src_dir/b/a

应该怎么排除a呢,--exclude='a'b/a就没了,--exclude='my_src_dir/a',这样是不生效的,应该写成这样

--exclude='/a'

没错,就是加个/,很多帖子说--exclude要用相对目录,但是也没说怎么个相对,这样测一下就好理解了,相对于
my_src_dir的相对,my_src_dir/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
rsync命令中的--exclude选项用于排除指定的文件或文件夹,使其在同步过程中不被复制。通过使用--exclude选项,可以提高同步过程的效率。在给定的引用中提到了通过rsyncexclude-from选项来实现排除。这样可以在一个单独的文件中列出要排除的文件或文件夹,以便灵活地管理需要排除的内容。 在引用中,给出了一个示例命令,仅同步名为a的目录,并排除其他文件和文件夹。通过使用--include选项,指定要包含的目录,然后使用--exclude选项,排除除了指定目录之外的所有内容。 在引用中,给出了一个示例命令,仅同步名为a的目录下的a.txt文件,并排除其他内容。同样使用了--include和--exclude选项,通过指定要包含的文件和文件夹,然后排除其他内容。 在引用中,给出了一个示例命令,同步所有的a.txt文件。如果目标目录中没有该文件,则会全部同步。如果某个目录下已经存在该文件,则不会替换。同样使用了--include和--exclude选项,通过指定要包含的文件和文件夹,然后排除其他内容。 总结来说,rsync命令中的--exclude选项可以用于排除指定的文件或文件夹,以提高同步效率。可以通过在命令中使用--include选项来指定要包含的文件和文件夹,然后使用--exclude选项来排除其他内容。这样可以根据需要灵活地管理同步过程中的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值