Linux命令行比GUI提供了更多的灵活性和控制力。与GUI相比,许多人更喜欢使用命令行,因为它比GUI更加易于使用和快捷。使用命令行可以更轻松地使用一行自动执行任务。另外,它比GUI使用更少的资源。
下载文件是一项日常任务,通常每天执行,其中包括ZIP,TAR,ISO,PNG等文件类型。您可以使用命令行终端简单快速地执行此任务。只需要使用键盘即可。因此,今天,我将向您展示如何在Linux中使用命令行下载文件。通常有两种已知的方法可以做到这一点,即使用wget和curl工具。对于本文,我将使用Ubuntu 20.04 LTS来描述该过程。但是相同的命令也可以在其他Linux发行版(如Debian,Gentoo和CentOS)上运行。
使用Curl下载文件
Curl可用于通过多种协议传输数据。它使用Curl支持许多协议,包括HTTP , HTTPS , FTP , TFTP , TELNET,SCP等。您可以下载任何远程文件。它也支持暂停和恢复功能。
首先,您需要安装curl。
安装curl
通过按Ctrl + Alt + T组合键在Ubuntu终端中启动命令行应用程序。然后输入以下命令以使用sudo安装curl。
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install curl
当提示[sudo] linuxmi 的密码:时请输入密码。
安装完成后,输入以下命令下载文件。
使用源文件名下载并保存文件
要使用与原始源文件相同的名称将文件保存在远程服务器上,请使用-O(大写O),然后使用curl,如下所示:
- $ curl -O [URL]
除了-O外,您还可以指定“ –remote-name”,如下所示。两者的工作原理相同。
用其他名称下载并保存文件
如果要下载文件并将其保存为与远程服务器中文件名不同的名称,请使用-o(小写的o),如下所示。当远程URL在URL中不包含文件名时,这将很有用,如下例所示。
- $ curl –o [filename] [URL]
[filename]是输出文件的新名称。
- curl --remote-name https://github.com/chrishunt/color-schemes/archive/master.zip
- curl -o linuxmi https://github.com/chrishunt/color-schemes/archive/master.zip
下载多个文件
要下载多个文件,请使用以下语法输入命令:
- $ curl -O [URL1] -O [URL2]
从FTP服务器下载文件
要从FTP服务器下载文件,请使用以下语法输入命令:
- $ curl -O ftp://ftp.linuxmi.com/www.linuxmi.com.zip
要从经过用户身份验证的FTP服务器下载文件,请使用以下语法:
- $ curl -u [ftp_user]:[ftp_passwd] -O [ftp_URL]
暂停并继续下载
在下载文件时,您可以使用Ctrl + C手动将其暂停,或者有时由于某种原因它会自动被中断和停止,您可以恢复它。导航到您先前下载文件的目录,然后使用以下语法输入命令:
- $ curl –c [选项] [URL]
使用Wget下载文件
使用wget,您可以从Web和FTP服务器下载文件和内容。Wget是www和get的组合。它支持FTP,SFTP,HTTP和HTTPS等协议。它还支持递归下载功能。如果您要下载整个网站以供脱机查看或生成静态网站的备份,则此功能非常有用。另外,您可以使用它从各种Web服务器检索内容和文件。
安装wget
通过按Ctrl + Alt + T组合键在Ubuntu终端中启动命令行应用程序。然后输入以下命令以使用sudo安装wget。
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install wget
当提示您输入密码时,输入sudo密码。
使用wget下载文件或网页
要下载文件或网页,请打开终端并以以下语法输入命令:
- $ wget [URL]
要保存单个网页,请使用以下语法输入命令:
- $ wget [URL]
下载其他名称的文件
如果要下载和保存文件的名称与原始远程文件的名称不同,请使用-O(大写O),如下所示。这对您很有用,尤其是当您下载自动以名称“ index.html”保存的网页时。
要下载其他名称的文件,请使用以下语法输入命令:
- $ wget -O [文件名] [URL]
通过FTP下载文件
要从FTP服务器下载文件,请使用以下语法键入命令:
- $ wget [ftp_link]
要从经过用户身份验证的FTP服务器下载文件,请使用以下语法:
- $ wget -u [ftp_user]:[ftp_passwd] -O [ftp_URL]
递归下载文件
您可以使用递归下载功能来下载指定目录下的所有内容,无论是网站还是FTP站点。要使用递归下载功能,请使用以下语法输入命令:
- $ wget –r [URL]
下载多个文件
您可以使用wget下载多个文件。创建一个带有文件URL列表的文本文件,然后使用以下语法的wget命令下载该列表。
- $ wget –i [filename.txt]
例如,我有一个名为“linuxmi.txt”的文本文件,其中有两个要使用wget下载的URL列表。您可以在下图中看到我的文本文件内容。
我将使用以下命令下载文本文件中包含的文件链接:
- $ wget –i linuxmi.txt
使用包含网址的文件作为下载列表
您会看到它正在一个接一个地下载两个链接。
暂停和恢复下载
您可以按Ctrl + C暂停下载。要恢复暂停的下载,请转至先前下载文件的目录,并在wget之后使用– c选项,如以下语法所示:
- $ wget -c filename.zip
使用以上命令,您会注意到下载已从暂停位置恢复。
总结
在本文中,我们讨论了Linux下两种命令行方法的基本用法,您可以使用它们下载文件。需要注意的一件事是,如果您在下载文件时未指定目录,则文件将下载到您正在使用的当前目录中。