linux工具之curl与wget高级使用

简介: linux工具之curl与wget高级使用

1、curl(文件传输工具)

常用参数如下:

-c,--cookie-jar:将cookie写入到文件

-b,--cookie:从文件中读取cookie

-C,--continue-at:断点续传

-d,--data:http post方式传送数据

-D,--dump-header:把header信息写入到文件

-F,--from:模拟http表达提交数据

-s,--slient:减少输出信息

-o,--output:将信息输出到文件

-O,--remote-name:按照服务器上的文件名,存在本地

--l,--head:仅返回头部信息

-u,--user[user:pass]:设置http认证用户和密码

-T,--upload-file:上传文件

-e,--referer:指定引用地址

-x,--proxy:指定代理服务器地址和端口

-w,--write-out:输出指定格式内容

--retry:重试次数

--connect-timeout:指定尝试连接的最大时间/s

使用示例:

例1:抓取页面到指定文件,如果有乱码可以使用iconv转码

# curl -o baidu.html www.baidu.com

# curl –s –o baidu.html www.baidu.com |iconv -f utf-8  #减少输出信息

例2:模拟浏览器头(user-agent)

# curl -A "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.0)" www.baidu.com

例3:处理重定向页面

# curl –L http://192.168.1.100/301.php   #默认curl是不处理重定向

例4:模拟用户登陆,保存cookie信息到cookies.txt文件,再使用cookie登陆

# curl -c ./cookies.txt -F NAME=user -F PWD=***URL            #NAME和PWD是表单属性不同,每个网站基本都不同

# curl -b ./cookies.txt –o URL

例5:获取HTTP响应头headers

# curl -I http://www.baidu.com

# curl -D ./header.txt http://www.baidu.com   #将headers保存到文件中

例6:访问HTTP认证页面

# curl –u user:pass URL

例7:通过ftp上传和下载文件

# curl -T filename ftp://user:pass@ip/docs  #上传

# curl -O ftp://user:pass@ip/filename   #下载

博客:http://lizhenliang.blog.51cto.com

2、wget(文件下载工具)

常用参数如下:

2.1 启动参数

-V,--version:显示版本号

-h,--help:查看帮助

-b,--background:启动后转入后台执行

2.2 日志记录和输入文件参数

-o,--output-file=file:把记录写到file文件中

-a,--append-output=file:把记录追加到file文件中

-i,--input-file=file:从file读取url来下载

2.3 下载参数

-bind-address=address:指定本地使用地址

-t,-tries=number:设置最大尝试连接次数

-c,-continue:接着下载没有下载完的文件

-O,-output-document=file:将下载内容写入到file文件中

-spider:不下载文件

-T,-timeout=sec:设置响应超时时间

-w,-wait=sec:两次尝试之间间隔时间

--limit-rate=rate:限制下载速率

-progress=type:设置进度条

2.4 目录参数

-P,-directory-prefix=prefix:将文件保存到指定目录

2.5 HTTP参数

-http-user=user:设置http用户名

-http-passwd=pass:设置http密码

-U,--user-agent=agent:伪装代理

-no-http-keep-alive:关闭http活动链接,变成永久链接

-cookies=off:不使用cookies

-load-cookies=file:在开始会话前从file文件加载cookies

-save-cookies=file:在会话结束将cookies保存到file文件

2.6 FTP参数

-passive-ftp:默认值,使用被动模式

-active-ftp:使用主动模式

2.7 递归下载排除参数

-A,--accept=list:分号分割被下载扩展名的列表

-R,--reject=list:分号分割不被下载扩展名的列表

-D,--domains=list:分号分割被下载域的列表

--exclude-domains=list:分号分割不被下载域的列表

使用示例:

例1:下载单个文件到当前目录下,也可以-P指定下载目录

# wgethttp://nginx.org/download/nginx-1.8.0.tar.gz

例2:对于网络不稳定的用户可以使用-c和--tries参数,保证下载完成

# wget --tries=20 -c http://nginx.org/download/nginx-1.8.0.tar.gz

例3:下载大的文件时,我们可以放到后台去下载,这时会生成wget-log文件来保存下载进度

# wget -b http://nginx.org/download/nginx-1.8.0.tar.gz

例4:可以利用—spider参数判断网址是否有效

# wget --spider http://nginx.org/download/nginx-1.8.0.tar.gz

例5:自动从多个链接下载文件

# cat url_list.txt   #先创建一个URL文件

http://nginx.org/download/nginx-1.8.0.tar.gz

http://nginx.org/download/nginx-1.6.3.tar.gz

# wget -i url_list.txt

例6:限制下载速度

# wget --limit-rate=1m http://nginx.org/download/nginx-1.8.0.tar.gz

例7:登陆ftp下载文件

# wget --ftp-user=user --ftp-password=pass ftp://ip/filename


相关文章
|
2月前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
363 3
|
2月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
179 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
260 16
|
4月前
|
缓存 监控 Linux
Linux系统性能调优技巧和相关工具
Linux 作为一种应用应展和系统服务的优选操作系统,在处理性能和端到端点评估上持有出色表现。但是,在处理进程或系统处于低效状态时,性能调优就显得十分重要。本文将探讨一些 Linux 系统性能调优的常用技巧,并介绍相关工具
148 0
Linux系统性能调优技巧和相关工具
|
4月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
511 16
|
3月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
关系型数据库 MySQL Linux
linux 的实用工具分享
做开发用Linux感觉比Windows在一些地方要好用(只是个人感觉,不想引战),在Linux中没有烦人的广告弹窗,没有动不动给你惊喜的Windows强制更新,而且Linux相对Windows要流畅,在低配的电脑上也很少卡顿.现在很多开发软件都有Linux版本,使用起来也算方便.当然,要是玩游戏等娱乐使用,还是Windows牛逼.我现在写代码基本都使用Linux.我用的Ubuntu18.04。
2203 0
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
413 1
二、Linux文本处理与文件操作核心命令
下一篇
oss云网关配置