Progress – A Tiny Tool to Monitor Progress for (cp, mv, dd, tar, etc.) Commands in Linux

Progress, formerly known as Coreutils Viewer, is a light C command that searches for coreutils basic commands such as cp, mv, tar, dd, gzip/gunzip, cat, grep etc currently being executed on the system and shows the percentage of data copied, it only runs on Linux and Mac OS X operating systems.

Additionally, it also displays important aspects such as estimated time and throughput, and offers users a “top-like” mode.

Suggested Read: Monitor Progress of (Copy/Backup/Compress) Data using ‘pv’ Command

It utterly scans the /proc filesystem for fascinating commands, and then searches the fd and fdinfo directories to find opened files, seeks positions, and reports status for the extensive files. Importantly, it is a very light tool, and compatible with practically any command.

How to Install Progress Viewer in Linux

Progress requires the ncurses library in order to work, therefore install libncurses before proceeding to install it, by running the appropriate command below:

-------------- On RHEL, CentOS and Fedora -------------- 
# yum install ncurses-devel  

-------------- On Fedora 22+ Releases --------------         
# dnf install ncurses-devel

-------------- On Debian, Ubuntu and Linux Mint -------------- 
$ sudo apt-get install libncurses5-dev

You can start by cloning or downloading the package files from its Github repo as follows:

# git clone  https://github.com/Xfennec/progress.git

Next, move into the progress directory and build it as shown:

$ cd progress
$ make 
$ sudo make install

After successfully installing it, simply run this tool from your terminal, below we shall walk through a few examples of using Progress on a Linux system.

You can view all the coreutils commands that Progress works with by running it without any options, provided non of the coreutils commands is being executed on the system:

$ progress 
Progress Viewer Commands

Progress Viewer Commands

To display estimated I/O throughput and estimated remaining time for on going coreutils commands, enable the -w option:

$ progress -w
Monitor Progress of Running Commands

Monitor Progress of Running Commands

Start a heavy command and monitor it using -m option and $! as follows:

$ tar czf images.tar.gz linuxmint-18-cinnamon-64bit.iso CentOS-7.0-1406-x86_64-DVD.iso CubLinux-1.0RC-amd64.iso | progress  -m  $!
Monitor Progress of Linux Commands

Monitor Progress of Linux Commands

In the next example, you can open two or more terminal windows, then run the coreutils commands in one each, and watch their progress using the other terminal window as shown in the image below.

The command below will enable you to monitor all the current and imminent instances of coreutils commands:

$ watch progress -q

For more interesting options, look through the progress man pages or visit https://github.com/Xfennec/progress :

$ man progress

As a concluding remark, this is very useful tool for monitoring the progress of coreutils commands, especially when copying or archiving and compressing heavy files, plus so much more.

If you have installed it successfully, use it and share your experience with us via the comment section below. You can as well provide us some great usage examples where you find it helpful for important everyday system administration tasks and more.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Aaron Kili

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

8 Responses

  1. markus says:

    Hi, running Ubuntu and getting the “pkg-config” error during make.

    any ideas?

    • Ravi Saive says:

      @Markus,

      Please install missing pkg-config package using following command, which is needed to build Progress tool from sources..

      $ sudo apt-get install -y pkg-config
      
  2. kunalsing says:

    Hi Guys, While installing progress in centos pkgconfig command not found while make command use?

  3. Antonio Di Cello says:

    I have an offtopic question. What is your theme windows? I mean to the theme used to the Linux machines of the post author (Black Shell)

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.