Linux-在shell编程中cp -r 略过某个子目录的问题

发布于 2016-12-12 05:39:23 字数 67 浏览 1406 评论 4

现在需要对一个目录进行备份,但是该目录下有一个子目录非常大,因此不想备份它,求一个简单的命令行来实现它,大家分享一下吧。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

甜柠檬 2017-10-05 06:56:34

find 目录 ( -path 避开的目录1 -o -path 避开的目录1 ..... ) -prune -exec cp -r {} ;

灵芸 2017-02-26 11:04:46

经过测试,这条shell可以完成本功能:
find /root/data -type f |grep -v "attachment" | xargs cp -ar --target-directory=/root/backup --parents
即将/root/data目录下除attachment目录外的所有文件备份至/root/backup目录

虐人心 2017-01-21 18:09:36

ls | grep -v "排除目录" | xargs -i cp -a {} "目标目录"

泛泛之交 2017-01-09 04:57:50

为什么不用rsync呢,rsync -rv -exclude-from 或者rsync -rv -exclude。

一定要用cp的话,试一下(slackware13.1测试通过):
首先保证源目录和目标目录的目录结构相同,之后拷贝文件

find . -type d -exec mkdir -p -- 目标目录/{} ;
find . -type f -not -iname '*/排除的目录/*' -exec cp '{}' '目标目录/{}' ;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文