Pv

pv is a tool to view verbose information about data streamed/piped through it. The data can be of any source like files, block devices, network streams etc. It shows the amount of data passed through, time running, progress bar, percentage and the estimated completion time.

Installation
You can install using the following command:

Usage
is mostly used with other programs which lack the ability to monitor the progress.

Copy files
The easiest way to use is by using a file as the input stream and direct the output stream into another file.

This is the same as (per default all output is turned on):











Pipe input
The estimated completion time and progress bar can only be displayed if knows the total size of the input stream. For example if we use to produce the input stream and pipe it to :

The size can be given to to estimate the time, in this example 1 kB:

Just pipe the data through and use it in a different program in the end. In this example we see how fast we can download the  from   using  and count the number of words in it:

Or have more verbose output using dd: