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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...