This is a fork based on Xfennec/progress source code, and the Windows MSYS2 change by user sdbbs. Able to build and run on MSYS2. Thanks both.
- git checkout this repo with branch
win-msys
. git apply -v msys-win-diff.patch
.make LDFLAGS='-lncurses' && make install
.
Thanks.
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 progress
On Arch Linux, run:
pacman -S progress
On Fedora, run:
dnf install progress
On openSUSE, run:
zypper install progress
On macOS, with homebrew, run:
brew install progress
On macOS, with MacPorts, run:
port install progress
make && make install
On 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