TL;DR — Quick Summary
pv (Pipe Viewer) monitors data flowing through Unix pipes. See transfer speed, ETA, progress bar, and total bytes — for any piped command: dd, tar, gzip, database dumps.
pv shows progress for pipes. Any long pipe — now with speed, ETA, and progress bar.
Installation
# Ubuntu/Debian
sudo apt install pv
# macOS
brew install pv
Usage
# Monitor compression
pv large-file.tar | gzip > large-file.tar.gz
# Disk cloning with progress
pv /dev/sda | dd of=backup.img bs=4M
# Database dump
mysqldump db | pv | gzip > dump.sql.gz
# With size hint for accurate ETA
pv -s $(du -sb file | cut -f1) file | gzip > file.gz
# Rate limit to 10MB/s
pv -L 10m file > /dev/null
Summary
- pv monitors data flowing through pipes
- Progress bar, speed, ETA, total bytes
- Works with dd, tar, gzip, mysqldump, anything
- Rate limiting with -L flag
- Essential Unix tool since 2002