使用curl命令下载文件

Curl是基于UNIX的系统中默认安装的工具,Curl支持多种协议,包括HTTP、HTTPS、FTP、FTPS、SFTP等。若是你没有指定任何协议,默认是HTTP协议。linux

环境centos

Centos7.7cookie

下载文件,使名称一致curl

能够使用curl下载文件的相同名称做为本地文件名。能够用-O选项。工具

[root@localhost ~]# curl http://mirrors.163.com/centos...
% Total % Received % Xferd Average Speed Time Time Time Currentpost

Dload  Upload   Total   Spent    Left  Speed

0 7205M 0 25.9M 0 0 5452k 0 0:22:33 0:00:04 0:22:29 5452k
[root@localhost ~]# ls
CentOS-8.1.1911-x86_64-dvd1.isourl

下载多个文件代理

要同时下载多个文件时,能够使用多个-O标志,后面跟着要url连接。code

[root@localhost ~]# curl -O [URL1] -O [URL2] -O [URL3] ...get

例子:

[root@localhost ~]# curl -O www.example.com/file.pdf -O www.example.com/file1.pdf
% Total % Received % Xferd Average Speed Time Time Time Current

Dload  Upload   Total   Spent    Left  Speed

100 20597 100 20597 0 0 1436k 0 --:--:-- --:--:-- --:--:-- 1436k
100 20597 100 20597 0 0 9.8M 0 --:--:-- --:--:-- --:--:-- 9.8M

若是url中文件带有数字,而且有顺序,能够使用正则语法:

[root@localhost ~]# curl ftp://ftp.example.com/file[1-30].jpg

若是但愿使用不一样的名称保存多个文件,能够使用-o选项来实现,以下所示。

[root@localhost ~]# curl -o file2.pdf www.example.com/file.pdf -o file3.pdf www.example.com/file1.pdf
% Total % Received % Xferd Average Speed Time Time Time Current

Dload  Upload   Total   Spent    Left  Speed

100 20597 100 20597 0 0 957k 0 --:--:-- --:--:-- --:--:-- 957k
100 20597 100 20597 0 0 19.6M 0 --:--:-- --:--:-- --:--:-- 19.6M

下载文件显示进度条

curl在文件下载期间显示一个进度表,显示传输速率、传输的数据量、剩余的时间等……

[root@localhost ~]# curl -# -O http://mirrors.163.com/centos...

3.5%

如何限制最大传输速度

限制数据传输速率的用法为:

[root@localhost ~]# curl --limit-rate [value] [URL]

这个值能够用字节表示,k后缀为千字节,m后缀为兆字节,g后缀为千兆字节。

如下命令将把下载速度限制在1mb之内:

[root@localhost ~]# curl --limit-rate 1m -O http://mirrors.163.com/centos...
% Total % Received % Xferd Average Speed Time Time Time Current

Dload  Upload   Total   Spent    Left  Speed

0 7205M 0 21.1M 0 0 1033k 0 1:58:57 0:00:20 1:58:37 1005k

总结

curl提供了不少有用的技巧,好比代理支持、用户身份验证、FTP上传、HTTP post、SSL链接、cookie、文件传输恢复、Metalink等等。

相关文章
相关标签/搜索