拷贝:排除一个或多个目录的实现方法 您所在的位置:网站首页 linux复制目录到另一个目录中的命令 拷贝:排除一个或多个目录的实现方法

拷贝:排除一个或多个目录的实现方法

2024-06-08 14:14| 来源: 网络整理| 查看: 265

Linux拷贝排除一个或多个目录的实现方法:cp /rsync命令

DOS 的XCOPY命令的应用之排除某些文件或文件夹(/EXCLUDE选项的应用)

Linux copy时排除某文件/目录

=============================

Linux OS:

Linux拷贝排除一个或多个目录的实现方法

文章目录:

    一、用cp命令实现     二、用rsync命令

你有没有想要拷贝某个目录下的很多文件或者目录,但是又偏偏有几个文件你不想要拷贝,有人说可以全部拷贝过去再删除呀,但是关键这几个文件可能很大很大,这个时间成本怎么算呀,好吧,那我们就来一个 “一致对外” 策略!!!

建议采用rsync命令,方便快捷

一、用cp命令实现

/home目录里面有data和photo目录,data目录里面有test1,test2,test3,test4四个目录,现在要把data目录里面除test4目录之外的所有目录拷贝到photo目录中

cp -r find /home/data -type d -path /home/data/test4 -prune -o -print | sed 1d /home/photo

上述命令参数说明:

    find /home/data -type d 找出该目录下的文件夹,如果是-type f则是找出该目录下的文件。

    再加上路径选项:-path /home/data/test4表是找出/home/data指定路径下的文件夹。

    -prune:使得find命令不进入到当前路径。

    -o类似于逻辑或运算,find /home/data -type d -path /home/data/test4 -prune -o -print是find /home/data -type d -path /home/data/test4 -a -prune -o -print的缩写。

其中-a相当于逻辑与&&,-o相当于逻辑或||,上述命令等价于:

if -path “/home/data/e” then

-prune

else

-print

意思就是查找/home/data目录下的文件夹,如果路径是/home/data/e,就执行“-prune”(跳过)操作,如果不是该路径,则执行 “-print”(打印)操作。

    sed 1d:通过管道执行该命令,表示上面查找出来的文件列表删除第一行(/home/data),即根目录不需要加进来,否则的话就相当于把所有文件夹进行了拷贝。

二、用rsync命令

    ync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync 本来是文件同步备份的工具,相对于普通的 cp 命令,rsync 在控制方面就强多了,而且 rsync 对遍历目录也支持,有 --exclude参数可以忽略指定的文件或文件夹。

/home目录里面有data和photo目录,data目录里面有test1,test2,test3,test4四个目录,现在要把data目录里面除test3和test4目录之外的所有目录拷贝到photo目录中

cd /home/data

rsync -av --exclude  test3/ --exlclude test4/  ../data/  /home/photo

上述命令参数说明: -a参数表示archive模式(-a 参数已经包含遍历处理参数 -r),-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。

注意: –exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。 ———————————————— 版权声明:本文为CSDN博主「点亮~黑夜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_41010198/article/details/87614358

参考:

如何使用'cp‘命令排除特定目录?

Linux copy时排除某文件/目录

https://blog.csdn.net/ximaiyao1984/article/details/129669061

https://www.jianshu.com/p/bf9eba9f4e97

Windows OS:

xcopy拷贝目录并排除特定文件

xcopy拷贝目录并排除特定文件_xcopy exclude排除目录_foruok的博客-CSDN博客

DOS 的XCOPY命令的应用之排除某些文件或文件夹(/EXCLUDE选项的应用)

https://blog.csdn.net/weixin_34019144/article/details/91879455



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有