Curl 是用于在本地计算机与远程服务器之间传输数据的命令行工具。使用curl时您可以使用HTTP,HTTPS,SCP , SFTP和FTP等协议下载或上传数据。
Curl 提供了许多选项,使您可以恢复上传/下载,限制带宽,代理支持,用户身份验证等。
在本教程中,我们将说明如何在Linux使用Curl命令下载文件及其选项的详解。如果您未指定使用的协议,Curl默认使用HTTP协议。
Curl 命令已预安装在大多数Linux发行版。要检查你的Linux发行版是否已安装Curl,请按快捷键CTRL+ALT+T
打开终端,键入curl
,然后按Enter。
安装 Curl
如果已安装curl,则系统将打印curl: try 'curl --help' or 'curl --manual' for more information
。
否则终端打印消息curl command not found curl
命令未找到。如果你尚未安装Curl,则可以使用发行版的软件包管理器安装curl
。
如果你的计算机运行的是基于Debian的Linux发行版,例如Ubuntu,Linux Mint等。请运行sudo apt install curl
命令安装curl。
如果你的计算机运行的是基于Redhat的Linux发行版,例如CentOS,Fedora等。请运行sudo yum install curl
命令安装Curl。
sudo apt install curl -y
sudo yum install curl -y
Curl 命令下载文件
默认情况下curl
命令下载URL指定资源并重定向标准输出。如果要保存下载到文件,可以使用curl
命令的-o
或-O
选项。
使用小写-o
选项时,你可以指定保存文件的名称,也可以指定绝对路径,Curl命令将会把文件下载到你指定绝对路径。
Curl命令的大写-O
选项将使用其原始文件名保存到文件在当前目录,也就是运行curl
命令所在的目录。
例如命令curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
下载vue.js文件到当前的目录中。
命令curl -o /home/myfreax/vue3.js https://cdn.jsdelivr.net/dist/vue.js
下载文件vue.js保存到文件/home/myfreax/vue3.js
。
下载完成后,可以运行ls命令列出curl下载的文件。ls vue*
表示列出名称包含vue字符串的文件。
curl -o /home/myfreax/work/vue.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js
curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
ls vue* #查看刚下载文件
Curl 命令下载多个文件
要一次下载多个文件,请使用多个-O
选项或者小写的-o
选项,后跟要下载文件的URL。
与使用curl
命令下载单个文件一样。当使用小写的-o
选项时你需要指定的下载目录路径。使用大写-O
选项会保存当前目录下。
还可以混合使用小写的-o
选项和大写-O
选项。下面的curl
命令在使用-O
选项时下载vue.js文件到当前的目录,以名称vue.js
保存文件。
小写-o
选项下载vue.js文件myfreax用户的家目录下的wrok目录,并将文件保存为vue.js
。
mkdir /home/myfreax/work/
curl -o /home/myfreax/work/Vue.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js \
-O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
ls /home/myfreax/work/vue.js && ls vue.js
Curl 命令断点续传/恢复下载
如果您在下载大文件期间断开连接。无需重新开始下载,可以使用curl
命令的-C -
选项恢复上一次的下载。
也可以在第一次下载文件时直接指定-C -
选项,当下载大文件断开连接时,直接使用之前的命令即可恢复下载。
但有一点值得注意点是,Curl命令的断点续传/恢复下载需要服务器端支持断点续传,否则Curl会重新开始下载文件。
curl -C - -O https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso
结论
至此,你已熟悉使用curl命令下载一个或者多个文件,可以使用-o指定保存文件的目录文件夹或者-O选项使用其原始名称保存文件,以及恢复CURL命令的下载。