如何使用 find 和 CP 仅复制父文件夹?

如何使用 find 和 CP 仅复制父文件夹?

为什么以下命令会复制 DCIM 文件夹及其子文件夹和文件..我只想复制 DCIM 文件夹。

find ./"DCIM" -name "DCIM" -maxdepth 0 -type d -exec cp -a -p -i "{}" "/home/username/Documents" \;

如果我做

find ./"DCIM" -name "DCIM" -maxdepth 0 -type d -print

那么只显示 DCIM 文件夹

如何结合使用 find 和 cp 来复制父文件夹而不复制其中包含的子文件夹和文件?DCIM 文件夹中有很多文件,因此排除每个文件或模式很麻烦,而且不太实用。有解决方案吗?

答案1

您只需要cp。您不需要涉及find。尝试以下命令。

cp -dpi DCIM/* "/home/username/Documents"

从目录‘上面DCIM’,在那里运行您以前的命令行(使用find)。

它应该可以工作(如果目标目录的路径存在并且您有足够的权限执行该操作;您需要sudo写入另一个用户的主目录)。

如果要写入目标驱动器中的单独目录,可以创建它:

mkdir -p "/home/username/DCIM"

然后使用

cp -dpi DCIM/* "/home/username/DCIM"

相关内容