在GnuParallel中复制目录
我有一项基本的工作要做:我想通过保存目录中的所有结构(子文件夹和文件),将一个目录的内容复制到另一个位置。这个目录的大小非常大,我想使用GnuParallel并行执行复制。然而,我似乎无法找到适当的命令来这样做在GnuParallel中复制目录,gnu,gnu-parallel,Gnu,Gnu Parallel,我有一项基本的工作要做:我想通过保存目录中的所有结构(子文件夹和文件),将一个目录的内容复制到另一个位置。这个目录的大小非常大,我想使用GnuParallel并行执行复制。然而,我似乎无法找到适当的命令来这样做 find . -print0 | parallel -0 cp -r dirToCopy/ newDirLocation/ 似乎什么都没做,而 find . -print0 | parallel -0 cp {} newDirLocation/ 仅复制原始目录中的文件,而不保留文件所
find . -print0 | parallel -0 cp -r dirToCopy/ newDirLocation/
似乎什么都没做,而
find . -print0 | parallel -0 cp {} newDirLocation/
仅复制原始目录中的文件,而不保留文件所在的结构和层次结构(基本上它复制的文件没有子文件夹)
复制此目录并保留目录内容的正确方法是什么?您需要分两个阶段执行此操作。创建目录:
find . -type d -print0 | parallel -0 mkdir newDirLocation/{}
创建文件:
find . -type f -print0 | parallel -0 cp newDirLocation/{}
请注意,如果您的磁盘是单轴硬盘,则并行复制的速度很可能较慢。唯一能确定它的方法就是尝试和测量它