pv
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 pvSyntax
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.gzdd-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.gzAdditional Resources
man pv