PROGRESS(1) | General Commands Manual | PROGRESS(1)

# NAME

`progress` — feed input to a command, displaying a progress bar

# SYNOPSIS

`progress` | [`-ez`] [`-b` buffersize] [`-f` file] [`-l` length] [`-p` prefix] cmd [args ...]

# DESCRIPTION

The `progress` utility opens a pipe to cmd and feeds an input stream into it, while displaying a progress bar to standard output. If no filename is specified, `progress` reads from standard input. Where feasible, `progress` fstat(2)s the input to determine the length, so a time estimate can be calculated.

If no length is specified or determined, `progress` simply displays a count of the data and the data rate.

The options are as follows:

`-b` buffersize
  Read in buffers of the specified size (default 64k). An optional suffix (per strsuftoll(3)) may be given.
`-e`
  Display progress to standard error instead of standard output.
`-f` file
  Read from the specified file instead of standard input.
`-l` length
  Use the specified length for the time estimate, rather than attempting to fstat(2) the input. An optional suffix (per strsuftoll(3)) may be given.
`-p` prefix
  Print the given “prefix” text before (left of) the progress bar.
`-z`
  Filter the input through gunzip(1). If `-f` is specified, calculate the length using `gzip -l`.

# EXIT STATUS

The `progress` utility exits 0 on success, and >0 if an error occurs.

# EXAMPLES

The command

`progress -zf file.tar.gz tar xf -`
will extract the file.tar.gz displaying the progress bar as time passes:

      0% |                               |     0        0.00 KiB/s    --:-- ETA
     40% |********                       |   273 KiB  271.95 KiB/s    00:01 ETA
     81% |***********************        |   553 KiB  274.61 KiB/s    00:00 ETA
    100% |*******************************|   680 KiB  264.59 KiB/s    00:00 ETA

If it is preferred to monitor the progress of the decompression process (unlikely), then

`progress -f file.tar.gz tar zxf -`
could be used.

The command

`dd if=/dev/rwd0d ibs=64k | \`
`progress -l 120g dd of=/dev/rwd1d obs=64k`
will copy the 120 GiB disk wd0 (/dev/rwd0d) to wd1 (/dev/rwd1d), displaying a progress bar during the operation.

# SEE ALSO

ftp(1), strsuftoll(3)

# HISTORY

`progress` first appeared in NetBSD 1.6.1. The dynamic progress bar display code is part of ftp(1).

# AUTHORS

`progress` was written by John Hawkinson ⟨jhawk@NetBSD.org⟩. ftp(1)'s dynamic progress bar was written by Luke Mewburn.

# BUGS

Since the progress bar is displayed asynchronously, it may be difficult to read some error messages, both those produced by the pipeline, as well as those produced by `progress` itself.

June 6, 2007 | NetBSD 11.0