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:19cpmay be doing some extra CRC or other checks, but I doubt it. Whatcpwill do thatpvwon't, especially with-a, is maintainstatproperties, like time modified, ownership (if you're running asroot), etc. – hunteke Feb 27 '18 at 06:24