The progress meter is inhibited if curl deems that there is output going to
the terminal, as then would the progress meter interfere with that output and
just mess up what gets displayed. A user can also forcibly switch off the
progress meter with the option, which tells curl to hush.
If you invoke curl and don’t get the progress meter, make sure your output is
directed somewhere other than the terminal.
At times when curl is asked to transfer data, it can’t figure out the total
size of the requested operation and that then subsequently makes the progress
meter contain fewer details and it cannot, for example, make forecasts for
transfer times, etc.
The progress meter displays bytes and bytes per second.
The times are displayed using HSS for hours, minutes and seconds.
Progress meter legend
The progress meter exists to show a user that something actually is
happening. The different fields in the output have the following meaning:
Title | Meaning |
---|---|
% | Percentage completed of the whole transfer |
Total | Total size of the whole expected transfer (if known) |
% | Percentage completed of the download |
Received | Currently downloaded number of bytes |
% | Percentage completed of the upload |
Xferd | Currently uploaded number of bytes |
Average Speed Dload | Average transfer speed of the entire download so far, in number of bytes per second |
Average Speed Upload | Average transfer speed of the entire upload so far, in number of bytes per second |
Time Total | Expected time to complete the operation, in HH![]() |
Time Current | Time passed since the start of the transfer, in HHSS notation for hours, minutes and seconds |
Time Left | Expected time left to completion, in HH![]() |
Curr.Speed | Average transfer speed over the last 5 seconds (the first 5 seconds of a transfer is based on less time, of course) in number of bytes per second |