Open In App

pv command in Linux with Examples

pv is a terminal-based (command-line based) tool in Linux that allows us for the monitoring of data being sent through pipe. The full form of pv command is Pipe Viewer. pv helps the user by giving him a visual display of the following,

  1. Time Elapsed
  2. Completed Progress (percentage bar)
  3. Current data transfer speed (also referred to as throughput rate)
  4. Data Transferred
  5. ETA (Estimated Time) (Remaining time)

Installing pv command

1. Debian based distributions:



$ apt-get install pv

2. RedHat based distributions

$ yum install pv

How to use the pv command?

pv is used to provide the ability of monitoring progress of a given application which lacks the mentioned functionality. It can be used by placing a pipe operator (|) between two processes.



Syntax of pv command:

pv fileName
pv OPTIONS fileName
pv fileName > outputFileName
pv OPTIONS | command > outputFileName
command1 | pv | command2

Standard Input of the pv command is passed to Standard Output and then the result is printed to Standard Error.

Options for pv command

1. General Options

2. Display Modifiers

3. Output Modifiers

4. Data Transfer Modifier

When no option is selected -p, -t, -e, -r, -b options are selected by default.

Examples

1. Creating a progress bar with the copy command

$ pv history.log > $HOME/Documents/history.log

2. Making zip with the progress bar

$ pv history.log | zip>$HOME/Documents/history.zip

3. Count number of lines, words, bytes

$ pv -p history.log | wc

4. Monitor tar progress

$ tar -czf - ./Documents/ | (pv -p --timer --rate --bytes > backup.tgz)

Article Tags :