是否可以使用详细、统计或进度递归地使用“查找和复制”?

是否可以使用详细、统计或进度递归地使用“查找和复制”?

关于以下文章: 如何将所有文件(不包括文件夹)递归复制到一个目标文件夹中?

有没有办法拨打此电话并显示--stats和/或--progress

是否cp允许这些选项?

我对 Linux 还很陌生,提前说声抱歉。

—金达

答案1

cp并且find两人对于接下来的工作都一无所知。

但也有变通办法。为了获得每个文件的进度条,一种可能性是替换cppv(您可能需要安装这个小工具)。

假设文件位于 ~/old 中,而您想要在 ~/new 中复制,则可以执行以下操作:

export SOURCE=~/old
export DEST=~/new
find $SOURCE -type f -print -exec bash -c 'pv $1 > $DEST/$(basename $1)' $0 {} \;

但请注意,这种方式不会保留权限,所有新创建文件的权限均受umask

这个技巧的pv工作原理在https://askubuntu.com/questions/17275/how-to-show-the-transfer-progress-and-speed-when-copying-files-with-cp. 在该问题的答案中你还会发现许多替代方案pv

相关内容