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