1. 程式人生 > >Linux 基礎教程 38-文件下載

Linux 基礎教程 38-文件下載

文件下載 exclude 隱藏 bfc 逗號 版本信息 res serve plain

什麽是wget

? ? wget用原始幫助裏面的英文來講就是:The non-interactive network downloader,非交互式網絡下載器。它支持HTTP、HTTPS、FTP等協議,同時也支持基於HTTP代理的下載。其他主要特點如下所示:

  • 可以工作於後臺,而不需要登錄到系統
  • 可以跟蹤HTML、XHTML、CSS等文件,從而將服務器上的頁面下載到本地進行離線瀏覽。
  • 支持慢速和不穩定網絡下的下載和連接。

常用語法

wget [選項] [URL]

常用選項參數如下所示:

選項 說明
-V,--version 顯示版本信息
-h,--help 顯示幫助信息
-b,--backgroup 以後臺形式進行運行
-e command,--execute command 如果命令屬於.wgetrc,則執行命令
-o logfile,--output-file=logfile 將日誌打印到文件中
-a logfile,--append-output=logfile 追加日誌到文件中
-q,--quiet 靜默模式,關閉wget的輸出信息
-v,--verbose 顯示詳細的信息,wget默認模式
-i file,--inpu-file=file 從文件中讀取URL下載地址
-B URL,--base=URL 設置連接的相對URL地址
--bind-address=ADDRESS 設置連接的IP地址或主機名
-t number,--tries=number 設置重試次數,0和inf則代表一直重試,默認值為20
-O file,--output-document=file 將下載文件中的內容保存到本地文件中
-nc,--no-clobber 如果下載文件已經存在,則不下載
-c,--continue 繼續執行上次的下載任務
-N,--timestamping 增加時間戳
-S,--server-response 打印HTTP、FTP頭部信息
-T seconds,--timeout=seconds 設置超時時間
--limit-rate=amount 限制下載速度
-X 設置下載排除項
-r,--recursive 遞歸下載文件
-nH, --no-host-directories 禁止創建以域名命令的文件夾
--cut-dirs=number 忽略下載地址中的層次目錄

配置文件

? ? 要想好好使用wget命令,還是先了解一下wget隱藏的一些潛規則,位置在:

  • /etc/wgetrc
  • 家目錄中的.wgetrc

1、wget命令有一些選項可以使用逗號進行隔開,如-X可以設置排除項,如果僅僅是一次,則無所謂,但如果長期均不需要下載這些目錄,則可以將這些排除項添加.wgetrc配置文件中

exclude_directories=test,tmp,temp

2、在第一種情況下,突然又想下載這些文件時,可以去掉配置文件中設置,也可以采用以下的方法:

wget -r -X ‘‘ ftp://192.168.8.8

常用示例

1、下載文件:

[root@localhost ]# wget https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_redBlue_32fe2c69.png
--2018-07-28 19:55:17--  https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_redBlue_32fe2c69.png
正在解析主機 ss0.bdstatic.com (ss0.bdstatic.com)... 180.163.198.32
正在連接 ss0.bdstatic.com (ss0.bdstatic.com)|180.163.198.32|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:8618 (8.4K) [image/png]
正在保存至: “logo_redBlue_32fe2c69.png”

100%[=============================================================================================================================>] 8,618       --.-K/s 用時 0.002s

2018-07-28 19:55:17 (3.80 MB/s) - 已保存 “logo_redBlue_32fe2c69.png” [8618/8618])

2、下載目錄和後臺執行

[root@localhost test]# wget -r -b https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
繼續在後臺運行,pid 為 26252。
將把輸出寫入至 “wget-log”。
[root@localhost test]# ll
總用量 4
drwxr-xr-x 3 root root   38 7月  28 20:14 mirrors.aliyun.com
-rw-r--r-- 1 root root 1257 7月  28 20:14 wget-log
[root@localhost test]# cat wget-log 
--2018-07-28 20:14:11--  https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 180.163.155.11, 180.163.155.8, 180.163.155.9, ...
正在連接 mirrors.aliyun.com (mirrors.aliyun.com)|180.163.155.11|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:3518 (3.4K) [text/html]
正在保存至: “mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/index.html”

3、禁止生成下載地址中的多級目錄

[root@localhost test]# wget -b -r -nH --cut-dir=6 https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
繼續在後臺運行,pid 為 34849。
將把輸出寫入至 “wget-log”。
[root@localhost test]# ll
總用量 12
-rw-r--r-- 1 root root 3518 7月  28 20:25 index.html
-rw-r--r-- 1 root root  295 10月 31 2017 robots.txt
-rw-r--r-- 1 root root 1113 7月  28 20:25 wget-log

下載目錄路徑如下所示:

情況 結果
-r mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
-nH centos/7.5.1804/atomic/x86_64/adb/
-nH --cut-dir=1 centos/7.5.1804/atomic/x86_64/adb/
-nH --cut-dir=4 adb/
-nH --cut-dir=6 .

4、將下載的文件保存到本地文件中

[root@localhost test]# wget -t 2 -o log.txt https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/sha256sum.txt  -O test.txt
[root@localhost test]# ll
總用量 8
-rw-r--r-- 1 root root 554 7月  28 20:37 log.txt
-rw-r--r-- 1 root root 598 5月  10 03:59 test.txt
[root@localhost test]# cat log.txt
--2018-07-28 20:37:28--  https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/sha256sum.txt
正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 180.163.155.9, 180.163.155.10, 180.163.155.11, ...
正在連接 mirrors.aliyun.com (mirrors.aliyun.com)|180.163.155.9|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:598 [text/plain]
正在保存至: “test.txt”
     0K                    100%  175M=0s
2018-07-28 20:37:28 (175 MB/s) - 已保存 “test.txt” [598/598])

[root@localhost test]# cat test.txt
506e4e06abf778c3435b4e5745df13e79ebfc86565d7ea1e128067ef6b5a6345  CentOS-7-x86_64-DVD-1804.iso
b346daae2a93caed88e822e722e7284c648f9919d475ff98489b424350f99a45  CentOS-7-x86_64-LiveGNOME-1804.iso
040ddfb27d30e48efad8709c9df946202cec169077c843fd2cbe8d802187ff8e  CentOS-7-x86_64-LiveKDE-1804.iso
714acc0aefb32b7d51b515e25546835e55a90da9fb00417fbee2d03a62801efd  CentOS-7-x86_64-Minimal-1804.iso
99723c8b87dcec21df8aed23de1eb810346d42cfd2a3fafafe70a68296053417  CentOS-7-x86_64-Everything-1804.iso
937bf0a7b0932817f84f7230f15ed88911bbbd85c0c958680792b7f8d8f9c1a9  CentOS-7-x86_64-NetInstall-1804.iso

本文同步在微信訂閱號上發布,如各位小夥伴們喜歡我的文章,也可以關註我的微信訂閱號:woaitest,或掃描下面的二維碼添加關註:
技術分享圖片

Linux 基礎教程 38-文件下載