Linux tool to show progress for cp, mv, dd, ... (formerly known as cv)
Linux tool to show progress for cp, mv, dd, ... (formerly known as cv)
This tool can be described as a tiny, dirty C command that looks for coreutils basic commands (cp, mv, dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays the percentage of copied data. It can also show estimated time and throughput, and provides a "top-like" mode (monitoring).
(After many requests: the colors in the shell come from powerline-shell. Try it, it's cool.)
progress works on Linux, FreeBSD and macOS.
Formerly known as cv (Coreutils Viewer).
On deb-based systems (Debian, Ubuntu, Mint, etc.) run:
apt install progressOn Arch Linux, run:
pacman -S progressOn Fedora, run:
dnf install progressOn openSUSE, run:
zypper install progressOn macOS, with homebrew, run:
brew install progressOn macOS, with MacPorts, run:
port install progressmake && make installOn FreeBSD, substitute make with gmake.
It depends on the library ncurses, you may have to install corresponding packages (maybe something like 'libncurses5-dev', 'libncursesw6' or 'ncurses-devel').
Just launch the binary, progress.
A few examples. You can:
monitor all current and upcoming instances of coreutils commands in a simple window:
watch progress -q
see how your download is progressing:
watch progress -wc firefox
look at your web server activity:
progress -c httpd
launch and monitor any heavy command using $!:
cp bigfile newfile & progress -mp $!and much more.
It simply scans /proc for interesting commands*, and then looks at
directories fd and fdinfo to find opened files and seek positions,
and reports status for the largest file.
It's very light and compatible with virtually any command.
(*) on macOS, it does the same thing using libproc
Building on MSYS2
support commands zstd, pzstd
Reported cp speed is extremely slow/inaccurate
support rust based cp
Found too much procs
Total progress when copying or moving multiple files?
ZFS support?
Trouble installing progress
Support for ffmpeg conversions?
Monitor Output