如何在命令行上使用curl和wget在Debian上下载文件
与 GUI 相比,使用 Linux 命令行为您提供了更大的灵活性和控制力。命令行有很多用途,广泛用于服务器管理。您可以使用命令行自动执行任务,而且它比 GUI 使用更少的资源。使用命令行下载文件也更容易、更快捷,因为与 GUI 相比,它只需要一个命令,而 GUI 大多需要长步骤过程。
在本文中,我们将解释如何使用 Linux 命令行使用两种不同的实用程序下载文件。两者都是免费实用程序,用于从网络上以非交互式方式下载文件。即使您未登录,这些实用程序也会在后台运行。
我们将使用 Debian 10 来描述本文中提到的过程。
方法#1 使用 Curl 下载文件
Curl 是一个命令行实用程序,用于与服务器之间传输文件。我们可以使用它从网络下载文件。它的设计方式使您无需用户交互即可运行它。它支持各种协议,包括HTTP、HTTPS、TELNET、SCP、FTP等。Debian操作系统中不默认安装它。因此,我们必须先安装它。为此,请按照以下步骤操作:
安装卷曲
在 Debian 中启动终端应用程序。为此,请转到桌面左上角的活动选项卡。然后在搜索栏中输入terminal。当终端图标出现时,单击它来启动它。
在终端中,键入以下命令以切换到超级用户帐户。
su
当提示输入密码时,输入超级用户密码。
然后在终端中运行以下命令来安装 Curl 实用程序。
apt install curl
安装完成后,我们就可以使用Curl来下载文件了。
CURL 的一般语法:
要使用 Curl 下载文件,请在终端中使用以下语法:
curl [options] [URL]
使用[选项]参数,您可以指定各种功能,例如,使用特定名称保存下载、恢复下载、指定传输速率等等。
使用[URL]参数,您可以指定远程服务器的URL。
使用源文件名下载并保存文件
要下载并保存与源文件名同名的文件,请使用以下语法:
curl –O [URL]
一个例子是:
curl -O https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
它将把下载的文件保存为 debian-10.0.0-amd64-DVD-1.iso。
或者,您也可以指定“--remote-name”而不是-O,将文件保存为远程文件名。
下载并使用不同的名称保存文件
要下载并使用与源文件名不同的名称保存文件,请使用以下语法:
curl [URL] –o [filename]
在[文件名]参数中,为下载的文件指定一个新名称。
一个例子是:
curl https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso -o debian.iso
它将把下载的文件保存为debian.iso。
同时下载多个文件
您可以通过运行单个命令同时下载所有文件,而不是逐个下载多个文件。要同时下载多个文件,请使用 –O,后跟您要下载的文件的 URL。
为此,请使用以下语法:
curl -O [URL1] -O [URL2]
一个例子是:
curl -O https://www.debian.org/doc/manuals/debian-reference/debian-reference.en.pdf -O https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
上面的命令将下载这两个文件。
有一种替代方法可以做到这一点。指定文件中的 URL 列表,然后按以下语法使用 Curl 命令和 xargs:
xargs –n 1 curl –O < [filename]
一个例子是:
xargs –n 1 curl –O < files.txt
我们的 files.txt 文件包含两个 URL:
上面的 Curl 命令将下载 files.txt 文件中指定的所有 URL。
从 FTP 服务器下载文件
我们还可以使用 Curl 实用程序从 FTP 服务器下载文件。为此,请使用以下语法在终端中运行命令:
curl -u ftp_user:ftp_pass -O ftp://ftp_url/file_name.zip
ftp_user和ftp_pass参数用于指定FTP登录凭据。但是,如果是匿名 FTP 连接,您可以跳过这些。
暂停和恢复下载
您还可以恢复已手动或由于其他原因暂停的下载。要手动暂停下载,请使用Ctrl+C。
要恢复暂停的下载,请导航到之前下载文件的目录,然后使用以下语法恢复它。
curl –c- [options] [URL]
一个例子是:
要恢复暂停的下载文件 debian-10.0.0-amd64-DVD-1.iso 文件,我们使用了以下命令:
curl –c https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
从以下输出中,您可以看到它已恢复下载。
使用 Wget 下载文件
与 Curl 类似,还有另一个命令行实用程序 Wget,可用于从 Web 下载文件和内容。 Wget 是万维网和 get 一词的组合。 它支持 FTP、SFTP、HTTP 和 HTTPS 等协议。此外,它支持递归下载,如果您想下载整个网站以供离线查看或为静态网站创建备份,这非常有用。
安装Wget
如果您的系统上尚未安装 wget,您可以按照以下步骤安装它:
按照本文前面讨论的相同方式启动终端应用程序。在终端中,键入以下命令以切换到超级用户帐户。
su
当提示输入密码时,输入超级用户密码。
然后在终端中运行以下命令来安装 Wget 实用程序。
apt-get install wget
Wget 的一般语法
要使用 Wget 下载文件,请使用以下语法:
wget [URL]
使用源文件名下载并保存文件
使用上述语法下载不带任何参数的文件将以与源文件相同的名称保存文件。例如,下载 debian-10.0.0-amd64-DVD-1.iso 文件。
wget https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
它将把下载的文件保存为 debian-10.0.0-amd64-DVD-1.iso。
下载并使用不同的名称保存文件
要下载并使用与源文件名不同的名称保存文件,请使用以下语法:
wget –O debian10 https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
它将把下载的文件保存为debian10。
通过FTP下载文件
要从经过用户验证的 FTP 服务器下载文件,请使用以下语法:
wget -u [ftp_user]:[ftp_pass] -O [ftp_URL]
ftp_user和ftp_pass参数用于指定FTP登录凭据。但是,如果是匿名 FTP 连接,您可以跳过这些。
下载多个文件
要使用 Wget 下载多个文件,请创建一个包含文件 URL 列表的文本文件,然后使用以下语法同时下载所有文件。
wget –i [filename.txt]
例如,我们创建了一个文本文件 files.txt,其中包含两个 URL,如下图所示。
然后我们运行以下命令:
wget –i files.txt
运行上述命令将自动下载 files.txt 中包含的两个 URL。
暂停和恢复下载
要恢复暂停的下载,请导航到之前下载文件的目录,然后使用以下语法恢复它。
wget -c [filename]
例如,通过运行以下命令来恢复之前暂停的 debian-10.0.0-amd64-DVD-1.iso 文件。
wget –c https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-dvd/debian-10.0.0-amd64-DVD-1.iso
递归下载文件
Wget支持递归下载,这是它区别于Curl的一大特点。递归下载功能允许下载指定目录下的所有内容。
要递归下载网站或 FTP 站点,请使用以下语法:
wget –r [URL]
一个例子是下载以下整个站点。
wget –r https://vitux.com/debian
因此,在本文中,我们学习了两种不同的非交互式命令行实用程序,可让您直接从命令行下载文件。这两种实用程序都很方便,并且具有类似的用途。我希望当您需要从互联网下载文件时它会有所帮助。