暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux命令行使用wget下载文件实例

TIAP 2021-08-17
571

Linux wget是一个下载文件的工具,它用在命令行下,对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。

wget工具体积小但功能完善,它支持断点续传功能,同时支持ftp和http下载方式,支持代理服务器,设置起来方便简单。


例子1:使用wget下载单个文件

以下代码从网络下载一个文件并保存在当前目录中。

    $ cd opt
    $ wget http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal01708.iso


    在下载过程中会显示进度条,包含(下载完成百分比、已经下载的字节、当前下载速度、剩余下载时间)。


    例子2:使用wget -O 下载并以不同的文件名保存

    下面的例子会下载一个文件并以名称CentOS-7-x86_64-Minimal-1708.iso保存

      $ wget http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso


      文件名称太长不方便运维人员操作,可以自定义文件名称。为了解决此问题,可以使用 -O 来指定一个文件名,如下代码:

        $ wget -O CentOS7_4_mini.iso http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso


        例子3:使用wget --limit-rate限速下载

        运行wget指令下载文件时,默认会占用全部可能的带宽进行下载操作,当准备下载一个大文件时,可以根据需要进行限速控制。

          $ wget -O CentOS7_4_mini.iso --limit-rate=600k http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso


          例子4:断点续传

          使用wget -c指令可以重新启动下载过程中断的文件

            wget -c http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal01708.iso


            下载大文件时,如果突然由于网络等原因终端,断点续传会非常有帮助,可以继续接着下载而不是重新下载一个文件,需要继续终端的下载可以使用 -c 选项。


            例子5:使用wget -b 后台下载

            在下载非常大的文件时,可以使用选项 -b 后台下载。

              $wget -b http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal01708.iso


              例子6:伪装代理名称下载

              有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求,可以通过--user-agent选项伪装。

                $wget --user-agent="Mozilla/5.0(Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal01708.iso


                例子7:测试下载连接

                有定时下载任务时,应在预定时间测试下载连接是否有效,可以增加 --spider选项进行检查。

                  $ wget --spider URL


                  如果下载连接正确,会有"Remote file exists."信息提示。

                  大家可以在以下几种情况下使用spider选项:

                  1)定时下载之前进行检查;

                  2)间隔检测网站是否可用;

                  3)检查网站页面的死链接。


                  例子8:使用wget --tries增加重试次数

                  如果网络有问题或下载一个大文件,也有可能失败。wget默认重试20次连接下载文件。如果需要,可以使用--tries增加重试次数。

                    $ wget --tries=30 URL


                    例子9:使用wget -i 下载多个文件

                    首先,保存一份下载链接文件:

                      cat >iso_list.txt<<a
                      URL1
                      URL2
                      URL3
                      a


                      接着使用这个文件和选项-i下载:

                        $ wget -i iso_list.txt


                        例子9:使用wget做网站镜像

                        如下示例为下载整个网站到本地:

                          $ wget --mirror -p --convert-links -p ./LOCAL URL


                          • --mirror: 设置这个参数来建立本地镜像;

                          • -p: 下载所有html文件适合显示的元素;

                          • --convert-links: 下载完成后,将文档连接都转换成本地的;

                          • -P ./LOCAL-DIR: 保存所有的文件和目录到指定文件夹下。


                          例子10:过滤指定格式下载

                          下载站点时,不下载gif动画图片:

                            $ wget --reject-gif URL


                            例子11:使用wget -o 把下载信息存入日志文件

                            下载信息不直接显示在终端,而是在一个日志文件中,使用小写字母o,如下代码所示:

                              $ wget -o download.log URL


                              例子12:使用 wget -Q 限制总下载文件大小

                              下载的文件超过10MB而退出下载,可以使用如下指令:

                                $ wget -Q10m -i iso_list.txt


                                注意:此选项对单个文件下载不起作用,只能递归下载时才有效。


                                例子13:下载指定格式文件

                                可以在以下场景使用该功能:

                                1)下载一个网站的所有图片;

                                2)下载一个网站的所有视频;

                                3)下载一个网站的所有pdf文件。

                                  $ wget -r -A.pdf URL

                                  从一个网站下载所有pdf文件。


                                  例子14:使用wget ftp下载

                                  可以使用wget完成ftp链接的下载,匿名ftp下载类似于http下载。

                                    $ wget ftp-url


                                    如果要输入用户名和密码,则使用wget用户名和密码认证的ftp下载:

                                      $ wget --ftp-user=USERNAME --ftp-password=PASSWORD URL



                                      文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                      评论