dd(1) has 'status=progress'I think FreeBSD's version of dd does that; don't know about cp and mv.
$ rsync -a --info=progress2 dir1/file_1.txt dir2/
0 100% 0,00kB/s 0:00:00 (xfr#1, to-chk=0/1)
alias copy='rsync -a --info=progress2'
$ copy dir1/file_1.txt dir2/
Was about to mention it. If you need to copy or move a large amount of files then rsync(1) is probably a better idea.
There is another reason to use rsync: A few years ago (by now, probably 10 years ago!) it had the best algorithm for detecting sparse files, and copying them appropriately. Now in real-world use sparse files are rare, but if you have them, one can save a lot of disk space and copying time by doing so appropriately.
rsync -SHAXax
. Also, I don't believe that there is any way to preserve the exact sparseness when copying a source file. Your option with rsync is to make a target file either maximally sparse, or not sparse at all -- and that's generally OK.I have a love-hate relationship with rsync(1). I can't live without it, but it's default behaviour is to favour speed over correctness, which I despise. For instance, it will, by default, remove hard links (and replace them with copies of files). To make it behave "correctly" you have to invoke a lot of options. I generally start withrsync -SHAXax
. Also, I don't believe that there is any way to preserve the exact sparseness when copying a source file. Your option with rsync is to make a target file either maximally sparse, or not sparse at all -- and that's generally OK.