Ctrl + t on OSX and FreeBSD

$ cp file.log /Volumes/tmp
load: 1.46  cmd: cp 78834 uninterruptible 0.00u 0.00s
file.log -> /Volumes/tmp/file.log  23%
load: 1.46  cmd: cp 78834 uninterruptible 0.00u 0.00s
file.log -> /Volumes/tmp/file.log  57%
load: 1.46  cmd: cp 78834 uninterruptible 0.00u 0.01s
file.log -> /Volumes/tmp/file.log  95%
load: 1.43  cmd: cp 78834 uninterruptible 0.00u 0.01s

man cp:

If cp receives a SIGINFO (see the status argument for stty(1)) signal, the current input and output file and the percentage complete will be written to the standard output.

This works for dd as well.