Unix copy command that has a progress bar, but not as heavy as rsync

8,979

Solution 1

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

Solution 2

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

Solution 3

Take a look at pipeviewer/pv:

http://www.ivarch.com/programs/pv.shtml

Example for copy:

http://blog.amit-agarwal.co.in/2010/11/11/function-copy-files-progress-bar-pv-pipe-viewer/

Solution 4

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

Solution 5

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:
8,979
Araejay
Author by

Araejay

Updated on September 17, 2022

Comments

  • Araejay
    Araejay over 1 year

    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?

  • Araejay
    Araejay almost 15 years
    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
  • egorgry
    egorgry almost 15 years
    Then you want Stefan Wolff's solution.
  • einpoklum
    einpoklum about 11 years
    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?
  • Vijay
    Vijay about 11 years
    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.