GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Xfennec/progress: Linux tool to show progress for cp, mv, dd, ... (formerly known as cv)

BranchesTags
Open more actions menu

Latest commit

 

History

188 Commits
188 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
_progress
_progress
 
 
capture.png
capture.png
 
 
hlist.c
hlist.c
 
 
hlist.h
hlist.h
 
 
progress.1
progress.1
 
 
progress.c
progress.c
 
 
progress.h
progress.h
 
 
sizes.c
sizes.c
 
 
sizes.h
sizes.h
 
 

Repository files navigation

progress - Coreutils Progress Viewer

What is it

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).

progress screenshot with cp and mv

(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).

How do you install it

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

Packaging status:

Packaging status

How do you build it from source

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').

How do you run it

Just launch the binary, progress.

What can I do with it

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.

How does it work

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

About

Linux tool to show progress for cp, mv, dd, ... (formerly known as cv)

Topics

coreutilslinuxmonitoring

Resources

Readme
GPL-3.0 license
Activity

Stars

8.9k stars

Watchers

130 watching

Forks

312 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.