Linux中curl命令和wget命令的使用介紹與比較
本文介紹的是Linux中curl命令和wget命令,這兩者都是用來下載文件的工具,下面來看看詳細(xì)的介紹:
一、wget
wget是linux最常用的下載命令, 一般的使用方法是: wget + 空格 + 要下載文件的url路徑
例1:
wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
下載文件保存到當(dāng)前目錄,文件名默認(rèn)是url最后一個(gè)/后面的內(nèi)容,這里就是 wordpress-3.1-zh_CN.zip
例2:
wget -O myfile http://www.minjieren.com/wordpress-3.1-zh_CN.zip
通過-O參數(shù),可以指定文件名,這里指定的是myfile
例3:
wget www.baidu.com
會(huì)在當(dāng)前目錄生成一個(gè)index.html文件
二、curl
在Linux中curl是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具,可以說是一款很強(qiáng)大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱url為下載工具。
語法:# curl [option] [url]
常見參數(shù):
- -A/--user-agent <string> 設(shè)置用戶代理發(fā)送給服務(wù)器
- -b/--cookie <name=string/file> cookie字符串或文件讀取位置
- -c/--cookie-jar <file> 操作結(jié)束后把cookie寫入到這個(gè)文件中
- -C/--continue-at <offset> 斷點(diǎn)續(xù)轉(zhuǎn)
- -D/--dump-header <file> 把header信息寫入到該文件中
- -e/--referer 來源網(wǎng)址
- -f/--fail 連接失敗時(shí)不顯示http錯(cuò)誤
- -o/--output 把輸出寫到該文件中
- -O/--remote-name 把輸出寫到該文件中,保留遠(yuǎn)程文件的文件名
- -r/--range <range> 檢索來自HTTP/1.1或FTP服務(wù)器字節(jié)范圍
- -s/--silent 靜音模式。不輸出任何東西
- -T/--upload-file <file> 上傳文件
- -u/--user <user[:password]> 設(shè)置服務(wù)器的用戶和密碼
- -w/--write-out [format] 什么輸出完成后
- -x/--proxy <host[:port]> 在給定的端口上使用HTTP代理
- -#/--progress-bar 進(jìn)度條顯示當(dāng)前的傳送狀態(tài)
例:
curl -O http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-i586.tar.gz
下載文件保存到當(dāng)前目錄,文件名默認(rèn)是url最后一個(gè)/后面的內(nèi)容,這里就是 jdk-8u91-linux-i586.tar.gz。
注意:必須要加-O參數(shù),否則是直接在控制臺(tái)上顯示文件內(nèi)容了.
說明:這兩個(gè)命令工具,linux系統(tǒng)中缺省不一定有的,如果沒有,需要自己安裝。如果是在ubuntu下。
可以執(zhí)行如下命令進(jìn)行安裝
sudo apt-get install curl
它們的區(qū)別有如下幾點(diǎn):
1.curl是libcurl這個(gè)庫支持的,wget是一個(gè)純粹的命令行命令。
2.curl支持更多的協(xié)議。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP.
3.curl 默認(rèn)支持HTTP1.1(也支持1.0),而wget僅僅支持HTTP1.0規(guī)范。引用wget的man page中的一段話吧,
Please be aware that Wget needs to know the size of the POST data in advance. It's not quite clear how to work around this limitation inherent in HTTP/1.0. Although HTTP/1.1 introduces chunked transfer that doesn't require knowing the request length in advance, a client can't use chunked unless it knows it's talking to an HTTP/1.1 server. And it can't know that until it receives a response, which in turn requires the request to have been completed -- a chicken-and-egg problem.
4.curl在指定要下載的鏈接時(shí)能夠支持URL的序列或集合,而wget則不能這樣;
5.wget支持遞歸下載,而curl則沒有這個(gè)功能。(這是wget的一個(gè)主要好處,wget也是有優(yōu)勢的,呵呵)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
error while loading shared libraries xx.so處理方法
一般我們在Linux下執(zhí)行某些外部程序的時(shí)候可能會(huì)提示找不到共享庫(error while loading shared libraries xx.so)的錯(cuò)誤2013-04-04怎樣給centos系統(tǒng)擴(kuò)展磁盤分區(qū)的實(shí)現(xiàn)方法
這篇文章主要介紹了怎樣給centos系統(tǒng)擴(kuò)展磁盤分區(qū)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12win10 + Ubuntu20.04 LTS雙系統(tǒng)引導(dǎo)界面美化
這篇文章主要介紹了win10 + Ubuntu20.04 LTS雙系統(tǒng)引導(dǎo)界面美化,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07詳解CentOS如何使用NTP同步時(shí)間服務(wù)器
在Linux系統(tǒng)中,時(shí)間同步對于各種應(yīng)用是非常關(guān)鍵的,例如,系統(tǒng)日志和許多監(jiān)控應(yīng)用程序都需要在多個(gè)服務(wù)器之間保持時(shí)間同步,NTP協(xié)議是一種常見的協(xié)議,它使得您可以在系統(tǒng)之間同步時(shí)間,下面我們將詳細(xì)討論CentOS如何使用NTP同步時(shí)間服務(wù)器,需要的朋友可以參考下2023-11-11詳解如何在Linux系統(tǒng)上安裝cpolar內(nèi)網(wǎng)穿透
cpolar作為一款體積小巧卻功能強(qiáng)大的內(nèi)網(wǎng)穿透軟件,不僅能夠在多種環(huán)境和應(yīng)用場景中發(fā)揮巨大作用,還能適應(yīng)多種操作系統(tǒng),本文主要介紹了cpolar在Linux系統(tǒng)下的各種應(yīng)用類型,感興趣的可以了解下2023-08-08基于CentOS的Hadoop分布式環(huán)境的搭建開發(fā)
本篇文章介紹了基于CentOS的Hadoop分布式環(huán)境的搭建開發(fā),有興趣的可以了解一下。2016-11-11