progress is a lightweight command-line utility written in C that displays real-time progress information for coreutils operations such as cp, mv, dd, tar, and gzip. Instead of modifying the original commands, the tool scans the system’s process information to detect active file operations and estimates their completion percentage, throughput, and remaining time. It offers a top-like monitoring mode that continuously updates the status of ongoing transfers, making it especially useful during large file operations where native feedback is limited. The utility works across Linux, FreeBSD, and macOS environments and is designed to remain extremely small and efficient. By leveraging the /proc filesystem or platform equivalents, progress provides visibility into operations that normally run silently. Its simplicity and low overhead make it a popular companion tool for system administrators and power users performing heavy data movement tasks.
Features
- Real-time progress tracking for coreutils commands
- Percentage, throughput, and ETA estimation
- Top-like continuous monitoring mode
- Lightweight implementation in C
- Works across Linux, FreeBSD, and macOS
- Automatic detection via /proc scanning