Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to copy lots of files. Usually I use rsync because I pass it the -aP options and I can see (a) how many files are left to process and (b) how much of each individual file is copied.

However rsync also does lots of things with checksums to verify that a file was copied. However I don't really need that now. But normal cp doesn't include the above mentioned count of files left, which is very helpful.

Is there anything like cp that includes progress of how many files left, but isn't as heavy as rsync?

share|improve this question
up vote 20 down vote accepted

You could run rsync with the -W switch, which will disable the checksums.

share|improve this answer

So is this a suitable alias for your suggestions?

cp_p() {
    rsync -WavP $1 $2

-W -do not use delta transfer algorithm
-a archive mode
-v verbose
-P show progress bar and retain partial files

another alternative i found at some places. requires pv (pipeviewer) package though.

cp_pv() {
    pv -per $1 > $2

-p show progress
-e show eta
-r show rate
-n show numeric output

/edit I have now tested the above aliases and can confirm they work. There were some typos before

share|improve this answer
This seems to only support copying one file into a named file rather than a directory. What if I want to copy multiple files? Or a directory? – einpoklum Apr 12 '13 at 20:17
Well these are just aliases, so you can experiment with the actual raw commands inside to see what works for you. I'm sure rsync supports directories and other path designations. You can easily customize the aliases to make it work for your specific situation. Do share if you get it working. IIRC I have used it with directories before without a problem. – Vijay Apr 14 '13 at 15:17

you could just slap the -v option on the cp cmd or use scp to the localhost

share|improve this answer
the -v is a good start, and it's quite helpful, but I'd like more info on exactly how many files are left / have been copied / etc – Rory Jul 16 '09 at 12:56
Then you want Stefan Wolff's solution. – egorgry Jul 16 '09 at 13:00

It's overkill with the encryption overhead, but you can use scp locally:

scp <file-from> <file-to>

It will display progress while copying.

share|improve this answer
Atleast on OSX, scp doesn't show any progress bar by default as it uses cp under the hood when local files are involved. – Sridhar Ratnakumar Jan 27 '11 at 20:22

gcp is the nice tool. Here you have the PyPI package, but this also can be found in distro package (for example in debian/ubuntu apt-get install gcp do the job).

There is also a nice tutorial article about gcp.

$ gcp -r Solaar/ solaar2

Copying 7.53 MiB 100% |#############################| 134.92 M/s Time: 00:00:00
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.