鍍金池/ 教程/ Linux/ wget 文件下載
進程管理工具
objdump 二進制文件分析
scp 跨機遠程拷貝
crontab 定時任務(wù)
readelf elf文件格式分析
pstack 跟蹤進程棧
系統(tǒng)管理及IPC資源管理
vmstat 監(jiān)視內(nèi)存使用情況
strace 跟蹤進程中的系統(tǒng)調(diào)用
sar 找出系統(tǒng)瓶頸的利器
ipcs 查詢進程間通信狀態(tài)
ps 進程查看器
性能優(yōu)化
wget 文件下載
top linux下的任務(wù)管理器
磁盤管理
size 查看程序內(nèi)存映像大小
free 查詢可用內(nèi)存
文件及目錄管理
iostat 監(jiān)視I/O子系統(tǒng)
性能監(jiān)控
程序構(gòu)建
學(xué)會使用命令幫助
gdb 調(diào)試?yán)?/span>
網(wǎng)絡(luò)工具
nm 目標(biāo)文件格式分析
lsof 一切皆文件
用戶管理工具
程序調(diào)試
ldd 查看程序依賴庫
文本處理

wget 文件下載

Linux系統(tǒng)中的wget是一個下載文件的工具,它用在命令行下。對于Linux用戶是必不可少的工具,我們經(jīng)常要下載一些軟件或從遠程服務(wù)器恢復(fù)備份到本地服務(wù)器。wget支持HTTP,HTTPS和FTP協(xié)議,可以使用HTTP代理。

wget 可以跟蹤HTML頁面上的鏈接依次下載來創(chuàng)建遠程服務(wù)器的本地版本,完全重建原始站點的目錄結(jié)構(gòu)。這又常被稱作”遞歸下載”。在遞歸下載的時候,wget 遵循Robot Exclusion標(biāo)準(zhǔn)(/robots.txt). wget可以在下載的同時,將鏈接轉(zhuǎn)換成指向本地文件,以方便離線瀏覽。

wget 非常穩(wěn)定,它在帶寬很窄的情況下和不穩(wěn)定網(wǎng)絡(luò)中有很強的適應(yīng)性.如果是由于網(wǎng)絡(luò)的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務(wù)器打斷下載過程,它會再次聯(lián)到服務(wù)器上從停止的地方繼續(xù)下載。這對從那些限定了鏈接時間的服務(wù)器上下載大文件非常有用。

命令格式

wget [參數(shù)] [URL地址]

命令參數(shù):

啟動參數(shù):

  • -V, –version 顯示wget的版本后退出
  • -h, –help 打印語法幫助
  • -b, –background 啟動后轉(zhuǎn)入后臺執(zhí)行
  • -e, –execute=COMMAND 執(zhí)行'.wgetrc'格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc

記錄和輸入文件參數(shù)

  • -o, –output-file=FILE 把記錄寫到FILE文件中
  • -a, –append-output=FILE 把記錄追加到FILE文件中
  • -d, –debug 打印調(diào)試輸出
  • -q, –quiet 安靜模式(沒有輸出)
  • -v, –verbose 冗長模式(這是缺省設(shè)置)
  • -nv, –non-verbose 關(guān)掉冗長模式,但不是安靜模式
  • -i, –input-file=FILE 下載在FILE文件中出現(xiàn)的URLs
  • -F, –force-html 把輸入文件當(dāng)作HTML格式文件對待
  • -B, –base=URL 將URL作為在-F -i參數(shù)指定的文件中出現(xiàn)的相對鏈接的前綴 –sslcertfile=FILE 可選客戶端證書 –sslcertkey=KEYFILE 可選客戶端證書的KEYFILE –egd-file=FILE 指定EGD socket的文件名

下載參數(shù)

  • -bind-address=ADDRESS 指定本地使用地址(主機名或IP,當(dāng)本地有多個IP或名字時使用)
  • -t, –tries=NUMBER 設(shè)定最大嘗試鏈接次數(shù)(0 表示無限制).
  • -O –output-document=FILE 把文檔寫到FILE文件中
  • -nc, –no-clobber 不要覆蓋存在的文件或使用.#前綴
  • -c, –continue 接著下載沒下載完的文件
  • -progress=TYPE 設(shè)定進程條標(biāo)記
  • -N, –timestamping 不要重新下載文件除非比本地文件新
  • -S, –server-response 打印服務(wù)器的回應(yīng)
  • -T, –timeout=SECONDS 設(shè)定響應(yīng)超時的秒數(shù)
  • -w, –wait=SECONDS 兩次嘗試之間間隔SECONDS秒
  • -waitretry=SECONDS 在重新鏈接之間等待1…SECONDS秒
  • -random-wait 在下載之間等待0…2*WAIT秒
  • -Y, -proxy=on/off 打開或關(guān)閉代理
  • -Q, -quota=NUMBER 設(shè)置下載的容量限制
  • -limit-rate=RATE 限定下載輸率

目錄參數(shù)

  • -nd –no-directories 不創(chuàng)建目錄
  • -x, –force-directories 強制創(chuàng)建目錄
  • -nH, –no-host-directories 不創(chuàng)建主機目錄
  • -P, –directory-prefix=PREFIX 將文件保存到目錄 PREFIX/…
  • -cut-dirs=NUMBER 忽略 NUMBER層遠程目錄

HTTP 選項參數(shù)

  • -http-user=USER 設(shè)定HTTP用戶名為 USER.
  • -http-passwd=PASS 設(shè)定http密碼為 PASS
  • -C, –cache=on/off 允許/不允許服務(wù)器端的數(shù)據(jù)緩存 (一般情況下允許)
  • -E, –html-extension 將所有text/html文檔以.html擴展名保存
  • -ignore-length 忽略 'Content-Length'頭域
  • -header=STRING 在headers中插入字符串 STRING
  • -proxy-user=USER 設(shè)定代理的用戶名為 USER
  • proxy-passwd=PASS 設(shè)定代理的密碼為 PASS
  • referer=URL 在HTTP請求中包含 'Referer: URL'頭
  • -s, –save-headers 保存HTTP頭到文件
  • -U, –user-agent=AGENT 設(shè)定代理的名稱為 AGENT而不是 Wget/VERSION
  • no-http-keep-alive 關(guān)閉 HTTP活動鏈接 (永遠鏈接)
  • cookies=off 不使用 cookies
  • load-cookies=FILE 在開始會話前從文件 FILE中加載cookie
  • save-cookies=FILE 在會話結(jié)束后將 cookies保存到 FILE文件中

FTP 選項參數(shù)

  • -nr, –dont-remove-listing 不移走 '.listing'文件
  • -g, –glob=on/off 打開或關(guān)閉文件名的 globbing機制
  • passive-ftp 使用被動傳輸模式 (缺省值).
  • active-ftp 使用主動傳輸模式
  • retr-symlinks 在遞歸的時候,將鏈接指向文件(而不是目錄)

遞歸下載參數(shù)

  • -r, –recursive 遞歸下載--慎用!
  • -l, –level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮)
  • -delete-after 在現(xiàn)在完畢后局部刪除文件
  • -k, –convert-links 轉(zhuǎn)換非相對鏈接為相對鏈接
  • -K, –backup-converted 在轉(zhuǎn)換文件X之前,將之備份為 X.orig
  • -m, –mirror 等價于 -r -N -l inf -nr
  • -p, –page-requisites 下載顯示HTML文件的所有圖片 遞歸下載中的包含和不包含(accept/reject):
  • -A, –accept=LIST 分號分隔的被接受擴展名的列表
  • -R, –reject=LIST 分號分隔的不被接受的擴展名的列表
  • -D, –domains=LIST 分號分隔的被接受域的列表
  • -exclude-domains=LIST 分號分隔的不被接受的域的列表
  • -follow-ftp 跟蹤HTML文檔中的FTP鏈接
  • -follow-tags=LIST 分號分隔的被跟蹤的HTML標(biāo)簽的列表
  • -G, –ignore-tags=LIST 分號分隔的被忽略的HTML標(biāo)簽的列表
  • -H, –span-hosts 當(dāng)遞歸時轉(zhuǎn)到外部主機
  • -L, –relative 僅僅跟蹤相對鏈接
  • -I, –include-directories=LIST 允許目錄的列表
  • -X, –exclude-directories=LIST 不被包含目錄的列表
  • -np, –no-parent 不要追溯到父目錄 wget -S –spider url 不下載只顯示過程

使用實例

實例1:使用wget下載單個文件

$wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip

說明:以上例子從網(wǎng)絡(luò)下載一個文件并保存在當(dāng)前目錄,在下載的過程中會顯示進度條,包含(下載完成百分比,已經(jīng)下載的字節(jié),當(dāng)前下載速度,剩余下載時間)。

實例2:使用wget -O下載并以不同的文件名保存

$wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080

wget默認(rèn)會以最后一個符合”/”的后面的字符來命令,對于動態(tài)鏈接的下載通常文件名會不正確。

實例3:使用wget –limit -rate限速下載

$wget --limit-rate=300k http://www.minjieren.com/wordpress-3.1-zh_CN.zip

當(dāng)你執(zhí)行wget的時候,它默認(rèn)會占用全部可能的寬帶下載。但是當(dāng)你準(zhǔn)備下載一個大文件,而你還需要下載其它文件時就有必要限速了。

實例4:使用wget -c斷點續(xù)傳

$wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip

使用wget -c重新啟動下載中斷的文件,對于我們下載大文件時突然由于網(wǎng)絡(luò)等原因中斷非常有幫助,我們可以繼續(xù)接著下載而不是重新下載一個文件。需要繼續(xù)中斷的下載時可以使用-c參數(shù)。

實例5:使用wget -b后臺下載

$wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
Continuing in background, pid 1840.
Output will be written to 'wget-log'.

對于下載非常大的文件的時候,我們可以使用參數(shù)-b進行后臺下載。

你可以使用以下命令來察看下載進度::

$tail -f wget-log

實例6:偽裝代理名稱下載

wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.minjieren.com/wordpress-3.1-zh_CN.zip

有些網(wǎng)站能通過根據(jù)判斷代理名稱不是瀏覽器而拒絕你的下載請求。不過你可以通過–user-agent參數(shù)偽裝。

實例7:使用wget -i下載多個文件

首先,保存一份下載鏈接文件,接著使用這個文件和參數(shù)-i下載::

$cat > filelist.txt
url1
url2
url3
url4

$wget -i filelist.txt

實例8:使用wget –mirror鏡像網(wǎng)站

$wget --mirror -p --convert-links -P ./LOCAL URL

下載整個網(wǎng)站到本地

  • -miror:開戶鏡像下載
  • -p:下載所有為了html頁面顯示正常的文件
  • -convert-links:下載后,轉(zhuǎn)換成本地的鏈接
  • -P ./LOCAL:保存所有文件和目錄到本地指定目錄

實例9: 使用wget -r -A下載指定格式文件

$wget -r -A.pdf url

可以在以下情況使用該功能:

  • 下載一個網(wǎng)站的所有圖片
  • 下載一個網(wǎng)站的所有視頻
  • 下載一個網(wǎng)站的所有PDF文件

實例10:使用wget FTP下載

$wget ftp-url
$wget --ftp-user=USERNAME --ftp-password=PASSWORD url

可以使用wget來完成ftp鏈接的下載

  • 使用wget匿名ftp下載:wget ftp-url
  • 使用wget用戶名和密碼認(rèn)證的ftp下載:wget --ftp-user=USERNAME --ftp-password=PASSWORD url

編譯安裝

使用如下命令編譯安裝::

tar zxvf wget-1.9.1.tar.gz
cd wget-1.9.1
./configure
make
make install