Linux下载工具wget与curl

简介: `wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。

wget

wget是一个专门用于从网络上下载文件的命令行工具。它支持HTTP、HTTPS和FTP等多种协议,能够自动处理下载中断,并且支持递归下载整个网站的内容。

基本下载

wget最基本的用法就是直接输入文件的URL地址,它就会开始下载文件。例如:

wget https://example.com/file.zip

这条命令会让wget从https://example.com/网站上下载名为file.zip的文件。

指定文件名和目录

下载时,如果你想给文件换个名字或者保存到特定的目录,可以告诉wget你想用的新名字或者目录。例如:

wget -O newname.zip https://example.com/file.zip  # 更改文件名
wget -P /path/to/directory https://example.com/file.zip  # 指定下载目录

断点续传

如果下载过程中因为某些原因中断了,wget可以帮你从中断的地方继续下载,而不是重新开始。这叫做“断点续传”。你只需要再次运行相同的命令,加上-c选项。例如:

wget -c https://example.com/largefile.zip

限速下载

在网络环境不佳或需要节约带宽的情况下,你可以使用--limit-rate选项来限制wget的下载速度。例如:

wget --limit-rate=100k https://example.com/largefile.zip

这里的100k表示限制下载速度为100KB/s。

递归下载

wget还可以递归下载一个网站的所有内容,并保留站点的目录结构。这对于备份网站或下载静态资源非常有用。使用-r选项即可开启递归下载模式。例如:

wget -r https://example.com/

这条命令会让wget下载https://example.com/网站上的所有内容。

curl

curl是一个功能强大的命令行工具,它不仅可以用于下载文件,还可以发送各种类型的HTTP请求(如GET、POST、PUT、DELETE等),支持表单提交、文件上传以及处理复杂的认证和cookie等。

基本下载

和wget一样,curl也可以用于下载文件。使用-o选项可以指定下载后的文件名。例如:

curl -o file.zip https://example.com/file.zip

这条命令会让curl从https://example.com/网站上下载名为file.zip的文件,并将其保存为file.zip

发送HTTP请求

curl最强大的功能之一是它可以发送各种类型的HTTP请求。默认情况下,curl发送的是GET请求。例如:

curl https://example.com/api

这条命令会向https://example.com/api发送一个GET请求,并返回服务器响应的内容。

如果你想发送POST请求,可以使用-X POST选项,并通过-d选项添加请求体。例如:

curl -X POST -d "param1=value1&param2=value2" https://example.com/api

这条命令会向https://example.com/api发送一个POST请求,并传递param1=value1&param2=value2作为请求体。

添加请求头和cookie

在使用curl发送HTTP请求时,你可能需要添加自定义的请求头或cookie。使用-H选项可以添加请求头,使用-b--cookie选项可以添加cookie。例如:

curl -H "User-Agent: Mozilla/5.0" https://example.com/api  # 添加请求头
curl --cookie "name=value" https://example.com/api  # 添加cookie

处理文件上传

curl还支持文件上传功能。使用-F选项可以指定要上传的文件。例如:

curl -F "file=@/path/to/file.zip" https://example.com/upload

这条命令会向https://example.com/upload上传一个名为file.zip的文件。

显示响应头信息

如果你想查看服务器返回的响应头信息,可以使用-I选项。这个选项会让curl只发送HTTP HEAD请求,并返回响应头信息而不获取响应体。例如:

curl -I https://example.com/api

断点续传下载文件

虽然curl主要用于发送HTTP请求,但它也支持断点续传下载文件。使用-C -选项可以在中断的地方继续下载。不过需要注意的是,这个功能在某些情况下可能不如wget稳定。例如:

curl -C - -O https://example.com/largefile.zip

这条命令会让curl从中断的地方继续下载largefile.zip文件。

目录
相关文章
|
1天前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
26 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
3天前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
47 18
|
22天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
116 25
|
12天前
|
人工智能 Linux iOS开发
Linux下搭建本地deepseek(附文档下载)
本文介绍了在Linux上搭建本地DeepSeek的步骤。主要涉及安装ollama、下载deepseek模型(1.5b参数版本)和配置ChatboxAI客户端。通过命令行安装ollama后,使用`ollama run deepseek-r1:1.5b`下载模型,并配置环境变量以确保服务正常运行。最后,通过ChatboxAI与模型进行交互。整个过程适合初学者,服务器配置为4核CPU和8GB内存,无GPU,响应速度稍有延迟但可接受。相关资源链接已提供。
96 2
|
24天前
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
33 4
|
7月前
|
Web App开发 Linux 数据安全/隐私保护
Linux curl命令详解
Linux curl命令详解
|
JSON 网络协议 Linux
说说 Linux 的 curl 命令
cURL,熟悉 Linux 的同学,没有人不知道这个命令吧:)我从实用性的角度,说下我比较常用的几个参数。
108 2
|
JSON Linux 网络安全
Linux - curl 命令(下)
Linux - curl 命令(下)
1627 0
Linux - curl 命令(下)
|
Linux 测试技术 网络安全
Linux - curl 命令(上)
Linux - curl 命令(上)
852 0
Linux - curl 命令(上)
|
Linux
Linux:curl常用命令
Linux:curl常用命令
165 0