自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

wget命令的八種實用用法

系統(tǒng) Linux
wget 是一個可以從網(wǎng)絡(luò)上下載文件的免費實用程序,它的工作原理是從 Internet 上獲取數(shù)據(jù),并將其保存到本地文件中或顯示在你的終端上。

wget 是一個可以從網(wǎng)絡(luò)上下載文件的免費實用程序,它的工作原理是從 Internet 上獲取數(shù)據(jù),并將其保存到本地文件中或顯示在你的終端上。這實際上也是大家所使用的瀏覽器所做的,例如 Firefox 或 Chrome,其實在內(nèi)部也是調(diào)用了 wget 程序進行數(shù)據(jù)下載。本文介紹 8 個 wget 命令常見使用方式,希望對小伙伴們有所幫助。

1. 使用 wget 命令下載文件

你可以使用 wget 命令來下載指定鏈接的文件。默認情況下,下載的文件將保存到當前工作目錄中的同名文件中。 

  1. $ wget http://www.lxlinux.net 
  2. --2021-09-20 17:23:47-- http://www.lxlinux.net/ 
  3. Resolving www.lxlinux.net... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946 
  4. Connecting to www.lxlinux.net|93.184.216.34|:80... connected. 
  5. HTTP request sent, awaiting response... 200 OK 
  6. Length: 1256 (1.2K) [text/html] 
  7. Saving to'index.html' 

如果你不想將下載的文件保存在本地,而只是想將其顯示在標準輸出(stdout)里,可以使用 --output-document 選項,同時后面再跟上一個 - 號。 

  1. $ wget http://www.lxlinux.net --output-document - | head -n4 
  2. <!doctype html> 
  3. <html> 
  4. <head> 
  5.    <title>Example Domain</title> 

如果你想給下載的文件重新命名,那么可以使用 --output-document 選項(或者更簡便,直接使用 -O 即可): 

  1. $ wget http://www.lxlinux.net --output-document newfile.html 

2. 斷點續(xù)傳

如果你要下載的文件非常大,因為網(wǎng)絡(luò)的原因有可能出現(xiàn)一次性無法下載完全的情況。如果每次都要重新下載,那么都不知道要等到猴年馬月。這種情況下,就可以使用 --continue 選項(或者 -c )實現(xiàn)斷點續(xù)傳。也就是說,如果因為各種原因?qū)е孪螺d中斷,使用了這個選項,就可以繼續(xù)上次的下載,而不需要重新進行下載。 

  1. $ wget --continue https://www.lxlinux.net/linux-distro.iso 

3. 下載一系列文件

如果你下載的不是一個大文件,而是需要很多個小文件,那么 wget 命令也可以幫你輕松實現(xiàn)。但是,這里還需要使用一些 bash 語法來實現(xiàn)目的。一般來講,這些文件的名稱都有一定的規(guī)律,比如:file_1.txt,file_2.txt,file_3.txt,等等,那么你就需要使用這樣的命令: 

  1. $ wget http://www.lxlinux.net/file_{1..4}.txt 

4. 鏡像整個站點

如果你想對某個網(wǎng)站進行整站下載,包括其目錄結(jié)構(gòu),那么你就需要使用 --mirror 選項。這個選項等同于 --recursive --level inf --timestamping --no-remove-listing,這意味著它是無限遞歸的,因此你可以下載到指定域上的所有內(nèi)容。如果你使用 wget 存檔站點,那么這些選項 --no-cookies --page-requisites --convert-links 也可用于確保每個頁面都是最新的、最完整的。

5. 修改 HTML 請求標頭

學過網(wǎng)絡(luò)通訊的小伙伴都知道,HTTP 數(shù)據(jù)包里包含了非常多的元素。其中,HTTP 標頭是數(shù)據(jù)包初始的組成部分。當你使用瀏覽器瀏覽網(wǎng)頁時,你的瀏覽器會向服務(wù)器發(fā)送 HTTP 請求標頭。具體發(fā)了些什么東西呢?可以使用 --debug 選項查看 wget 每次請求發(fā)送的標頭信息: 

  1. $ wget --debug www.lxlinux.net 
  2. ---request begin--- 
  3. GET / HTTP/1.1 
  4. User-Agent: Wget/1.19.5 (linux-gnu) 
  5. Accept: */* 
  6. Accept-Encoding: identity 
  7. Host: www.lxlinux.net 
  8. Connection: Keep-Alive 
  9.  
  10. ---request end--- 

你可以使用 --header 選項修改請求標頭。為什么要這么做呢?其實有很多使用場景的。例如,有時候為了測試,需要模擬特定的瀏覽器發(fā)出的請求。比如,你想模擬 Edge 瀏覽器發(fā)出來的請求,可以這樣操作: 

  1. $ wget --debug --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59" http://www.lxlinux.net 

除此之外,你還可以偽裝成特定的移動設(shè)備(比如 iPhone ): 

  1. $ wget --debug \ 
  2. --header = "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari /604.1" \ 
  3. HTTP:// www.lxlinux.net 

6. 查看響應(yīng)標頭

與瀏覽器請求發(fā)送標頭信息的方式相同,標頭信息也包含在響應(yīng)中。同樣地,你可以使用 --debug 選項查看響應(yīng)標頭: 

  1. $ wget --debug www.lxlinux.net 
  2. [...] 
  3. ---response begin--- 
  4. HTTP/1.1 200 OK 
  5. Accept-Ranges: bytes 
  6. Age: 188102 
  7. Cache-Control: max-age=604800 
  8. Content-Type: text/html; charset=UTF-8 
  9. Etag: "3147526947" 
  10. Server: ECS (sab/574F) 
  11. Vary: Accept-Encoding 
  12. X-Cache: HIT 
  13. Content-Length: 1256 
  14.  
  15. ---response end--- 
  16. 200 OK 
  17. Registered socket 3 for persistent reuse. 
  18. URI content encoding = 'UTF-8' 
  19. Length: 1256 (1.2K) [text/html] 
  20. Saving to'index.html' 

7. 響應(yīng) 301 響應(yīng)

熟悉網(wǎng)絡(luò)協(xié)議的都知道,200 響應(yīng)碼意味著一切都按預(yù)期進行。而 301 響應(yīng)則意味著 URL 已經(jīng)指向不同的網(wǎng)站。這種情況下,如果你需要下載文件,那么就需要使用 wget 的重定向功能。所以,如果你遇到 301 響應(yīng)時,就需要使用 --max-redirect 選項。如果你不想要重定向,那么可以將 --max-redirect 設(shè)置為 0 。 

  1. $ wget --max-redirect 0 http://www.lxlinux.net 
  2. --2021-09-21 11:01:35-- http://www.lxlinux.net/ 
  3. Resolving www.lxlinux.net... 192.0.43.8, 2001:500:88:200::8 
  4. Connecting to www.lxlinux.net|192.0.43.8|:80... connected. 
  5. HTTP request sent, awaiting response... 301 Moved Permanently 
  6. Location: https://www.www.lxlinux.net/ [following] 
  7. 0 redirections exceeded. 

或者,你還可以將其設(shè)置為其他數(shù)字以控制 wget 跟隨的重定向數(shù)量。

8. 展開短鏈接

有時候,我們需要將一個長鏈接轉(zhuǎn)為短鏈接,例如在文本框里填寫信息時,有時候文本框?qū)ψ址L度有限制,這時短鏈就可以大大減少字符數(shù)。除了使用第三方平臺,其實我們可以直接使用 wget 命令來將短鏈接還原為長鏈接。這里依然使用 --max-redirect 選項: 

  1. $ wget --max-redirect 0 "https://bit.ly/2yDyS4T" 
  2. --2021-09-21 11:32:04-- https://bit.ly/2yDyS4T 
  3. Resolving bit.ly... 67.199.248.10, 67.199.248.11 
  4. Connecting to bit.ly|67.199.248.10|:443... connected. 
  5. HTTP request sent, awaiting response... 301 Moved Permanently 
  6. Location: http://www.lxlinux.net/ [following] 
  7. 0 redirections exceeded. 

輸出的倒數(shù)第二行,在 Location 部分,后面你就看到了短鏈展開之后的真面目。 

 

責任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2013-12-12 17:14:10

Linuxvim

2020-07-06 07:37:58

Linux虛擬

2010-04-22 10:36:41

Oracle數(shù)據(jù)導(dǎo)入

2010-06-28 11:06:04

SQL Server

2022-05-10 08:08:01

find命令Linux

2021-03-31 08:00:00

開發(fā)工具游戲

2022-04-27 22:07:32

SQL數(shù)據(jù)庫分頁查詢

2010-07-13 16:40:41

Perl引用

2025-01-16 08:17:36

2022-12-01 16:53:27

NPM技巧

2021-11-22 12:13:54

Linuxwget 命令

2020-05-11 09:38:52

Python開發(fā)函數(shù)

2019-04-23 08:28:19

2020-02-27 15:20:27

ping命令運維

2019-08-09 09:00:40

cp命令BashLinux

2010-07-20 13:53:44

Perl引用

2011-06-09 13:48:48

程序員

2010-02-04 15:17:48

Linux wget

2023-11-20 13:52:00

Redis數(shù)據(jù)庫

2011-01-24 15:52:07

點贊
收藏

51CTO技術(shù)棧公眾號