Linux命令:wget命令

1 wget命令

1.1 简介

wget命令是一种常用的网络工具,用于从Web服务器下载文件。
wget命令基于HTTP、HTTPS和FTP协议从指定的URL下载文件。它可以在Linux和Unix系统的命令行中使用,并支持各种参数来定制下载行为。Wget也可以根据HTML、XHTML和CSS页面中的链接,创建远程网站的本地版本。
Wget旨在应对缓慢或不稳定的网络连接;如果由于网络问题下载失败,它会不断重试,直到检索到整个文件。如果服务器支持重新获取,它会指示服务器从停止下载的地方继续下载。
wget命令默认的配置文件有两个:

  • /etc/wgetrc :全局配置文件
  • .wgetrc:用户启动文件
    当运行 Wget 时,它会首先读取 /etc/wgetrc(如果存在),然后读取当前用户目录下的 .wgetrc(如果存在)。因此,.wgetrc 中的设置可以覆盖 /etc/wgetrc 中的相同设置

1.2 命令说明

使用:wget [option]… [URL]…

基础选项:

  • -V:显示wget版本
  • -h:帮助信息
  • -b:后台下载。如果没有通过-o指定输出文件,输出将被重定向到wget-log。
  • -e:执行多个命令

日志记录和输入文件选项:

  • -o logfile,–output-file=logfile:所有日志都输入到logfile中。-o直接覆盖
  • -a logfile,–append-output=logfile:同-o选项,将所有日志输入到logfile中,-a是追加,而不会覆盖旧文件
  • -d:调试
  • -q:关闭Wget的输出
  • -i file,–input-file=file:从本地或外部文件中找到的URL下载
  • -F, --force-html: 将输入文件视为HTML。
  • –config=FILE(此处是双横线): 指定使用的配置文件

下载选项:

  • –bind-address=ADDRESS:在建立客户端TCP/IP连接时,绑定到本地机器上的地址。ADDRESS可以指定为主机名或IP地址。如果机器绑定了多个ip,这个选项会很有用。
  • –bind-dns-address=ADDRESS:这个地址覆盖了DNS请求的路由。如果不想使用/etc/resolv.conf路由,可以使用–dns-servers。ADDRESS只能输入IPv4地址或IPv6地址。为了实现这个选项,Wget需要使用libcares构建。
  • -t number,–tries=number:最大尝试次数,超过次数会报错”connection refused“或者”not found“
  • -O file,–output-document=file:指定下载文件的名称
  • –backups=backups:在(覆盖)写入文件之前,通过向文件名添加.1后缀(在VMS上为_1)来备份现有文件。此类备份文件会依次重命名为.2、.3等,直到达到备份数量限制(超过该数量限制的文件将丢失)
  • -c:断点续传。如果下载中断,可以从上次下载的位置继续下载
  • -S:打印由HTTP服务器发送的头部信息以及由FTP服务器发送的响应。
  • -T seconds,–timeout=seconds:设置网络超时为秒(seconds)。这相当于同时指定–dns-timeout、–connect-timeout和–read-timeout。默认是900秒的读取超时
  • –limit-rate=amount:将下载速度限制为每秒amount字节。Amount可以以字节为单位表示,也可以使用k后缀表示千字节,或者使用m后缀表示兆字节。例如,–limit-rate=20k将限制检索速率为20KB/s。
  • -w seconds,–wait=seconds:在检索之间等待指定的秒数。建议使用此选项,因为它通过减少请求的频率来减轻服务器的负载。
  • –user=user --password=password:为FTP和HTTP文件检索指定用户名user和密码password。对于FTP连接,可以使用–ftp-user和–ftp-password选项覆盖这些参数;对于HTTP连接,可以使用–http-user和–http-password选项覆盖这些参数。
  • –ask-password:为每个建立的连接提示输入密码。不能与–password同时使用

目录选项:

  • -nd,–no-directories:在递归检索时不创建目录层次结构。启用此选项后,所有文件将保存到当前目录,而不会发生冲突(如果名称出现多次,文件名将获得扩展名.n)。
  • -nH:不创建主机目录。默认情况下,wget会在当前目录下创建以主机名命名的目录来保存下载的文件。使用此选项可以禁止创建这样的目录
  • -P prefix:将文件下载到指定目录

HTTP选项:

  • -E:如果下载的文件类型为 application/xhtml+xml 或 text/html,并且 URL 的结尾不符合正则表达式 .[Hh][Tt][Mm][Ll]?,该选项会在本地文件名末尾添加后缀 .html
    HTTPS (SSL/TLS)选项:
  • –no-check-certificate:不检查服务器证书是否由可用的证书颁发机构颁发。同时也不要求 URL 的主机名与证书中提供的通用名称匹配。

递归检索选项:

(递归检索选项:指 Wget 在下载网页时,不仅下载指定的 URL,还下载该网页上所有链接的页面,形成一个完整的网站镜像。这种递归下载的过程可以深入网站的各个层级,下载所有相关的文件,包括图片、样式表、脚本文件等,以尽可能地保留原始网站的结构和内容。)

  • -l depth,–level=N:限制递归的层级。例如,–level=1 将只下载一级链接的页面。
  • -r:默认情况下,递归的深度限制为 5,这意味着 Wget 会下载初始页面,以及初始页面上的链接页面,最多到第五层深度。
  • –no-parent:不下载上级目录的页面。
  • –no-host-directories:不在本地创建以主机名命名的目录。
  • –page-requisites:下载显示页面所需的文件,如图片。
  • –html-extension 或 --convert-links:将链接转换为本地文件,使下载的网页能在本地正确显示。

常见的几种错误代码:

  • 0:没有发生问题。Wget 成功下载,没有遇到任何错误。
  • 1:通用错误代码。这通常表示发生了某种未具体指定的错误,需要进一步查看输出或日志文件以了解详细信息。
  • 2:解析错误。这通常发生在解析命令行选项、.wgetrc 文件或 .netrc 文件时。这可能是因为文件格式不正确、文件不存在或文件包含无效的条目。
  • 3:文件 I/O 错误。这表示在尝试读取或写入文件时发生了错误。可能是因为文件权限问题、磁盘空间不足、文件路径不正确或文件系统错误。
  • 4:网络故障。这通常意味着 Wget 无法建立到指定服务器的网络连接。可能是因为服务器不可达、网络配置错误、防火墙阻止了连接或网络中断。
  • 5:SSL 验证失败。当使用 HTTPS 协议时,如果服务器的 SSL 证书无效或不被信任,Wget 会返回此错误。这可能是因为证书已过期、证书颁发机构不受信任或证书链不完整。
  • 6:用户名/密码身份验证失败。这发生在 Wget 尝试使用提供的用户名和密码进行身份验证,但服务器拒绝了这些凭据。可能是因为凭据不正确、账户被锁定或账户不存在。
  • 7:协议错误。这表示 Wget 在尝试与服务器通信时遇到了协议层面的错误。可能是因为服务器不支持请求的协议版本、请求的格式不正确或服务器实现存在错误。
  • 8:服务器发出了错误响应。这通常意味着服务器在处理请求时遇到了问题,并返回了一个 HTTP 错误状态码(如 404 Not Found、500 Internal Server Error 等)。

1.3 实例

# 下载单个文件
wget https://nginx.org/download/nginx-1.24.0.tar.gz# 下载到指定目录
wget -P /opt/ https://nginx.org/download/nginx-1.24.0.tar.gz# 下载到指定目录并重命名
wget -O /opt/nginx.tar.gz https://nginx.org/download/nginx-1.24.0.tar.gz# 递归下载网站
wget -r http://www.baidu.com
ls
haproxy-2.8.5  snap  test  www.baidu.com
ls www.baidu.com/
index.html  robots.txt# 限制下载速度 
wget --limit-rate=200k https://nginx.org/download/nginx-1.24.0.tar.gz# 设置重置次数
wget --tries=10 http://www.example.com/somefile.zip# 设置后台下载
wget -b https://nginx.org/download/nginx-1.24.0.tar.gz
Continuing in background, pid 589607.
Output will be written to ‘wget-log’.
# 如果不设置 -o 或 -a 参数,日志会默认输出到 wget-log# 继续未完成的任务
wget -c https://nginx.org/download/nginx-1.24.0.tar.gz# 下载多个文件
cat a.txt
https://nginx.org/download/nginx-1.24.0.tar.gz
https://nginx.org/download/nginx-1.22.1.tar.gz
wget -i a.txt
####### 输出 ####### 
--2024-03-07 02:37:32--  https://nginx.org/download/nginx-1.24.0.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:5c0:2600::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1112471 (1.1M) [application/octet-stream]
Saving to: ‘nginx-1.24.0.tar.gz’nginx-1.24.0.tar.gz 100%[===================>]   1.06M  23.3KB/s    in 50s2024-03-07 02:38:24 (21.9 KB/s) - ‘nginx-1.24.0.tar.gz’ saved [1112471/1112471]--2024-03-07 02:38:24--  https://nginx.org/download/nginx-1.22.1.tar.gz
Reusing existing connection to nginx.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1073948 (1.0M) [application/octet-stream]
Saving to: ‘nginx-1.22.1.tar.gz’nginx-1.22.1.tar.gz 100%[===================>]   1.02M  21.6KB/s    in 49s2024-03-07 02:39:13 (21.4 KB/s) - ‘nginx-1.22.1.tar.gz’ saved [1073948/1073948]FINISHED --2024-03-07 02:39:13--
Total wall clock time: 1m 41s
Downloaded: 2 files, 2.1M in 1m 39s (21.6 KB/s)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript---lazyload图片懒加载处理_IntersectionObserver

IntersectionObserver API兼容性: 部分代码展示: // 懒加载处理const imgsElem document.querySelectorAll(img);const topElem document.querySelector(#top);// IntersectionObserverconst Observer new IntersectionObserver((entries, observer) …

Redis 大key和热key问题及处理

一、说说什么是Redis、及特点? Redis是一个基于内存存储数据运行并支持持久化、使用key/value形式存储的高性能的nosql数据库,适合用于存储频繁访问,数据量较小的场景下。 特点: 支持数据持久化:可以将内存中的数据保…

STL(C++)

STL:标准模板库,它提供了一系列实现了常见数据结构和算法的模板类和函数。 STL的六大组件 容器 用于存放数据 std::string:字符串类,类比容器 std::vector:单端动态数组。支持随机访问,适合频繁访问元素…

PWARL CTF and others

title: 一些复杂点的题目 date: 2024-03-09 16:05:24 tags: CTF 2024年3月9日 今日习题完成: 1.BUU [网鼎杯 2020 半决赛]AliceWebsite 2.[RoarCTF 2019]Online Proxy 3.[Polar CTF]到底给不给flag呢 4.网鼎杯 2020 总决赛]Game Exp [RoarCTF 2019]Online Proxy …

Java设计模式之代理模式

代理模式是 Java 中常用的设计模式之一,它通过引入一个代理对象来控制对实际对象的访问,从而实现对目标对象的间接访问和控制。代理模式可以用于多种场景,比如权限控制、延迟加载、日志记录等。 在 Java 中,代理模式通常分为静态…

【软件工程导论】——软工学绪论及传统软件工程(学习笔记)

📖 前言:随着软件产业的发展,计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生了很大的变化。这同时也促使人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂&#xf…

X64 页表结构

PML4(Page Map Level 4)是x86-64架构中用于管理虚拟内存地址翻译的四级页表结构之一。它是一种树形结构,由多个页目录表(Page Directory Pointer Table,PDPT)组成,每个PDPT有512个指向下一级页表…

Hololens 2应用开发系列(3)——MRTK基础知识及配置文件配置(中)

Hololens 2应用开发系列(3)——MRTK基础知识及配置文件配置(中) 一、前言二、输入系统2.1 MRTK输入系统介绍2.2 输入数据提供者(Input Data Providers)2.3 输入动作(Input Actions)2…

Date类型及dayjs的使用总结

一、Date() Date数据类型用于处理日期和时间,它可以表示自1970年1月1日00:00:00 UTC(Coordinated Universal Time,国际协调时间)以来的毫秒数。 1.创建Date对象 例如:Tue Oct 31 2023 14:01:33 GMT0800 (中国标准时…

算法刷题day28

目录 引言一、截断数组二、双端队列三、日期统计 引言 这几道题是周赛里的几道题目,第一道题目我没用这种方法,但还是做出来了,用的一种比较特殊的思考方法,就是把每一个点都判断出来,不满足要求的就舍弃,…

【你也能从零基础学会网站开发】Web建站之javascript入门篇 JavaScript事件处理

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 什么是DHTML …

Linux基础命令[16]-head

文章目录 1. head 命令说明2. head 命令语法3. head 命令示例3.1 不加参数3.2 -c(按照字节显示)3.3 -n(按照行数显示)3.4 -v(显示文件名) 4. 总结 1. head 命令说明 head:用来显示文件开头&…

Linux认识与学习BASH

Linux认识与学习BASH 认识BASH这个Shellshell是什么系统的合法shell与/etc/shells功能Bash Shell的功能查询命令是否为Bash shell 的内置命令(type)命令的执行与快速编辑按钮 shell的变量功能什么是变量?变量的使用与设置:echo、变量设置规则、unset环境…

springboot网页时装购物系统链接

链接:https://pan.baidu.com/s/1mCmCSbqUCv48_a6wiLBdJg?pwdfalz 提取码:falz 2600套项目源码 https://kdocs.cn/l/cuAdxEBfLiqA 工作室精心制作,包括小程序项目,springboot项目,传统ssm项目,前后端分离项目。你可以用来制作自…

Stable Diffusion 模型下载:Comic Babes(漫画宝贝)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 条目内容类型大模型基础模型SD 1.5来源CIVITAI作者datmuttdoe文件名称comicBabes_v2.safet…

20240311 大模型快讯

//社区生态// 零一万物自研全导航图向量数据库。零一万物宣布推出基于全导航图的新型向量数据库笛卡尔(Descartes),已包揽权威榜单 ANN-Benchmarks 6 项数据集评测第一名。 //语言大模型// 清华发布大模型长文本理解方法InfLLM。InfLLM在没…

如何用 RAG 技术玩转文档问答?Milvus × 网易有道 QAnything 为你揭秘!

过去一年,RAG 在技术层面发展迅速,为向量数据库赛道添了一把火。RAG 和向量数据库的结合,能够有效解决幻觉、时效性差、专业领域知识不足等阻碍大模型应用的核心问题。 不久前,网易有道开源了自研的 RAG 引擎 QAnything。用户的任…

Q学习(Q-Learning)

Q学习是一种强化学习算法,用于指导代理(Agent)在给定环境中如何采取最优行动。它通过学习状态中的行动价值来实现,属于从与环境的交互中学习,通过尝试和错误,以实现目标的机器学习算法。 下面是Q学习工作原…

突破次元壁!体验数字人的神秘世界

在这个繁忙的城市,人们的生活总是充满了压力和焦虑。他们似乎总是在追寻着什么,却又不知道自己究竟在追寻什么。在这个看似平凡的世界里,隐藏着一个神秘的数字人世界。 这个数字人世界并不是虚构的,而是我们无法触及的另一个维度…

CUDA入门之统一内存

原文来自CUDA 编程入门之统一内存 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质…