Linux上的多线程cp?

Linux上的多线程cp?

cpLinux 上有多线程命令吗?

我知道如何在 Windows 上执行此操作,但我不知道如何在 Linux 环境中执行此操作。

答案1

正如 Celada 提到的,使用多个执行线程是没有意义的,因为复制操作并不真正使用 CPU。正如 ryekayo 提到的,您可以运行多个实例,cp以便最终获得多个并发 IO 流,但即使这样通常也会适得其反。如果您将文件从同一磁盘上的一个位置复制到另一个位置,尝试一次执行多个操作将导致磁盘浪费时间在每个文件之间来回查找,从而降低速度。一次复制多个文件真正有益的唯一情况是,例如,将多个文件从多个不同的慢速可移动磁盘复制到快速硬盘上,反之亦然。

答案2

嗯,我相信你可以使用gnu并行完成你的任务。

 seq 70 | parallel -j70 cp filename

您可以查看有关使用的详细说明gnu并行来自我的另一个答案这里

我刚刚在我的系统中测试了上述命令,我可以看到正在制作 70 个文件副本。

答案3

最接近多线程进程的是&在后台运行命令的进程。

因此,要使用此命令,您需要执行以下操作:

cp file location &

相关内容