如何在 Linux 中仅显示 wget 进度条?


摘要

通过 ssh 会话远程管理 UNIX/Linux/BSD 服务器是一种常见做法。对于安装,您可能需要下载软件或其他文件。对于 Linux 操作系统,有一些强大的图形下载管理器可用。但是,在命令行或 shell 提示符下使用 wget 命令时,首选非交互式下载器。wget 命令支持各种设置和 Internet 协议,包括 HTTP、FTP、HTTPS 等。

wget 命令最简单的用途之一是下载单个文件并将其放置在您当前工作目录中。

Linux Wget 命令

为了使用 wget 下载文件,键入 wget 后跟要下载文件的 URL。wget 将下载指定 URL 处的文件并将其保存到当前目录中。在下面的示例中,我们将了解如何在 Linux 中使用 wget 命令。

$ wget https://tutorialspoint.com/index.htm

输出

--2022-12-26 10:18:13--  https://tutorialspoint.com/index.htm

Resolving www.tutorialspoint.com (www.tutorialspoint.com)... 192.229.221.69
Connecting to www.tutorialspoint.com (www.tutorialspoint.com)|192.229.221.69|:443... connected.
HTTP request sent, awaiting response... 200 OKLength: 127735(125K)[text/html]

Saving to: index.htm'index.htm     

        
0%[                    ]       0  --.-KB/s               index.htm           100%[===================>] 124.74K  --.-KB/s    in 0.009s  2022-12-26 10:18:14 (12.9 MB/s) - 'index.htm' saved [127735/127735]$ 

显示进度条

当与 —show-progress 选项结合使用时,Wget 中的 -q 选项使您能够显示下载进度指示器,同时隐藏所有其他输出。

在下面的示例中,我们将了解如何显示进度条,

$ wget https://tutorialspoint.com/index.htm   -q --show-progressindex.htm

输出

0%[                    ]       0  --.-KB/s               index.htm           100%[===================>] 124.74K  --.-KB/s    in 0.03s   

使用 grep 显示进度条

为了过滤我们希望获得更清晰显示的行,针对较旧的 wget 版本(1.16),其中 -show-progress 选项不可用。例如,wget 输出中带有百分号 (%) 的行表示下载正在进行。

在下面的示例中,我们将了解如何使用 grep 获取进度条,

$ wget https://tutorialspoint.com/index.htm   2>&1   |   grep '%'   

输出

0K .......... .......... .......... .......... .......... 40%  125M 0s
50K .......... .......... .......... .......... .......... 80% 6.45M 0s
100K .......... .......... ....                            100%  206M=0.008s

结论

GNU wget 命令是一个有效的命令行工具,用于下载文件、恢复中断的部分下载、镜像 HTTP/FTP 站点、提供用户身份验证、限制下载速度以及许多其他任务。

在本文中,我们学习了如何禁用 wget 输出的其他行并仅设置进度条。在更新版本的 wget 中,我们有 -show-progress 选项来限制输出行。为了在旧版本中获得更好的结果,我们可能需要使用 grep 等工具过滤输出行。

我希望这些命令以及支持示例将有助于学习和探索 Linux。

更新于: 2023-03-23

2K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告