Progress - Tool to monitor progress of basic command in Linux
Last Updated :
23 Aug, 2021
Progress is a command-line-based tiny tool which is formerly known as a Coreutils Progress Viewer. This tool is written in the C language. This command looks for the Coreutils basic command like cp, mv, dd, tar, gzip, cat, etc. which are currently running on the system and display the percentage of copied data. This tool can also show the estimated time and throughput and provide a "top-like" mode. This is a very light tool. Progress tool is available for Linux, FreeBSD, and macOS.
Installation of Progress tool
Now let's see how we can install the progress tool on the system. We are going to use the system package manager to install the progress tool. Use one of the following commands according to your operating system:
For Deb-based systems (Debian, Ubuntu, Mint, etc.):
apt install progress
For Arch Linux:
pacman -S progress
For Fedora:
dnf install progress
For Red Hat, CentOS:
yum install progress
For macOS with homebrew :
brew install progress
For macOS with MacPorts:
port install progress

Using progress tool
After successfully installing the progress tool now let's see how to use the progress tool. To get the list of Coreutils commands for which the progress tool shows progress, just run the progress command:
progress
Now let's see by doing one operation how it works.
As we can see, the progress command shows the PID 3185 copying one file, and it is 26% completed. To display estimated I/O throughput and estimated remaining time of ongoing coreutils command use the -w option with progress command:
progress -w
To continuously monitor the command without running the progress command again, and again, we can pipe progress command with -m option and $! Variable as follows:
cp Fedora-Workstation-Live-x86_64-34-1.2.iso ../ | progress -m $!
This will continuously show the status of the running command.
To watch all current and upcoming instances of coreutils commands in the simple window, use the following command:
watch progress -q
To monitor your download is progressing, you can use the following command:
watch progress -wc firefox
To monitor Web server activity, you can use the following command:
progress -c httpd
How does the progress tool work?
To collect the information this tool scans the /proc directory for coreutils commands, and then it searches for opened files in fd and fdinfo directories and then reports their status for the largest files. This is a very light tool and compatible with virtually any command.
man progress
Similar Reads
How to Monitor System Activity in Linux | top Command top command is used to show the Linux processes. It provides a dynamic real-time view of the running system. Usually, this command shows the summary information of the system and the list of processes or threads which are currently managed by the Linux Kernel. As soon as you will run this command it
10 min read
Linux System Monitoring Commands and Tools Monitoring the performance and health of a Linux system is essential for maintaining its stability and optimizing resource utilization. Linux provides a variety of commands and tools to facilitate system monitoring, enabling administrators to track key metrics, identify potential issues, and ensure
6 min read
Installing atop Tool To Monitor the System Process in Linux atop is an ASCII full-screen interactive performance monitor which is kind of similar to the top command to view the load over a Linux system. The job of the most critical hardware resources (from a performance point of view) at the system level, i.e. CPU, memory, disk, and network can be seen. atop
7 min read
Viewing Progress of Commands Using Pipe Viewer Tool in Linux The Pipe Viewer (pv) tool is a command-line application that allows Operators to monitor the progress of information along the pipeline. It provides important information such as the amount of arsenic information transferred and the order in which the previous sentences are modified partly at the en
4 min read
How to List Running Processes in Linux | ps Command As we all know Linux is a multitasking and multi-user system. So, it allows multiple processes to operate simultaneously without interfering with each other. Process is one of the important fundamental concepts of the Linux OS. A process is an executing instance of a program that carries out differe
10 min read
How to find time taken by a command/program on Linux Shell? Linux has a time command. It's a command-line utility that reports precisely how long a command executes, in real time (wall-clock), user time (CPU time spent in user mode), and system time (CPU time spent in kernel mode). With one easy command, you can easily gauge performance, identify slowdowns,
3 min read
How to Monitor Linux Commands Executed by System Users in Real-time? If you are a Linux system administrator then you would definitely want to monitor the interactive activity of all system users, like monitoring the Linux commands they execute in real-time. In this brief Linux system security article, we will be going to discuss how to monitor all Linux shell comman
1 min read
How to Install and Use BpyTop Resource Monitoring Tool in Linux? It's just as critical for terminal users to be able to keep track of their system's resource use. Knowing how much of your system's resources are being used allows you to make more educated decisions about general system maintenance. Top and htop are two choices, but they only show a few device metr
2 min read
Monitor and Find Statistics for Linux Processes Using pidstat Tool Pidstat is a command-line tool and part of sysstat suite to monitor the Linux system. It is used to monitor every individual task currently being managed by the Linux kernel on the Linux system. Features of pistat: It can monitor every task running on the systemIt can also monitor the child's task o
4 min read
Using htop to Monitor System Processes on Linux htop a Linux tool that is used in process-managing and terminal-based system monitoring. It allows real-time monitoring of processes and performs every task to monitor the process in the Linux system. The tool is written in the C programming language by Hisham Muhammad. It displays a complete list o
5 min read