wget命令与curl命令都用来与服务器之间传输数据,有时候也用来测试网络连接。

wget命令

概述

GNU Wget 是一个免费实用程序,用于从 Web 非交互式下载文件。它支持HTTP、HTTPS和FTP协议,以及通过HTTP代理检索。下载地址为http://www.gnu.org/software/wget/

Wget 有如下特性:

  • Wget 是非交互式的,这意味着它可以在后台工作,而用户未登录。这允许你开始检索并断开与系统的连接,让 Wget 完成工作。相比之下,大多数 Web 浏览器都需要用户始终在场,这在传输大量数据时会是一个很大的障碍。
  • wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。
  • wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

详细内容参见Wget手册

调用

wget [option]… [URL]…

网络格式

URL是统一资源定位器的首字母缩写词。统一资源定位符是通过 Internet 提供的资源的紧凑字符串表示。Wget根据RFC1738识别URL语法 。这是最广泛使用的形式(方括号表示可选部分):

http://host[:port]/directory/file
ftp://host[:port]/directory/file

还可以在 URL 中对用户名和密码进行编码:

ftp://user:password@host/path
http://user:password@host/path

无论用户或密码,或两者,可以被排除在外。如果省略HTTP用户名或密码,则不会发送任何身份验证。如果省略FTP用户名,‘匿名的’ 将会被使用。如果省略FTP密码,你的电子邮件地址将作为默认密码提供。

选项

长选项所必须的参数在使用短选项时也是必须的。
启动:

-h,  --help              #打印此帮助。
-b,  --background        #启动后转入后台。

日志和输入文件:

-o,  --output-file=FILE    #将日志信息写入 FILE
-a,  --append-output=FILE  #将信息添加至 FILE
-d,  --debug               #打印大量调试信息
-q,  --quiet               #安静模式 (无信息输出)
-v,  --verbose             #详尽的输出 (此为默认值)
-nv, --no-verbose          #关闭详尽输出,但不进入安静模式--report-speed=TYPE   #输出带宽为TYPE。唯一接受的值是'bits'
-i,  --input-file=FILE     #下载本地或外部 FILE 中的 URLs
-F,  --force-html          #把输入文件当成 HTML 文件
-B,  --base=URL            #解析与 URL 相关的HTML 输入文件 (由 -i -F 选项指定)--config=FILE         #指定要使用的启动文件的位置,而不是默认位置

下载:

-t,  --tries=NUMBER            #设置重试次数为 NUMBER (0 代表无限制)--retry-connrefused       #即使拒绝连接也是重试
-O,  --output-document=FILE    #将文档写入 FILE
-nc, --no-clobber              #不要重复下载已存在的文件
-c,  --continue                #断点续传下载文件--progress=TYPE           #选择进度条类型
-N,  --timestamping            #只获取比本地文件新的文件
-T,  --timeout=SECONDS         #将所有超时设为 SECONDS 秒
-w,  --wait=SECONDS            #等待间隔为 SECONDS 秒--no-proxy                #禁止使用代理

目录:

-nd, --no-directories           #不创建目录
-x,  --force-directories        #强制创建目录
-nH, --no-host-directories      #不要创建主目录--protocol-directories     #在目录中使用协议名称
-P,  --directory-prefix=PREFIX  #以 PREFIX/... 保存文件--cut-dirs=NUMBER          #忽略远程目录中 NUMBER 个目录层

curl命令

简介

curl是一个非常强大的工具,它用来与服务器之间传输数据,其支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户图形界面交互下完成工作。
curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传。
curl可用于多种平台,不仅仅是Linux平台,其官方网址为https://curl.se

安装

以Ubuntu20.04为例,可以采取源码包安装方式,下载对应平台源码压缩包,解压后放在合适位置,然后添加环境变量;为简单起见,可通过apt命令安装二进制包:

sudo apt install curl

curl用法详解

命令格式

curl [options] [URLs]

参数介绍

curl命令参数非常多,此处只介绍常用的几项即可:

-C/--continue-at <offset>             #断点续转
-f/--fail                             #连接失败时不显示http错误
-o/--output                           #把输出写到该文件中
-O/--remote-name                      #把输出写到该文件中,保留远程文件的文件名
-s/--silent                           #静音模式,不输出任何东西
-T/--upload-file <file>               #上传文件
-u/--user <user[:password]>           #设置服务器的用户和密码
-x/--proxy <host[:port]>              #在给定的端口上使用HTTP代理
-#/--progress-bar                     #进度条显示当前的传送状态

其他参数可以参考How to Use文档。

用法举例

1、显示网页

curl https://curl.se

执行该命令,https://curl.se 页面以html格式显示在屏幕上,由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站。
2、下载文件

curl https://curl.se >> curl.html  #使用linux的重定向功能保存
curl -o curl.html https://curl.se  #使用curl的内置option:-o(小写)保存文件
curl -O https://curl.se  #使用curl的内置option:-O(大写)保存文件,这里的url要具体到某个文件,不然下载不下来

3、下载github文件
下载github仓库里一个具体文件方法如下,首先找到源文件链接:

如上图所示,点击raw找到源文件链接,然后按照上述方式下载文件。

httpie命令

curl与wget诞生于很早之前,虽然如此,它们依旧功能强大。现在也有很多有意思的新项目,比如HTTPie(读作 —aitch-tee-tee-pie—)——一个命令行 HTTP 客户端,拥有直观的界面,支持 JSON、语法高亮、下载功能(类似 wget)、插件支持等特性,其GitHub项目地址为https://github.com/httpie/httpie.

其设计目标是让 CLI 和 Web Service 的交互变得更友好。它提供了一个简单的 http 命令,可以让我们用简单且自然的语法发送任意 HTTP 请求,并且可以输出具有高亮显示的请求结果。HTTPie 可用于测试、调试以及通用的与 HTTP 服务器进行交互的场景。

apt软件源描述如下:

HTTPie 详细介绍参见HTTPie 中文文档.

Linux中的wget命令与curl命令相关推荐

  1. Linux命令之curl命令

    一.命令简介   curl命令在linux操作系统中经常来测试网络和url的联通性,模拟正常的网络访问.curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具 ...

  2. linux中一些隐藏的有趣的命令

    linux中一些隐藏的有趣的命令 linux有好多有趣的命令,也充分展现了开源的优势. figlet 字符画 figlet 可以将英文字符串以字符画的形式输出 安装 > yum install ...

  3. Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

    Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...

  4. [转帖]Linux中的15个基本‘ls’命令示例

    Linux中的15个基本'ls'命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...

  5. Linux中sudo、su和su -命令的区别

    Linux中sudo.su和su -命令的区别小结 我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改.下面这篇文章主要给大家总结介绍 ...

  6. linux中cat、more、less命令区别详解

    linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...

  7. Linux中解压zip包的命令是什么?

    Linux系统里的zip是一种创建压缩存档文件的常用方式,同时也是一种传统的文件归档文件格式,那么Linux中解压zip包的命令是什么?Linux解压zip包的命令是:unzip,该命令主要用于查看和 ...

  8. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...

  9. linux中zip文件解压命令,Linux中zip压缩和unzip解压缩命令使用方法

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.在Linux中,我们可以利用命令进行文件压缩,即zip压缩和unzip解压缩,这篇文章主要介绍了详解Linux中zi ...

最新文章

  1. 通信原理之IP协议,ARP协议 (三)
  2. 大数据 互联网架构阶段 电商项目简介
  3. matlab软件moran值,用matlab求moran并作图的具体步骤
  4. css scroll属性_CSS中的scroll-behavior属性
  5. docker on marathonmesos示例
  6. mac下多个php版本切换(可操作版)
  7. R语言中样本平衡的几种方法
  8. 如何将 Mac 置入睡眠状态或唤醒 Mac?
  9. java maven本地库导入本地包
  10. IPOP-CMA-ES:一种重启CMA-ES
  11. 数据挖掘十大算法(九):朴素贝叶斯原理、实例与Python实现
  12. 百年IBM:值得全球商界研究的转型变革典范
  13. 给每一辆车配上“×××”,老牌安企高新兴的交通新作
  14. 电脑知识:电脑被黑客攻击,那么如何电脑判断沦为“肉鸡”?
  15. 获取城市a-z jso列表
  16. vulnhub inclusiveness: 1
  17. 专访Testin云测总裁徐琨:十年浓墨重彩,笃行数字化转型
  18. 最简单DIY基于ESP8266的智能彩灯②(在网页用按键和滑动条控制RGB灯)
  19. 数字信号处理课程设计:语音信号采集与滤波处理系统设计与实现 (MATLAB)——(一)
  20. background-image的图片路径中图片名带括号后图片不显示

热门文章

  1. Python 匹配邮箱 正则
  2. Android编辑框不能输入汉字,Android编程中EditText限制文字输入的方法
  3. js实现弹出框时禁止页面滚动,关闭弹出框时恢复页面滚动
  4. 联诚发|一封来自中国中小企业国际合作协会的感谢信
  5. c语言课程设计计算器软件,C语言课程设计简单计算器程序.docx
  6. 台式计算机开机后主板不启动,电脑开不了机屏幕没显示怎么办?台式电脑开机黑屏维修技巧...
  7. iMazing最新V2.15.6版本最好的 iOS 设备管理器
  8. Word中给公式添加题注
  9. windows 电脑笔记本相机突然变成了黑白色
  10. 数据同步之采用时间戳的方法进行增量数据同步(一)