Linux 基礎教程 38-文件下載

来源:https://www.cnblogs.com/surpassme/archive/2018/08/17/9495804.html
-Advertisement-
Play Games

什麼是wget     wget用原始幫助裡面的英文來講就是:The non interactive network downloader,非互動式網路下載器。它支持HTTP、HTTPS、FTP等協議,同時也支持基於HTTP代理的下載。其他主要特點如下所示: 可以工作於後臺,而不 ...


什麼是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,或掃描下麵的二維碼添加關註:
MyQRCode.jpg


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、我們先設置一些常量數據 2、創建對應的信息vo載體 3、創建編碼解碼器,進行報文的編碼解碼(關鍵,劃重點哦,特別是校驗和的計算) 4、創建對應的成幀器,來獲取發送每一幀信息 5、根據模板模式,設計模板類,用來與MML伺服器通信 6、發送指令操作 直接調用(各個地方的某些欄位可能不同,這個參考常量 ...
  • 目前遇見的有三種類型: ...
  • # 頭條街拍圖片爬取 1 import re 2 import requests 3 from urllib import request 4 import json 5 import os 6 i = 0 7 headers = { 8 'user-agent': 'Mozilla/5.0 (Wi... ...
  • 前言 Java基礎 類與對象,方法的重載,構造方法的重載,static關鍵字,main()方法,this關鍵字,包,訪問許可權,類的繼承,繼承性,方法的重寫,super變數。 方法的重載: 成員方法的重載和構造方法的重載 方法的重載 在一個類中可以有多個方法具有相同的名字,但是這些方法的參數個數不同, ...
  • 找球號(三) 時間限制:2000 ms | 記憶體限制:10000 KB 難度:2 找球號(三) 時間限制:2000 ms | 記憶體限制:10000 KB 難度:2 xiaod現在正在某個球場負責網球的管理工作。為了方便管理,他把每個球都編了號,且每個編號的球的總個數都是偶數。有一天,xiaod發現少 ...
  • 1.1硬體需求建議: CPU:32/64 bit 2.27GHz雙核心以上之CPU; 記憶體:8GB以上; 硬碟:300GB,7200轉以上; 建議資料庫、Confluence等各自獨立一臺伺服器。 1.2軟體需求建議 推薦Windows Server 2012 R2操作系統,或者其他支持JAVA的W ...
  • 設計一個支持 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。 push(x) -- 將元素 x 推入棧中。 pop() -- 刪除棧頂的元素。 top() -- 獲取棧頂元素。 getMin() -- 檢索棧中的最小元素。 示例: MinStack minStack = new ...
  • Find Sequence The Hamming Distance 由於n和m的範圍是0-10^6,所以需要用32位二進位。 Brackets Roman Numerals The Longest Palindromic 我的思路就是把字元串截取得到各種長度的子字元串,然後判斷截取到的字元串是不是 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...