busybox version 1.33.0
我正在尝试复制整个home
文件夹。
在home
,内部/dev/sda2/
安装,如下所示:
/home/user/sda2
/home/user/sda2/root
/home/user/sda2/home_backup
您可以在上面看到root/
目录sda2/
,由实际拥有root
。此外,还有home_backup/
哪些将存储来自/home
.
我的问题是:
执行以下行后,我得到了一个很好的文件列表,/home/user/sda2
并且它的内容无处可寻,这正是我想要的:
LC_ALL=C find /home -path /home/user/sda2 -prune -o -iname '*' -print \;
但是对于以下内容,我总是收到operation not permitted
目录错误root/
(准确,我不是所有者,普通用户),这意味着它不会sda2
像我预期的那样修剪:
LC_ALL=C find /home -path /home/user/sda2 -prune -o -iname '*' -exec cp -r '{}' /home/user/sda2/home_backup/ ;/
由于显而易见的原因/home/user/sda2
,必须排除,不要一遍又一遍地复制相同的数据。
检查这个并不能真正回答我的问题,但它让我对如何prune
工作有了一个概念。
https://stackoverflow.com/questions/1489277/how-to-use-prune-option-of-find-in-sh/1489405#1489405
编辑
我刚刚意识到,在上一行中,所有文件都将混合在一起,home_backup
但这不是问题,我仍然想知道为什么我不能正确“修剪”。