Progress bar for scp command

Is there any way to display a progress bar while copying from server to local (or vice versa) using scp?


Solution 1:

I don't think that this can be done with scp. Last time I needed something like this i.e. progress shown, I used rsync instead. It shows progress in a bar-like manner. See if it works for you.

You will need to use the --progress option of rsync. You can use the following command:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

Solution 2:

The -v switch works fine.

Example:

5% 9232KB 357.5KB/s 07:48 ETA

Solution 3:

As of 2018, progress and ETA are shown by default and could be disabled by -q

Solution 4:

I don't know how to do this in a command line. I'm sure it's possible but there is a graphical method for doing this.

Nautilus (the default file browser in Ubuntu) can mount ssh/sftp servers. They act like a local filesystem after that and you can copy files around like you normally would. And you get the usual progress bar that you would with a normal copy.

Look under the File menu for Connect to server...