14

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?

Amandasaurus
  • 33,461

6 Answers6

21

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

6

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

Vijay
  • 227
3

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

egorgry
  • 2,911
1

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

scp <file-from> <file-to>

It will display progress while copying.

warren
  • 19,297
1

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
spinus
  • 224