linux 下载命令 wget -curl

Linux下wget和curl两个命令行工具的文件下载方法 本文详细介绍了Linux下wget和curl两个命令行工具的文件下载方法。wget作为专业下载工具,支持断点续传(-c参数)、限速下载(--limit-rate)等实用功能,操作简洁直观;curl则更侧重多功能传输,支持多种协议(HTTP/HTTPS/FTP等),断点续传需使用-C-参数。两者均依赖服务器支持Range请求实现续传功能,使用时需保持文件名一致。文章还涵盖高级配置(代理、请求头设置)、常见问题解决方案及工具选择建议,wget适合简单下载任务,curl则适用于复杂网络操作场景。 阅读详情
 

用WGET下载整个网站来自http://www.pipc.net/Article/JSJJS/linuxJS/2010/12/21/1729163750.html  





可以使用下面的命令 wget -r -p -k -np http://www.163.com/, -r 表示递归下载,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,wget也会把别的网站的东西下载下来,由于互联网的特性,很有可能你会把整个互联网给下载下来 --,所以要加上 -np这个参数,表示不下载别的站点的链接. -k表示将下载的网页里的链接修改为本地链接.-p获得所以显示网页所需的元素,比如图片什么的.
另外还有其他的一些参数可以使用:

-c表示断点续传

-t 100表示重试100次,-t 0表示无穷次重试

另外可以将要下载的url写到一个文件中,每个url一行,使用这样的命令 wget -i download.txt.

--reject=avi,rmvb 表示不下载avi,rmvb的文件,--accept=jpg,jpeg,表示只下载jpg,jpeg的文件.

可以在用户目录下建立一个.wgetrc的文件(windows里面好像不能直接建立这样的文件,windows会认为没有文件名--),里面写上 http-proxy = 123.456.78.9:80,然后在加上参数 --proxy=on,如果需要密码,再加上下面的参数 --proxy-user=username, --proxy-passwd=password


A。使用wget工具

linux所以的主要版本都自带了wget这个下载工具.

bash$ wget http://place.your.url/here

它还能控制ftp来下载整个web站点的各级目录,当然,如果你不小心,可能会把整个网站以及其他和他做链接的网站全部下载下来.

bash$ wget -m http://target.web.site/subdirectory

由于这个工具具有很将的下载能力,所以可以在服务器上把它用作镜像网站的工具.让它按照”robots.txt”的规定来执行.

有很多参数用来控制它如何正确地做镜像,可以限制链接的类型和下载文件的类型等等.例如:只下载有联系的链接并且忽略GIF图片:

bash$ wget -m -L –reject=gif http://target.web.site/subdirectory

wget也能够实现端点续传(-c参数),当然,这种操作是需要远程服务器支持的.

bash$ wget -c http://the.url.of/incomplete/file

可以把端点续传和镜像功能结合起来,这样可以在以前断过多次的情况下继续镜像一个有大量选择性文件的站点.如何自动实现这个目的我们在后面会讨论得更多.

如果你觉得下载时老是断线会影响你办公的话,你可以限制wget重试的次数.

bash$ wget -t 5 http://place.your.url/here

这样重试五次后就放弃了.用”-t inf”参数表示永远不放弃.不停地重试.

B.那对于代理服务该怎么办呢?

可以使用http代理的参数或者在.wgetrc配置文件里指定一个如何通过代理去下载的途径.但是有这么一个问题,

如果通过代理来进行端点续传的话可能会有几次失败.如果有一次通过代理下载的过程发生中断,那么代理服务器上缓存里保存是那个完整的

文件拷贝.所以当你用”wget -c”来下载剩余部分的时候代理服务器查看它的缓存,并错误地认为你已经下载了整个文件.于是就发出了错误的信号.

这个时候你可以用添加一个特定的请求参数来促使代理服务器清除他们的缓存:

bash$ wget -c –header=”Pragma: no-cache” http://place.your.url/here

这个”–header”参数能够以各种数字,各种方式添加。通过它我们可以更改

web服务器或者代理服务器的某些属性。有些站点不提供外部连接的文件服务,只有通过同一个站点上其他的一些页面时内容

才会被提交。这个时候你可以用加上”Referer:”

参数:

bash$ wget –header=”Referer: http://coming.from.this/page” http://surfing.to.this/page

有些特殊的网站只支持某种特定的浏览器,这个时候可以用”User-Agent:”参数

bash$ wget –header=”User-Agent: Mozilla/4.0 (compatible; MSIE 5.0;Windows NT; DigExt)” http://msie.only.url/here

C.那我怎么设定下载时间呢?

如果你需要在你的办公电脑上通过和其他同事共享的一个连接来下载一些很大的文件,而且你希望你的同事不会因为网络速度的减慢而收到影响,

那你就应该尽量避开高峰时段。当然,不需要在办公室里等到所以人都走掉,也不需要在家里用完晚饭后还惦记着要上网下载一次。

用at来就可以很好的定制工作时间:

bash$ at 2300

warning: commands will be executed using /bin/sh

at> wget http://place.your.url/here

at> press Ctrl-D

这样,我们设定了下载工作在晚上11点进行。为了使这个安排能够正常进行,请确

认atd这个后台程序正在运行。

D.下载要花很多时间?

当你需要下载大量的数据,而且你又没有享有足够的带宽,这个时候你会经常发现在你安排的下载任务还没有完成,一天的工作却又要开始了。

作为一个好同事,你只能停掉了这些任务,而开始另外的工作。然后你又需要反复地重复使用”wget -c”来完成你的下载。这样肯定太繁琐了,

所以最好是用crontab来自动执行。创建一个纯文本文件,叫做”crontab.txt”,包含下面的内容:

0 23 * * 1-5 wget -c -N http://place.your.url/here

0 6 * * 1-5 killall wget

这个crontab文件指定某些任务定期地执行。前五列声明是什么时候执行这个命令,而每行的剩余部分则告诉crontab执行什么内容。

前两列指定了每天一到晚上11点就开始用wget下载,一到早上6点就停止一切wget

下载。第三四列的*表示每个月的每一天都执行这个任务。第五列则指定了一个星期的哪几天来执行这个程序。 –”1-5″表示从星期一

到星期五。

这样在每个工作日的晚上11点,下载工作开始,到了上午的6点,任何的wget任务

就被停掉了。你可以用下面的命令来执行crontab:

bash$ crontab crontab.txt

wget的这个”-N”参数将会检查目标文件的时间戳,如果匹配了,下载程序就会停止,因为它说明整个文件已经下载完全了。

用”crontab -r”可以删除这个计划安排。我已经多次采用这种方法,通过共享的电话拨号来下载过很多的ISO镜像文件,还是

比较实用的。

E.如何下载动态变化的网页

有些网页每天都要根据要求变化好几次.所以从技术上讲,目标不再是一个文件,它没有文件长度.因此”-c”这个参数也就失去了意义.

例如:一个PHP写的并且经常变动的linux周末新闻网页:

bash$ wget http://lwn.net/bigpage.php3

我办公室里的网络条件经常很差,给我的下载带了很大的麻烦,所以我写了个简单的脚本来检测动态页面是否已经完全更新了.

#!/bin/bash

#create it if absent

touch bigpage.php3

#check if we got the whole thing

while ! grep -qi bigpage.php3

do

rm -f bigpage.php3

#download LWN in one big page

wget http://lwn.net/bigpage.php3

done

这个脚本能够保证持续的下载该网页,直到网页里面出现了”",这就表示该文件已经完全更新了.



F.对于ssl和Cookies怎么办?

如果你要通过ssl来上网,那么网站地址应该是以”https://”来开头的.在这样的情况下你就需要另外一种下载工具,叫做curl,它能够

很容易获得.有些网站迫使网友在浏览的时候必须使用cookie.所以你必须从在网站上得到的那个Cookie里面得到”Cookie:”这个参数.这样才

能保证下载的参数正确.对于lynx和Mozilla的Cookie的文件格式,用下面的:

bash$ cookie=$( grep nytimes ~/.lynx_cookies |awk {printf(”%s=%s;”,$6,$7)} )

就可以构造一个请求Cookie来下载http://www.nytimes.com上的内容.当然,你要已经用这个浏览器在该网站上完成注册.

w3m使用了一种不同的,更小巧的Cookie文件格式:

bash$ cookie=$( grep nytimes ~/.w3m/cookie |awk {printf(”%s=%s;”,$2,$3)} )

现在就可以用这种方法来下载了:

bash$ wget –header=”Cookie: $cookie” http://www.nytimes.com/reuters/technology/tech-tech-supercomput.html

或者用curl工具:

bash$ curl -v -b $cookie -o supercomp.html http://www.nytimes.com/reuters/technology/tech-tech-supercomput.htm

G.如何建立地址列表?

到现在为止我们下载的都是单个文件或者是整个网站.有的时候我们需要下载某个网页上链接的大量文件,但没有必要把它整个网站

都镜像下来.比如说我们想从一个依次排列的100首歌里面下载前20首.注意,这里”–accept”和”–reject”参数是不会

起作用的,因为他们只对文件操作起作用.所以一定要用”lynx -dump”参数来代替.

bash$ lynx -dump ftp://ftp.ssc.com/pub/lg/ |grep gz$ |tail -10 |awk {print $2} > urllist.txt

lynx的输出结果可以被各种GNU文本处理工具过虑.在上面的例子里,我们的链接地址是以”gz”结尾的,并且把最后10个文件地址放到

urllist.txt文件里.然后我们可以写一个简单的bash脚本来自动下载这个文件里的目标文件:

bash$ for x in $(cat urllist.txt)

> do

> wget $x

> done

这样我们就能够成功下载Linux Gazette网站(ftp://ftp.ssc.com/pub/lg/)上的最新10个论题.



H.扩大使用的带宽

如果你选择下载一个受带宽限制的文件,那你的下载会因为服务器端的限制而变得很慢.下面这个技巧会大大缩短下载的过程.但这个技巧

需要你使用curl并且远程服务器有多个镜像可以供你下载.例如,假设你想从下面的三个地址下载Mandrake 8.0:

url1=http://ftp.eecs.umich.edu/pub/linux/mandrake/iso/Mandrake80-inst.iso

url2=http://ftp.rpmfind.net/linux/Mandrake/iso/Mandrake80-inst.iso

url3=http://ftp.wayne.edu/linux/mandrake/iso/Mandrake80-inst.iso

这个文件的长度是677281792个字节,所以用curl程序加”–range”参数来建立三个同时进行的下载:

bash$ curl -r 0-199999999 -o mdk-iso.part1 $url1 &

bash$ curl -r 200000000-399999999 -o mdk-iso.part2 $url2 &

bash$ curl -r 400000000- -o mdk-iso.part3 $url3 &

这样就创建了三个后台进程.每个进程从不同的服务器传输这个ISO文件的不同部分.这个”-r”参数指定目标文件的字节范围.当这三个

进程结束后,用一个简单的cat命令来把这三个文件衔接起来– cat mdk-iso.part? > mdk-80.iso.(强烈建议在刻盘之前先检查md5)

你也可以用”–verbose”参数来使每个curl进程都有自己的窗口来显示传输的过程.

结束语

不用担心使用非交互式的下载方式会影响你的下载效果.无论网站设计者如何绞尽脑汁想阻止我们从他们的网站下载,我们都可以得到

免费的工具来自动完成下载任务.这会大大丰富我们的网络经历.
Linux VPS命令行下载全指南:wget/curl/rsync/aria2实战选型与避坑 在无图形界面的Linux服务器环境中,'下载'并非简单点击动作,而是涉及协议支持、网络可靠性、权限控制与安全校验的系统性工程。理解HTTP/HTTPS、FTP、SFTP等基础传输协议原理,是选择wget(专注稳健下载)、curl(灵活请求控制)、rsync(智能增量同步)或aria2(多线程加速)的前提;其技术价值在于保障大文件断点续传、跨服务器高效同步及自动化脚本集成能力。典型应用场景包括VPS初始化部署、远程备份拉取、CI/CD资源获取及嵌入式固件分发。本文聚焦真实生产环境中的linux vps dow 阅读详情

相关推荐

linux之下载文件或测试网络常用命令(curl和wget)

1 问题 在自己的设备上测试网络 2 解决办法 1)使用wget命令(主要用来下载文件或测试网络) 一般用使用 wget www.baidu.com 效果如下: wget www.baidu.com --2018-12-04 23:48:23-- http://www.baidu.com/ Res...

码莎拉蒂 9713

wget使用小结

linux所以的主要版本都自带了wget这个下载工具.bash$ wget http://place.your.url/here它还能控制ftp来下载整个web站点的各级目录,当然,如果你不小心,可能会把整个网站以及其他和他做链接的网站全部下载下来.bash$ wget -m http://target.web.site/subdirectory由于这个工具具有很将的下载能力,所以

wen287877566的专栏 657

Carla自动驾驶仿真一:快速安装与运行Carla

网上有不少的Windows版本的Carla的安装教程,这里简单记录下自己安装过程,写的也比较详细,基本不用看其他文章。

zataji的博客 2万+

【免费下载】 wscat 安装和配置指南

### 项目基础介绍 `wscat` 是一个用于测试 WebSocket 服务器的命令行工具。它允许开发者通过命令行与 WebSocket 服务器进行交互,发送和接收消息,非常适合用于调试和测试 WebSocket API。 ### 主要编程语言 `wscat` 项目主要使用 **JavaScript** 编写,依赖于 Node.js 环境。 ## 2. 项目使用的关键技术和框架 ### 关...

gitblog_09131的博客 2808

手把手带你搞懂电压跌落测试DIP

砖一用4分钟时间手把手带你搞懂电压跌落测试DIP,希望对你有用~

qq_45508321的博客 7917

麒麟信安3.3-6C电网版虚拟机安装避坑指南:从ISO下载到SSH配置全流程

本文提供麒麟信安3.3-6C电网版虚拟机的详细安装与配置指南。针对电力行业仿真测试需求,重点解析从ISO镜像获取、虚拟机环境准备、安装过程中的三大“雷区”(如多管理员密码逻辑、分区方案、网络配置)到首次启动后的网络、SSH及root策略配置的全流程避坑要点,帮助技术人员高效、安全地完成部署。

rainy的博客 854

linux 下载 命令:wget、curl、httpx、httpie、网络测速

linux 下载 命令:wget、curl、网络测速

freeking101的博客 6万+

CloudSat卫星数据高效下载与自动化处理指南

本文详细介绍了CloudSat卫星数据的高效下载与自动化处理方法,包括交互式图形界面和wget批量下载技巧,以及使用Python脚本实现自动化处理和数据质量控制。内容涵盖从数据准备到实战应用的完整流程,特别适合气象研究和气候建模领域的工作者提升工作效率。

weixin_28700411的博客 233

Docker Homeassistant安装HACS遇到的问题

安装执行: wget -O - https://get.hacs.xyz | bash - 遇到地址(0.0.0.0): Connecting to get.hacs.xyz (172.67.132.174:443) Connecting to raw.githubusercontent.com (0.0.0.0:443) wget: can't connect to remote host (0.0.0.0): Connection refused 或者是Invalid argument:

weixin_53632096的博客 1万+

MATPOWER下载安装教程

将MATPOWER文件复制在C:\Program Files (x86)\MATLAB\R2016b\bin目录下。原来的窗口中多了很多文件路径,点击【保存】,再点击【关闭】选择所要添加的MATPOWER文件夹,点击【选择文件夹】二、将MATPOWER放在bin目录下。找到菜单栏的【设置路径】点击【添加并包含子文件】一、从官网下载后解压。

weixin_47365903的博客 2万+

如何用Lmcache+vllm优化KVcache存储?CPU与SSD性能实测对比

本文通过实测对比,详细介绍了如何利用Lmcache+vLLM将大模型推理中的KV Cache卸载至CPU内存或SSD硬盘,以解决长上下文场景下的GPU显存瓶颈。测试数据显示,CPU卸载方案在首字延迟(TTFT)上显著优于SSD方案,但SSD方案在存储成本上更具优势。文章提供了完整的配置指南、性能数据分析和生产环境选型建议。

fire9的博客 985

home assistant使用指令手动安装hacs

使用指令直接从GitHub上获取资源,确保自己的网络能够访问到GitHub。你需要有一个GitHub账号。

我的博客都是开放的,优快云老是会将文章设置成VIP可见,如果有请提醒我关闭 8189

C#上位机性能优化全攻略:彻底解决界面卡顿+多线程死锁+PLC数据延迟,产线实测稳定运行2年

一开始我们用的是网上找的零散优化代码,根本满足不了要求,后来花了2个月的时间,把之前27条产线的代码整理、重构、优化,做了一套这套方案上线后,连续稳定运行2年零3个月:界面响应时间稳定在50ms以内,多线程死锁率持续为0,PLC数据延迟稳定在150ms以内,系统可用率≥99.99%,帮客户一年省下了超过480万的停线损失、罚款损失和人工成本,客户第二年就把剩下的22条产线也全部交给我们做了,还介绍了3家同行。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 293

linux 下载 命令 wget 和 curl

From:http://www.jb51.net/LINUXjishu/86326.html From :Linux curl 命令详解 - http://www.cnblogs.com/duhuo/p/5695256.html Linux curl 命令参数详解:http://www.aiezu.com/system/linux/linux_curl...

墨鱼菜鸡 2145

MIKE 21 教程 1.2 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具)

MIKE 21 教程 手把手教学系列 1.1 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具) ​ 上一篇文章讲解了如何创建基本的点、线、面要素 MIKE 21 教程 1.1 网格搭建界面介绍之点线面的创建 本节来讲一下对点线面要素的高阶处理,主要包括要素修改与打断线(break line)的讲解 ​

Hello Word 4148

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Linux wget命令下载文件,curl命令发起网络请求】

命令用于发起HTTP请求并显示服务器的响应。命令用于从网络下载文件。例如,要下载一个名为。

武帝为此的博客 2565

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Linux常用命令之文件下载wget、curl

当想要直接通过 Linux 命令行下载文件,马上就能想到两个工具:wget 和 curl。它们有很多一样的特征,可以很轻易的完成一些相同的任务,虽然它们有一些相似的特征,但它们并不是完全一样。这两个程序适用与不同的场合,在特定场合下,都拥有各自的特性。curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget由于支持ftp和Recursive所以在下载文件方面更擅长。 wget 简单...

weixin_40584261的博客 3034

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

linux下下载文件的常用命令wget,curl等使用方法及使用示例

在 Linux 操作系统中,有许多下载文件的工具可供选择。这些工具包括命令行工具和图形界面工具,每个工具都有其自身的特点和用途。

zrc_xiaoguo的博客 1万+

Linux | (WGET、Curl、Aria2、Axel)的最佳命令行下载加速工具【详解】

简介: 在远程服务器或者本地工作时,您可能经常需要从外部源获取内容。要获得这样的内容,特别是当您没有其他选项时,您将需要使用Linux命令行工具来完成这项工作。 在本篇文章当中,我们将介绍一些最常用的通过Linux下命令行下载内容的工具。 测试环境为Ubuntu18.04 LTS Wget 我们将从一个名为wget的最流行的工具开始。它是一个网络实用程序,可用于通过HTTP,HTT...

BLXH-AS 1万+

蓝易云:Linux下批量下载文件命令curl或者wget命令使用教程

在Linux系统下,可以使用curl或者wget命令来进行批量下载文件。这两个命令都是常用的用于网络数据传输的工具,可以用于下载文件、访问API等。使用curl或wget命令进行批量下载文件可以提高效率和便捷性,同时注意合法使用,以确保不违反相关规定和法律。

高性价比服务器就选:蓝易云 2464

蓝易云 - Linux下批量下载文件命令curl或者wget命令使用教程

在Linux系统下,可以使用curl或者wget命令来进行批量下载文件。这两个命令都是常用的用于网络数据传输的工具,可以用于下载文件、访问API等。使用curl或wget命令进行批量下载文件可以提高效率和便捷性,同时注意合法使用,以确保不违反相关规定和法律。

高性价比服务器就选:蓝易云 723

一文掌握 curl 与 wget:Linux 命令行下载利器的区别与实战

curl和wget是 Linux 命令行李不可替代的两件工具。curl更像一个全能的数据传输与调试工具,而wget则是专注于“下载”这件事的行家。掌握两者的核心参数与使用边界,能让你在编写脚本、排查网络问题、维护服务器时事半功倍。建议把本文中的命令保存到个人命令速查表,以后遇到“下载文件、调试接口”时,就能快速选出最合适的工具。

qq_21318849的博客 24

终极Linux命令行下载工具:curl与wget实用指南

在Linux系统中,curl与wget是两款功能强大的命令行下载工具,它们能帮助用户轻松获取网络资源、管理文件传输任务。无论是日常文件下载、自动化脚本编写还是系统维护,这两款工具都能提供高效可靠的支持。本文将详细介绍curl与wget的核心功能、实用技巧和最佳实践,帮助新手快速掌握这两个必备工具。 ## 快速安装与基础配置 ### 一键安装步骤 在大多数Linux发行版中,curl和wget通

gitblog_00022的博客 1123

蓝易云服务器 - Linux下批量下载文件命令curl或者wget命令使用教程

在Linux系统下,可以使用curl或者wget命令来进行批量下载文件。这两个命令都是常用的用于网络数据传输的工具,可以用于下载文件、访问API等。使用curl命令:curl是一个功能强大的工具,可以使用以下方式进行批量下载文件:下载单个文件:登录后复制 curl -O <URL>1.示例:登录后复制 cu...

weixin_40561765的博客 221

Linux:命令ping、wget、curl进行网测试网络联通、下载、发起网络请求

curl直接加地址是进行网络请求:比如curl www.baidu.com 这将会给你返回这个网页的html源码。这里的网址必须是某个可下载文件的绝对路径。-O时,与wget一样是进行网络下载的。​ Linux:命令ping、wget、curl进行网测试网络联通、下载、发起网络请求 ping: 使用ping命令的前提需要设置好:ip,网关,dns等等。 这里的网址必须是某个可下载文件的绝对路径。 curl直接加地址是进行网络请求:比如curl www.baidu

srhqwe的博客 1843

分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel 本文介绍常用的几种命令行式的下载工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel 下面就为大家详细介绍一下这些工具。 1.Wget Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认

IT全栈 华强工作室 5万+
上一篇: 简单建立个人WEB网站
下一篇: You don't have permission to access /~whpc on this server.
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值