当前位置 博文首页 > Linux猿:Linux 命令 wget 面试必备

    Linux猿:Linux 命令 wget 面试必备

    作者:[db:作者] 时间:2021-09-17 09:07

    在 Linux 中,wget 主要用于下载文件,是包含在 GNU 计划中的软件。支持通过 HTTP、HTTPS,以及 FTP 协议下载。

    语法格式如下:

    ? ? ? ? wget [option]... [URL]...

    option 表示参数,URL 表示下载文件的链接。

    一、常用参数

    -b,?--background : 进入后台下载;

    -o logfile, --output-file=logfile : 将命令执行信息输出到日志文件;

    -O file, --output-document=file : 修改下载文件名;

    -P prefix, --directory-prefix=prefix :? 下载文件到指定目录下;

    -i file, --input-file=file : 下载文件中链接指向的文件;

    ?-c, --continue : 断点续传;

    二、实例

    2.1 不带参数

    可以不带参数直接下载文件,文件存储到当前目录。

    linuxy@linuxy:~/wget$ wget http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    --2021-06-05 22:34:46--  http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.142, 91.189.88.152, 2001:67c:1360:8001::24, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.142|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 37756 (37K) [application/x-debian-package]
    正在保存至: “acl_2.2.53-6_amd64.deb”
    
    acl_2.2.53-6_amd64.deb           100%[==========================================================>]  36.87K  98.6KB/s    用时 0.4s
    
    2021-06-05 22:34:47 (98.6 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb” [37756/37756])
    
    linuxy@linuxy:~/wget$ ls
    acl_2.2.53-6_amd64.deb
    linuxy@linuxy:~/wget$

    如果当前目录下已存在同名文件,则为新文件添加 ".N" 后缀,如下所示:

    linuxy@linuxy:~/wget$ wget http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    --2021-06-05 22:56:45--  http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::23, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 37756 (37K) [application/x-debian-package]
    正在保存至: “acl_2.2.53-6_amd64.deb.1”
    
    acl_2.2.53-6_amd64.deb.1         100%[==========================================================>]  36.87K  34.4KB/s    用时 1.1s
    
    2021-06-05 22:56:48 (34.4 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb.1” [37756/37756])
    
    linuxy@linuxy:~/wget$ ls
    acl_2.2.53-6_amd64.deb  acl_2.2.53-6_amd64.deb.1
    linuxy@linuxy:~/wget$

    acl 第二次下载后重命名为 ?acl_2.2.53-6_amd64.deb.1。

    2.2 -o 参数

    linuxy@linuxy:~/wget$ wget -o wget-log-new http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    linuxy@linuxy:~/wget$ ls
    acl_2.2.53-6_amd64.deb  wget-log-new
    linuxy@linuxy:~/wget$

    将命令输出信息存储到指定文件,命令行界面瞬间清爽啦!

    2.3 -b 参数

    linuxy@linuxy:~$ wget -b http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    继续在后台运行,pid 为 3300。
    将把输出写入至 “wget-log”。

    转到后台下载,下载后存储到当前目录。如果没有指定 -o 参数,命令输出信息将保存到当前目录下 wget-log 文件中。

    2.4? -O 参数

    linuxy@linuxy:~/wget$ wget -O acl.deb http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    --2021-06-05 21:51:15--  http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::23, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 37756 (37K) [application/x-debian-package]
    正在保存至: “acl.deb”
    
    acl.deb                          100%[==========================================================>]  36.87K  41.0KB/s    用时 0.9s
    
    2021-06-05 21:51:17 (41.0 KB/s) - 已保存 “acl.deb” [37756/37756])
    
    linuxy@linuxy:~/wget$ ls
    acl.deb
    linuxy@linuxy:~/wget$

    将下载的文件重命名为 acl.deb。

    2.5 -P 参数

    将文件下载到指定目录下,如下所示:

    linuxy@linuxy:~/wget$ wget -P /tmp http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    --2021-06-05 23:03:22--  http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 37756 (37K) [application/x-debian-package]
    正在保存至: “/tmp/acl_2.2.53-6_amd64.deb”
    
    acl_2.2.53-6_amd64.deb           100%[==========================================================>]  36.87K  20.1KB/s    用时 1.8s
    
    2021-06-05 23:03:26 (20.1 KB/s) - 已保存 “/tmp/acl_2.2.53-6_amd64.deb” [37756/37756])
    
    linuxy@linuxy:~/wget$ ls -l /tmp/acl_2.2.53-6_amd64.deb
    -rw-rw-r-- 1 linuxy linuxy 37756 3月  10  2020 /tmp/acl_2.2.53-6_amd64.deb
    linuxy@linuxy:~/wget$ ls
    linuxy@linuxy:~/wget$

    文件被下载到 /tmp 目录下。?

    2.6?-c 参数

    断点续传指的是从上次已经下载的地方继续下载,不用重新下载,需要服务器支持断点续传功能。

    使用 wget 下载 vim,下载到 61% 的时候中断下载,如下所示:

    linuxy@linuxy:~/wget$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
    --2021-06-05 22:41:18--  http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 206 Partial Content
    长度: 1237624 (1.2M),剩余 1224077 (1.2M) [application/x-debian-package]
    正在保存至: “vim_8.1.2269-1ubuntu5_amd64.deb”
    
    vim_8.1.2269-1ubuntu5_amd64.deb   61%[===================================>                       ] 745.06K  16.8KB/s    剩余 27s

    然后,再次下载,第二次下载从上次 61% 处继续下载,如下所示:

    linuxy@linuxy:~/wget$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
    --2021-06-05 22:42:04--  http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 206 Partial Content
    长度: 1237624 (1.2M),剩余 471355 (460K) [application/x-debian-package]
    正在保存至: “vim_8.1.2269-1ubuntu5_amd64.deb”
    
    vim_8.1.2269-1ubuntu5_amd64.deb  100%[++++++++++++++++++++++++++++++++++++======================>]   1.18M  25.4KB/s    用时 17s
    
    2021-06-05 22:42:22 (27.1 KB/s) - 已保存 “vim_8.1.2269-1ubuntu5_amd64.deb” [1237624/1237624])
    
    linuxy@linuxy:~/wget$
    

    ?已经下载的 61% 标注为 “+”。

    ?2.7?-i 下载多个文件

    linuxy@linuxy:~/wget$ cat download
    http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    http://ports.ubuntu.com/pool/main/c/curl/curl_7.68.0-1ubuntu2_arm64.deb
    linuxy@linuxy:~/wget$ wget -i download
    --2021-06-05 22:04:37--  http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
    正在解析主机 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
    正在连接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 37756 (37K) [application/x-debian-package]
    正在保存至: “acl_2.2.53-6_amd64.deb”
    
    acl_2.2.53-6_amd64.deb           100%[==========================================================>]  36.87K  20.3KB/s    用时 19s
    
    2021-06-05 22:05:00 (1.92 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb” [37756/37756])
    
    --2021-06-05 22:05:00--  http://ports.ubuntu.com/pool/main/c/curl/curl_7.68.0-1ubuntu2_arm64.deb
    正在解析主机 ports.ubuntu.com (ports.ubuntu.com)... 91.189.91.39, 91.189.91.38, 2001:67c:1562::18, ...
    正在连接 ports.ubuntu.com (ports.ubuntu.com)|91.189.91.39|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 156608 (153K) [application/x-debian-package]
    正在保存至: “curl_7.68.0-1ubuntu2_arm64.deb”
    
    curl_7.68.0-1ubuntu2_arm64.deb   100%[==========================================================>] 152.94K  33.2KB/s    用时 12s
    
    2021-06-05 22:05:14 (12.5 KB/s) - 已保存 “curl_7.68.0-1ubuntu2_arm64.deb” [156608/156608])
    
    下载完毕 --2021-06-05 22:05:14--
    总用时:37s
    下载了:2 个文件,31s (6.04 KB/s) 中的 190K
    linuxy@linuxy:~/wget$

    wget 后直接添加多个链接也可以实现一次下载多个文件,但是这样太麻烦啦!

    使用 -i 参数,可以将多个链接存储到文件中,一次下载文件中的所有链接指向的文件。

    三、总结

    wget 是一个常用的 Linux 命令,常用的功能包括下载文件、下载多个文件、断点续传、后台下载等。

    参考文献:

    [1]?https://www.jianshu.com/p/59bb131bc2ab

    [2]?https://linuxize.com/post/wget-command-examples/

    ?

    cs
    下一篇:没有了