关于以下文章: 如何将所有文件(不包括文件夹)递归复制到一个目标文件夹中?
有没有办法拨打此电话并显示--stats
和/或--progress
?
是否cp
允许这些选项?
我对 Linux 还很陌生,提前说声抱歉。
—金达
答案1
cp
并且find
两人对于接下来的工作都一无所知。
但也有变通办法。为了获得每个文件的进度条,一种可能性是替换cp
为pv
(您可能需要安装这个小工具)。
假设文件位于 ~/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
。