pv flags & options

Basic usage

Show a progress bar for data piped through.

pv file.iso > /dev/null

With pipes

Insert pv into any pipeline to monitor throughput.

cat backup.sql | pv | mysql dbname
gzip -dc dump.sql.gz | pv | mysql dbname

-s, --size

Specify expected total size for accurate ETA and percentage.

pv -s 4G /dev/sda > disk.img

-L, --rate-limit

Limit the transfer rate.

pv -L 10M bigfile.tar > /dev/sdb

-p, -t, -e, -r

Toggle progress bar, timer, ETA, and rate display individually.

pv -pet file.iso > /dev/null

-N, --name

Add a label prefix to the progress display.

pv -N "Copying" file.iso > copy.iso

Multiple progress bars

Use -N with multiple pv instances in a pipeline.

pv -N "Read" input.gz | gunzip | pv -N "Write" > output.bin

-q, --quiet

Suppress output — useful when only using rate limiting.

pv -qL 1M data.bin | nc target 9000