explaingit

xfennec/progress

8,833CAudience · ops devopsComplexity · 1/5Setup · easy

TLDR

A Linux and macOS command-line tool that shows the percentage, speed, and estimated time remaining for running file operations like copy or compress, works with standard system tools, no changes required.

Mindmap

mindmap
  root((progress))
    What it does
      Show file op progress
      Display speed and ETA
      No tool changes needed
    Modes
      One-shot snapshot
      Continuous monitor
      Target by PID
    Works with
      cp mv dd
      tar gzip bzip2
      Standard system tools
    Audience
      Linux sysadmins
      Power users
    Install
      Homebrew MacPorts
      Linux packages
      Build from source
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Check the live progress of a large file copy or move operation running in another terminal window.

USE CASE 2

Monitor all ongoing file operations at once using a continuously refreshing display.

USE CASE 3

Track how far through a file a compression or archiving job has progressed without modifying the original command.

Tech stack

CLinuxmacOSFreeBSD

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Progress is a small command-line tool for Linux, FreeBSD, and macOS that shows you how far along a file operation is. When you run a command like copying, moving, or compressing a large file, the terminal normally gives you no feedback at all until the job is done. Progress watches those running operations and displays a percentage, estimated time remaining, and transfer speed. It works by scanning the operating system's process information to find file-copying and similar commands that are currently running. It then checks which files those processes have open and how far through each file the operation has progressed. This approach means it works with standard system tools without any special setup or modifications to those tools. You can run it in a few different ways. Running it once gives you a snapshot of any ongoing file operations. There is also a continuous monitoring mode that refreshes like a system monitor, so you can watch progress update in real time. You can also target a specific process by name or by its process ID. Installation is straightforward: the tool is available through the standard package managers on most major Linux distributions and on macOS via Homebrew or MacPorts. It can also be built from source with a single command. The project was previously called cv (Coreutils Viewer) before being renamed to progress.

Copy-paste prompts

Prompt 1
How do I use the progress tool to watch a running cp command and see its percentage and transfer speed?
Prompt 2
Show me how to run progress in continuous monitoring mode so it refreshes automatically like a system monitor.
Prompt 3
How do I target the progress tool at a specific process ID to track only that file operation?
Prompt 4
Give me the command to install progress on macOS with Homebrew and run a quick test on a file copy.
Open on GitHub → Explain another repo

← xfennec on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.