rsync
is a copy program that has great features for copying huge files, including a --progress
feature, and it has a form of in-transit compression to reduce the data in transit (and thus saving time for the copy):
rsync --progress file1 file2
rsync
also has features to resume a copy that was interrupted, maybe due to a network disconnection. You would need to start it with options --partial --append-verify
. The only downside that I can think of to using rsync
for copying over a network is that it needs to have been installed on both computers, ie. the sender and the receiver. See its man
page for details and all its other features...
If you can't install rsync
for some reason, or don't want to, a good simple alternative is pv
, a pipe viewer command, that does exactly what you are asking for.
pv from-file > to-file
pv
also includes many visualization options. See its man
page for all the goodies available. Here are some of the commonly used options:
-p, --progress
-t, --timer
-e, --eta
-r, --rate
-a, --average-rate
-b, --bytes
cp
's standard overwrite behavior. – hunteke Feb 27 '18 at 06:19cp
may be doing some extra CRC or other checks, but I doubt it. Whatcp
will do thatpv
won't, especially with-a
, is maintainstat
properties, like time modified, ownership (if you're running asroot
), etc. – hunteke Feb 27 '18 at 06:24