Linuxにマルチスレッドのcp
コマンドはありますか?
Windowsでこれを行う方法は知っていますが、Linux環境でこれをどのように処理するかはわかりません。
Celadaが述べたように、コピー操作は実際にはCPUを使用しないため、複数の実行スレッドを使用しても意味がありません。 ryekayoが述べたように、cp
の複数のインスタンスを実行して、複数のIOストリームを同時に発生させることができますが、これでも通常は逆効果です。ファイルをコピーする場合同じディスク上のある場所から別の場所へ、一度に複数を実行しようとすると、ディスクが各ファイル間を行き来する時間を浪費することになり、処理速度が低下します。たとえば、複数の異なるリムーバブルディスクから高速ハードディスクに、またはその逆に、複数のファイルをコピーする場合は、ファイルを一度にコピーします。
まあ、私はあなたがあなたの仕事を達成するためにgnu parallelを使用できると信じています。
seq 70 | parallel -j70 cp filename
私の他の答え here からgnu parallelの使用に関する詳細な説明を見ることができます。
上記のコマンドをシステムでテストしたところ、70のファイルのコピーが作成されていることがわかりました。
マルチスレッドプロセスに最も近いものは&
バックグラウンドでコマンドを実行します。
したがって、このコマンドを使用するには、次のようにします。
cp file location &