pv

Updated

September 4, 2026

Overview

pv (Pipe Viewer) shows a progress bar, throughput, and ETA for data moving through a pipeline. Perfect for long dd, compression, or network transfers where tools lack built-in progress.

sudo apt install pv

Syntax

pv [options] [file...]
 | pv | 

Common Options

Option Description
-s size Expected size (better ETA)
-a Average rate
-r Current rate
-t Timer
-b Bytes transferred
-p Progress bar
-N name Label
-c Cursor progress for multi-pv
-L rate Rate limit

Examples with Explanations

Copy with progress

pv big.iso > /mnt/usb/big.iso
pv big.iso | gzip > big.iso.gz

dd-style disk image

sudo dd if=/dev/sda bs=4M status=none | pv -s "$(blockdev --getsize64 /dev/sda)" | \
  sudo dd of=/dev/sdb bs=4M

(Or use dd status=progress on modern coreutils.)

Rate-limit a transfer

pv -L 10M archive.tar | ssh host 'cat > archive.tar'

Multi-stage labeled bars

pv -cN in file.tar | gzip | pv -cN gz > file.tar.gz

Additional Resources

  • man pv