LinuxCommandLibrary

progress

TLDR

Show progress of running coreutils commands

$ progress
copy
Monitor continuously
$ progress -M
copy
Wait for processes to finish
$ progress -w
copy
Monitor specific command
$ progress -c [cp]
copy
Monitor specific PID
$ progress -p [12345]
copy
Update every N seconds
$ progress -i [1]
copy
Show only specific process
$ progress -p $(pidof [dd])
copy

SYNOPSIS

progress [-M] [-w] [-c command] [-p pid] [-i interval]

DESCRIPTION

progress (formerly cv - coreutils viewer) shows the progress of running coreutils commands. It displays file operations progress for cp, mv, dd, tar, gzip, and similar tools that don't have built-in progress indicators.
The tool works by reading /proc filesystem to find file descriptors and position information. It calculates progress by comparing current position to total file size, then displays percentage and throughput.
Supported commands include: cp, mv, dd, tar, cat, rsync, gzip, gunzip, bzip2, xz, lzma, and many others. The -a flag adds custom commands to monitor.
Monitor mode (-M) continuously updates the display like top. Wait mode (-w) blocks until all monitored processes complete - useful in scripts to know when operations finish.
For dd specifically, progress provides the ETA and throughput that dd traditionally lacked (before dd's native status=progress option).

PARAMETERS

-M, --monitor

Continuous monitoring mode.
-w, --wait
Wait for processes to complete.
-c CMD, --command CMD
Monitor only specified command.
-p PID, --pid PID
Monitor specific PID.
-i SEC, --interval SEC
Update interval in seconds.
-a, --additional-command CMD
Add custom command to monitor.
-o, --open-mode
Monitor all open files (experimental).
-q, --quiet
Quieter output.
-v, --version
Show version.
-h, --help
Show help.

CAVEATS

Only works with commands that read/write files via standard syscalls. Network operations may not show correctly. Requires read access to /proc. Some compression tools don't expose progress information. File size must be known for percentage calculation.

HISTORY

progress was created by Xfennec around 2013, originally named "cv" (coreutils viewer). It addressed the long-standing complaint that cp and dd don't show progress. The tool became popular especially for monitoring dd during disk operations. It was renamed to "progress" for clarity.

SEE ALSO

pv(1), dd(1), rsync(1), watch(1)

Copied to clipboard