wget使用

wget是一個命令行工具,用於批量下載文件,支持HTTP和FTP。究竟比其他的工具好在哪裡?看看內容吧 :)

wget基本上所有的Linux版本都自己帶了,但是有多少人在用呢?呵呵,如果你沒有用過,不妨試試。Windows下面的用戶可以使用GNUwin32的項目,wget,基本功能完全一致。好吧,我們來以幾個簡單的例子看看wget的威力。

如果我們想下載ftp裏面某個目錄裏面的所有文件,我們也可以不用ftp這個笨蛋,呵呵,可以享受cute ftp等圖形化工具的拖一個目錄的輕鬆了。如

wget -r ftp://10.8.8.8/movie/

呵呵,等吧!下完了,發覺有些不對勁,怎麼出來個10.8.8.8的目錄,進去看看,又是一個movie,哦,wget將目錄結構和網站標題都給記錄下來了,不要??沒有問題!比如說還是這個例子

wget -r -nd ftp://10.8.8.8/movie/

結果什麼目錄都沒有了,faint!怎麼會這樣?呵呵,你如果想要這樣就讓它這樣吧,否則使用

wget -r -nH ftp://10.8.8.8/movie/

恩?movie也不要?OK,那就這樣

wget -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/

這有什麼用啊?cuteftp比他好用多了,而且,你這斷了線能連嗎?呵呵,不好意思,可以連

wget -c -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/

但是cuteftp能做下面的事情嗎?比如,現在很多網站使用Apache建站,並不提供ftp服務,但是Apache有一個indexing功能,可以提供一個類似於ftp的界面,好多文件我想下啊,怎麼辦?由於是HTTP協議,CuteFTP無能為力了,倒是flash get等有什麼get all這種功能,不知道他們對於目錄處理怎麼樣。但是wget一點問題都沒有,不信?我們拿CTAN為例(例子並不恰當,CTAN有FTP服務),我們下載這裏面所有的宏包,呵呵

wget -r -k http://www.ctan.org/tex-archive/macros/latex/

-k表示將連接轉換為本地連接。但是現在同樣有上面的問題啊,那就把你需要的加上吧,另外也許你根本不需要向下走那麼多層,比如,我們就要到第二層,那麼

wget -r -l2 -k http://www.ctan.org/tex-archive/macros/latex/

現在新的問題是,由於網頁有一個排序功能,很討厭,因為下載的時候把網頁重複了好多次,那麼我們可使用-A和-R開關控制下載類型,並且可以使用通配符,呵呵,現在隨心所欲了吧

wget -r -R ".htm\?*" -k http://www.ctan.org/tex-archive/macros/latex/

這次沒有那種網頁了吧?-R的意義在於拒絕下載匹配類型的文件,-A表示僅僅接受的文件類型,如-A "*.gif"將僅下載gif圖片,如果有多個允許或者不允許,可以使用,分開。

那麼,我們現在在使用代理伺服器,怎麼辦呢?呵呵,很高興你選擇了wget,你可以使用它的配置文件,環境變數來利用代理。這裏推薦使用環境變數,如在 bash裏面我們可以把天天用的proxy加到.bash_profile裏面,這是Linux標準寫法(很多軟體都用的,什麼apt-get,yum等等)

export http_proxy=http://10.20.30.40:8080

然後,proxy就默認打開了,如果需要暫時關閉,可以使用

wget --proxy=off -r -k http://www.ctan.org/tex-archive/macros/latex/

當然,寫一個.wgetrc文件也可以,該文件可以從/usr/local/etc裏面找到,裏面有很詳細的註釋,我就不多說了。

下載網頁的時候比較麻煩的事情是,有的網頁被同時指向了很多遍,那麼為了避免多次下載,我們使用

wget -nc -r -k http://www.ctan.org/tex-archive/macros/latex/

可以避免這件事情。為了不被有的連接指向非http://www.ctan.org/tex-archive/macros/latex/ 內層目錄,我們還應該加上

wget -nc -np -r -k http://www.ctan.org/tex-archive/macros/latex/

避免下載非該目錄裏面的文件,這也避免了到不同的host上面去。當然,如果你希望有這個功能,在多個host之間跳來跳去的下載,可以使用

wget -nc -np -H -r -k http://www.ctan.org/tex-archive/macros/latex/

使得可以在多個host之間span,同時-I和-X可以使得我們僅僅跟蹤某些目錄或者不跟蹤某些目錄。如果某些HTML裏面你需要的東西不是由這種東西作出來的,你就得使用--follow-tags和--ignore-tags了。

嘿,我有個文件裏面都是連接,怎麼辦?要是不是html你只需要

wget -i your.file

如果是,那也不繁

wget -F -i your.file

下面是補充:

wget -m ftp://username:password@IPAddress/*

-m  做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设定其他合适的选项以便于站点镜像;等价于 -r -N -l inf -nr.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值