Running linux. I have two identical drives mounted on the same machine. What is faster CP, MV, or RSYNC? Why is one faster than the other? Are there any faster alternatives?
-
Might want to ask this in the UNIX group. – mdpc Feb 16 '12 at 17:52
2 Answers
I'd argue for cp being the fastest, even if marginally so.
Between drives, 'mv' should essentially amount to cp + rm (copy to destination, then delete from source). On the same filesystem, 'mv' doesn't actually copy the data, it just remaps the inode, so it is far faster than cp.
Rsync will be slower than cp since, it still needs to copy the entire file - and it has additional overhead (even if minor in this case). Rsync may win in the case where you already have the majority of data one the target drive and would only need to copy a small delta.
There is a somewhat of a comparison of the 3 here.
-
+1 because this answer describes in detail those programs' behaviors in different scenarios. IMHO it should be the accepted answer. – MoonSweep Sep 12 '17 at 17:48
When the source and destination are mounted on different partitions, cp
and mv
will perform about the same, since mv
cannot optimize anything.
rsync
offers advantages when you are doing an incremental transfer (such as when doing a daily backup), or when the destination is very remote and/or communication is unreliable (such as over the Internet).
rsync
also provides a nice running progress bar if that's your thing :)
You can benchmark both mv
and rsync
, but rsync
will report transfer times and speeds itself, while you will have to time mv
and then calculate the speed afterwards.
- 16,479
- 21
- 33