Linuxを実行しています。同じマシンに2つの同じドライブをマウントしています。より高速なCP、MV、またはRSYNCとは何ですか?なぜ一方が他方より速いのですか?より速い代替案はありますか?
ソースと宛先が異なるパーティションにマウントされている場合、cp
は何も最適化できないため、mv
とmv
はほぼ同じように動作します。
rsync
は、増分転送を実行している場合(毎日のバックアップを実行している場合など)、または宛先がveryリモートである場合、および/または通信の信頼性が低い場合(インターネット)。
rsync
は、それがあなたのものである場合、素晴らしい実行中のプログレスバーも提供します:)
mv
とrsync
の両方をベンチマークできますが、rsync
は転送時間と速度自体を報告しますが、time mv
その後、速度を計算します。
たとえわずかであっても、cpが最速であると私は主張したいと思います。
ドライブ間では、「mv」は基本的にcp + rmになります(宛先にコピーしてから、ソースから削除します)。同じファイルシステム上で、「mv」は実際にはデータをコピーせず、iノードを再マップするだけなので、cpよりもはるかに高速です。
Rsyncはcpよりも遅くなります。それは、ファイル全体をコピーする必要があるためです。また、追加のオーバーヘッドがあります(この場合はマイナーであっても)。大部分のデータがすでにターゲットドライブにあり、小さなデルタをコピーするだけでよい場合、Rsyncが勝つ可能性があります。
3の多少の比較 here があります。