wget、curl命令

wget 命令用法

wget 常用参数:
Usage: wget [OPTION]... [URL]...
  -V,  --version           显示wget版本即退出.
  -h,  --help              打印帮助信息.
  -b,  --background        后台下载.
  -e,  --execute=COMMAND   执行.wgetrc风格的命令.
  -o,  --output-file=FILE    日志覆盖输出到指定文件,如不指定,默认输出到前端或者后台启动时输出到wget-log文件
  -a,  --append-output=FILE  日志追加输出到指定文件.
  -d,  --debug               打印大量debug信息.
  -q,  --quiet               静默 (没有输出).
  -v,  --verbose             可视化 (这个是默认的).
  -nv, --no-verbose          关掉冗长,不要安静.
       --report-speed=TYPE   Output bandwidth as TYPE.  TYPE can be bits.
  -i,  --input-file=FILE     下载本地文件或外部文件中的url地址文件.
  -F,  --force-html          将输入文件视为HTML.
  -B,  --base=URL            resolves HTML input-file links (-i -F) relative to URL.
       --config=FILE         指定要使用的配置文件.
  -O,  --output-document=FILE    重命名下载的文件.
  -nc, --no-clobber              文件已存在时跳过下载,即不下载.
  -c,  --continue                断点续传.
       --user=USER               指定ftp和http用户名
       --password=PASS           指定用户密码

更多查看请查看 wget --help       

wget使用示例

#不加任何参数直接下载
wget http://nginx.org/download/nginx-1.25.2.tar.gz
#-O 参数重命名文件
wget  -O nginx-1.25.tar.gz http://nginx.org/download/nginx-1.25.2.tar.gz 
#-b,--background 后台下载,下载大文件时很有用,不用占着前端,如不使用-o指定日志输出文件,则日志默认输出到 wget-log
#当-b后台下载多个文件且不指定输出日志文件时,日志自动默认wget-log、 wget-log.1、 wget-log.2以此类推
wget -b  http://nginx.org/download/nginx-1.25.2.tar.gz 
#-o是日志覆盖输出到指定文件,文件不存在则自动创建
wget -o download.log -b  http://nginx.org/download/nginx-1.25.2.tar.gz 
#-a是日志追加输出到指定文件,文件不存在则自动创建
wget -a download.log -b  http://nginx.org/download/nginx-1.25.2.tar.gz 
wget -a download.log -b http://nginx.org/download/nginx-1.25.2.tar.gz 
#-i从文件中读取url下载
cat > url.txt << EOF
http://nginx.org/download/nginx-1.25.2.tar.gz 
http://nginx.org/download/nginx-1.25.5.tar.gz 
EOF
wget -a download.log -b -i url.txt
#-c,--continue,断点续传,重新启动下载中断的文件,下载大文件时突然由于网络等原因中断时该参数非常有用
wget -c http://nginx.org/download/nginx-1.25.2.tar.gz 	
#指定用户密码
wget --user=admin --password=admin http://192.168.244.2/single_export~aihib-bzb-1.3.0-c2_delivery~1675741403047.tar

curl 命令

curl 是一个命令行工具,用于发送和接收数据,通常用于与网络服务进行通信。它支持多种协议,包括 HTTP、HTTPS、FTP、SMTP 等等,因此可以用于各种不同的用途,例如下载文件、上传文件、执行 HTTP 请求以及测试网络服务的可用性。

curl常用参数:
[root@rancher ~]# curl  -h
Usage: curl [options...] <url>
 -d, --data DATA      发送POST请求时附加的数据。当使用此选项时,curl会自动将请求方法设置为POST
     --data-ascii DATA  HTTP POST ASCII data (H)
     --data-binary DATA  二进制发送数据
     --data-urlencode DATA  HTTP POST data url encoded (H)
     --delegation STRING GSS-API delegation permission
     --digest        Use HTTP Digest Authentication (H)
     --disable-eprt  Inhibit using EPRT or LPRT (F)
     --disable-epsv  Inhibit using EPSV (F)
     @- 表示从标准输入
     @data.json	表示从
 -H, --header LINE   添加自定义HTTP头部信息。此选项可以多次使用以添加多个头部信息
 -o, --output FILE   输出到指定文件
 -X, --request 		指定请求方法,-X GET请求指定为GET方法,默认是GET,-X POST请求指定为POST方法,-X PUT请求指定为PUT方法
 -s, --silent        即不显示文件统计信息
 -u, --user USER[:PASSWORD]  指定用户名和密码
curl示例:
#HTTP GET请求
curl https://www.example.com
curl -XGET  https://www.example.com
#送POST请求,并将JSON数据作为请求体
#请求头部-H指定了Content-Type为application/json,表示请求体的内容类型为json格式
#请求体-d是json字符串,表示要发送到服务器的数据。
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' https://api.example.com
curl -u elastic:elastic@123 -XPOST -H "Content-Type: application/json" 'http://localhost:8900/_aliases' -d  '
{
    "actions": [{
            "add": {
                "index": "level1_2022-06-06",
                "alias": "level1"
            }
        },
        {
            "add": {
                "index": "road2021-02-07",
                "alias": "road"
            }

        }
    ]
}'

#-d从文件中读取数据
cat data.json
{  
  "name": "John",  
  "age": 30  
}
curl -X POST -H "Content-Type: application/json" -d @- <data.json https://api.example.com

#使用基本身份验证进行身份验证,username和password替换为实际的用户名和密码
curl -u username:password https://api.example.com

#-s 不显示文件的统计信息
curl -s http://dev.registry.com:5000/v2/_catalog

#-o,--outfile 表示将下载输出到指定文件,也就是下载文件时重命名文件
curl -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3

# -i显示响应头

[root@rancher elk]# curl -i "192.168.244.150:9202"		#这种表示无响应
curl: (7) Failed connect to 192.168.244.150:9202; Connection refused
#有响应,只是404而已,不要看到是404就觉得无响应,这其实是有响应的,说明对方端口是通的,只是url地址不存在才响应404
[root@rancher elk]# curl -i "192.168.244.150:9200/dddd"		
HTTP/1.1 404 Not Found
X-elastic-product: Elasticsearch
Warning: 299 Elasticsearch-7.17.12-e3b0c3d3c5c130e1dc6d567d6baef1c73eeb2059 "Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security."
content-type: application/json; charset=UTF-8
content-length: 353

你可能感兴趣的:(centos命令大全,shell脚本编程,linux)