视窗苹果电脑软件设置安全生产力Linux安卓性能配置苹果自定义设备管理iPhone设置 全部

如何在Linux上使用wget和curl命令

已编辑 3 几周前 通过 ExtremeHow 编辑团队

命令行网络HTTP请求文件传输下载工具脚本自动化网页工具

如何在Linux上使用wget和curl命令

翻译更新 3 几周前

Linux是一种功能强大的操作系统,广泛用于各种任务。通过命令行与网络交互的两种最常用的工具是wgetcurl。对于需要从终端直接下载文件、发出HTTP请求或与互联网资源交互的人来说,这些工具是必不可少的。本指南将向您介绍wgetcurl命令的基础知识,讨论它们的区别,并向您展示如何有效地使用它们。

Wget:入门

wget是一个命令行实用程序,允许您从网络下载文件。它支持HTTP、HTTPS和FTP协议,使其成为与网络资源交互的多功能工具。要开始,您首先需要检查wget是否已安装在您的Linux系统上。打开终端并输入:

wget --version

如果wget已安装,您将看到其版本号。如果没有安装,您可以使用发行版的包管理器进行安装。例如,在Ubuntu或Debian上,使用:

sudo apt-get install wget

在Fedora上,使用:

sudo dnf install wget

wget的基本用法

一旦wget安装完毕,您可以使用它来下载文件。使用wget的最简单方法是键入命令,后跟您要下载的文件的URL:

wget http://example.com/file.txt

此命令将从http://example.com下载file.txt并将其保存到当前目录。wget使用当前目录作为保存文件的基本目录,除非另有说明。

使用wget恢复下载

wget最有用的功能之一是能够恢复暂停的下载。如果您的下载被中断,您可以使用-c选项恢复它:

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

如果largefile.zip已经部分下载,此命令将恢复其下载。

使用wget下载多个文件

要使用wget下载多个文件,您可以使用包含所有要下载的URL列表的文本文件。例如,创建一个名为urls.txt的文件,其中包含文件的URL,然后使用-i选项将其传递给wget

wget -i urls.txt

此命令将下载urls.txt中列出的每个文件。

使用wget递归下载

wget还支持递归下载,这在镜像整个网站时非常有用。要使wget递归下载文件,使用-r选项:

wget -r http://example.com

此命令将下载指定网页中链接的所有文件,链接深度默认为5。

使用wget限制下载速度

有时,您可能想限制下载速度以避免消耗过多带宽。您可以使用--limit-rate选项限制下载速度:

wget --limit-rate=100k http://example.com/file.iso

此命令将以每秒钟最多100千字节的速度下载文件。

Curl:入门

curl是另一种允许您与网络资源交互的命令行工具。它比wget更灵活,尤其是在执行简单的文件下载之外的请求时。要检查curl是否已安装,请键入:

curl --version

如果curl未安装,您可以使用以下命令安装:

对于Ubuntu或Debian:

sudo apt-get install curl

对于Fedora:

sudo dnf install curl

curl的基本用法

curl最简单的用法是将URL的内容直接显示在终端中。您可以通过键入以下内容来实现:

curl http://example.com

该命令将从http://example.com获取内容,并在终端窗口中显示。

使用curl下载文件

wget不同,curl默认不会保存文件。要将输出保存到文件,请使用-o选项,后跟所需的文件名:

curl -o file.txt http://example.com/file.txt

此命令将下载file.txt并将其保存为当前目录中的file.txt

使用curl重新启动下载

要使用curl恢复部分下载的文件,请使用-C -选项:

curl -C - -o file.txt http://example.com/file.txt

此命令将重新启动下载并从您上次退出的地方继续。

使用curl进行HTTP请求

curl在进行HTTP请求时非常强大,能够处理多种请求类型,例如POST、PUT、DELETE等。要进行GET请求(这是默认的),您可以简单地键入:

curl http://api.example.com/data

对于POST请求,您可以使用-d选项发送数据:

curl -d "param1=value1¶m2=value2" http://api.example.com/post

这将发送包含参数param1param2的POST请求。

使用curl的请求头

curl允许您向请求添加自定义头,这在与API交互时非常有用。使用-H选项包含头:

curl -H "Authorization: Bearer token" http://api.example.com/data

此命令添加一个带有验证令牌的Authorization头。

使用wget和curl的代理

在进行请求时,wgetcurl都可以使用代理服务器。对于wget,您可以通过配置http_proxyhttps_proxy环境变量来设置代理:

export http_proxy="http://proxyaddress:port"
wget http://example.com/file.txt

对于curl,您可以使用-x选项指定代理:

curl -x http://proxyaddress:port http://example.com/file.txt

总结

在Linux中,通过命令行与网络资源交互,wgetcurl都是极其有用的工具。wget非常适合直接下载文件,并支持递归下载等功能,而curl在与网络服务交互和处理不同类型的HTTP请求时提供更大的灵活性。充分了解如何有效使用这些工具可以大大提升您在处理Linux命令行时的工作流程和生产力。

总之,掌握wgetcurl命令对于经常与网络交互的用户来说是一种宝贵的资产。无论是下载文件、访问API还是从网站抓取数据,这些工具都提供了从终端直接实现目标的强大机制。

如果你发现文章内容有误, 您可以


评论