pv Pipe progress viewer
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
pv <file> > <copy>
<cmd> | pv | <cmd>
pv -s <size> ...
pv -L 1mpv -N <name> -c
pv -d <pid>
pv -q -L <rate>
pv -F '%t %b'
Concepts
- producer cat, tar, dd
- pv counts and throttles
- consumer gzip, ssh, file
Basics
pv <file> > <copy>
pv <file> | <command>
<command> | pv > <file>
pv < <in> | <command>
pv -o <file>
pv -VDisplay
pv -ppv -tpv -epv -rpv -apv -bpv -ptebarpv -Ipv -8pv -kpv -vpv -Tpv -u <style>
pv -w <cols>
pv -i <sec>
pv -m <sec>
Size and counting
pv -s <size>
pv -s @<path>
pv -s $(du -sb <dir> | cut -f1)
pv -s $(stat -c %s <file>)
pv -lpv -0pv -S -s <size>
pv -gpv -Wpv -D <sec>
Rate and transfer
pv -L <rate>
pv -q -L <rate>
pv -qpv -B <bytes>
pv -Cpv -Epv -EEpv -Z <bytes>
pv -Opv -Xpv -Ypv -U <file>
Names and multiple bars
pv -N <name>
pv -cpv -cN in | gzip -d | pv -cN out
pv -fpv -x windowpv -x processFormat and scripting
pv -F '<format>'
pv -F '%b %t %r %p %e'
pv -npv -nbtpv -F '%{progress-amount-only}'
| Sequence | Shows |
|---|---|
%p |
Progress bar |
%t |
Elapsed time |
%e |
ETA |
%I |
Finish time |
%r |
Current rate |
%a |
Average rate |
%b |
Bytes |
%T |
Buffer fill |
%N |
Name |
%% |
Literal percent |
Other processes
pv -d <pid>
pv -d <pid>:<fd>
pv -d =<name>
pv -d @<listfile>
pv -Q <pid>
pv -R <pid> -L <rate>
pv -M both -- <command>
pv -P <pidfile>
Recipes
tar cf - <dir>/ | pv -s $(du -sb <dir>/ | cut -f1) | gzip -9 > <dir>.tar.gz
pv <archive>.tar.gz | tar xzf -
pv -EE /dev/<disk> > <disk>.imgpv <disk>.img > /dev/<disk>
pv -L 2m <file> | ssh <host> 'cat > <file>'# watch an already running gzippv -d $(pidof gzip)



