Linux中curl命令和wget命令的使用介绍与比较
本文介绍的是Linux中curl命令和wget命令,这两者都是用来下载文件的工具,下面来看看详细的介绍:
一、wget
wget是linux最常用的下载命令,一般的使用方法是:wget+空格+要下载文件的url路径
例1:
wgethttp://www.minjieren.com/wordpress-3.1-zh_CN.zip
下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是wordpress-3.1-zh_CN.zip
例2:
wget-Omyfilehttp://www.minjieren.com/wordpress-3.1-zh_CN.zip
通过-O参数,可以指定文件名,这里指定的是myfile
例3:
wgetwww.baidu.com
会在当前目录生成一个index.html文件
二、curl
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:#curl[option][url]
常见参数:
- -A/--user-agent
设置用户代理发送给服务器 - -b/--cookie
cookie字符串或文件读取位置 - -c/--cookie-jar
操作结束后把cookie写入到这个文件中 - -C/--continue-at
断点续转 - -D/--dump-header
把header信息写入到该文件中 - -e/--referer来源网址
- -f/--fail连接失败时不显示http错误
- -o/--output把输出写到该文件中
- -O/--remote-name把输出写到该文件中,保留远程文件的文件名
- -r/--range
检索来自HTTP/1.1或FTP服务器字节范围 - -s/--silent静音模式。不输出任何东西
- -T/--upload-file
上传文件 - -u/--user
设置服务器的用户和密码 - -w/--write-out[format]什么输出完成后
- -x/--proxy
在给定的端口上使用HTTP代理 - -#/--progress-bar进度条显示当前的传送状态
例:
curl-Ohttp://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-i586.tar.gz
下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是jdk-8u91-linux-i586.tar.gz。
注意:必须要加-O参数,否则是直接在控制台上显示文件内容了.
说明:这两个命令工具,linux系统中缺省不一定有的,如果没有,需要自己安装。如果是在ubuntu下。
可以执行如下命令进行安装
sudoapt-getinstallcurl
它们的区别有如下几点:
1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令。
2.curl支持更多的协议。curlsupportsFTP,FTPS,HTTP,HTTPS,SCP,SFTP,TFTP,TELNET,DICT,LDAP,LDAPS,FILE,POP3,IMAP,SMTPandRTSPatthetimeofthiswriting.WgetsupportsHTTP,HTTPSandFTP.
3.curl默认支持HTTP1.1(也支持1.0),而wget仅仅支持HTTP1.0规范。引用wget的manpage中的一段话吧,
PleasebeawarethatWgetneedstoknowthesizeofthePOSTdatainadvance.It'snotquiteclearhowtoworkaroundthislimitationinherentinHTTP/1.0.AlthoughHTTP/1.1introduceschunkedtransferthatdoesn'trequireknowingtherequestlengthinadvance,aclientcan'tusechunkedunlessitknowsit'stalkingtoanHTTP/1.1server.Anditcan'tknowthatuntilitreceivesaresponse,whichinturnrequirestherequesttohavebeencompleted--achicken-and-eggproblem.
4.curl在指定要下载的链接时能够支持URL的序列或集合,而wget则不能这样;
5.wget支持递归下载,而curl则没有这个功能。(这是wget的一个主要好处,wget也是有优势的,呵呵)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。