如何使用curl命令下載文件

Curl是基於UNIX的系統中默認安裝的工具,Curl支持多種協議,包括HTTP、HTTPS、FTP、FTPS、SFTP等。如果你沒有指定任何協議,默認是HTTP協議。

環境

Centos7.7

下載文件,使名稱一致

可以使用curl下載文件的相同名稱作爲本地文件名。可以用-O選項。

[root@localhost ~]# curl http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 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.iso

下載多個文件

要同時下載多個文件時,可以使用多個-O標誌,後面跟着要url鏈接。

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

例子:

[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/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
##                                                                         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/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
  % 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等等。

本文原創地址:https://www.linuxprobe.com/use-curl-down-file.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章