项目 | 对应状态检查命令 |
---|---|
服务 | systemctl/service/chkconfig(CentOS6) |
进程 | ps/pstree/pgrep/pidstat/top/htop |
CPU | top/free/ps/iotop(swap)/vmstat/mpstat/sar/hcache(buffer+cache) |
磁盘 | iotop/iostat/sar |
网络 | iftop(整体宽带使用情况)/nethogs(精确到进程)/nstat/ifstat/mtr/sar |
硬件 | Megacli(raid)/ipmitool(温度,cpu,风扇转速)/Im_sensors(温度) |
curl
curl
是常用的命令行工具,用来请求 Web 服务。
不带有任何参数时,curl
就是发出 GET 请求,比如:curl https://www.example.com
-A
-A
参数指定客户端的用户代理标头,即User-Agent
。
下面命令将User-Agent
改成 Chrome 浏览器
1 | # 将`User-Agent`改成 Chrome 浏览器 |
-b
-b
参数用来向服务器发送 Cookie
1 | # 生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie |
-c
-c
参数将服务器设置的 Cookie 写入一个文件
1 | # 将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt |
-d
-d
参数用于发送 POST 请求的数据体
1 | # 使用 -d 参数,请求会自动加上标头 `Content-Type : application/x-www-form-urlencoded` |
--data-urlencode
--data-urlencode
参数等同于-d
,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码
1 | # 为什么需要URL编码? |
1 | # 发送的数据hello world之间有一个空格,需要进行 URL 编码 |
-e
-e
参数用来设置 HTTP 的标头Referer
,表示请求的来源
1 | # 将Referer标头设为https://google.com?q=example |
-F
-F
参数用来向服务器上传二进制文件
1 | # 将文件photo.png作为file字段上传,给请求自动加上标头 `Content-Type: multipart/form-data` |
-G
-G
参数用来构造 URL 的查询字符串
1 | # 发出一个 GET 请求,请求的URL为https://google.com/search?q=kitties&count=20。如果省略--G,会发出一个 POST 请求 |
-H
-H
参数添加 HTTP 请求的标头
1 | # 添加 HTTP 标头`Accept-Language: en-US` |
-i
-i
参数打印出服务器回应的 HTTP 标头
1 | # 下面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页返回的源码 |
-I
-I
参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来,等同于--head
选项
1 | # 什么是head请求? |
1 | # 输出服务器对 HEAD 请求的回应 |
-k
-k
参数指定跳过 SSL 检测
1 | # 下面命令不会检查服务器的 SSL 证书是否正确 |
-L
curl 默认不跟随重定向,-L
参数会让 HTTP 请求跟随服务器的重定向。
1 | curl -L -d 'tweet=hi' https://api.twitter.com/tweet |
--limit-rate
--limit-rate
用来限制 HTTP 请求和回应的带宽,模拟慢网速的环境
1 | # 将带宽限制在每秒 200K 字节 |
-o
-o
参数将服务器的回应保存成文件,等同于wget
命令
1 | # 将www.example.com返回的数据保存成example.html文件 |
-O
-O
参数也是将服务器回应保存成文件,并自动将 URL 的最后部分当作文件名
1 | # 将服务器回应保存成文件,文件名为bar.html |
-u
-u
参数用来设置服务器认证的用户名和密码
1 | # 设置用户名为bob,密码为12345,然后将其转为 HTTP 标头 `Authorization: Basic Ym9iOjEyMzQ1` |
-v
-v
参数输出通信的整个过程,用于调试
1 | curl -v https://www.example.com |
-X
-X
参数指定 HTTP 请求的方法
1 | # 对https://www.example.com发出 POST 请求 |
wget
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP下载,并可以使用HTTP代理。
查看最新的 wget 命令所有参数,可以直接输入wget -h
查看
下面给出几个 Linux wget 命令的使用示例
1、使用 wget 下载单个文件
1 | wget https://cn.wordpress.org/latest-zh_CN.zip |
2、下载并指定文件名保存
1 | wget -O wordpress.zip https://cn.wordpress.org/latest-zh_CN.zip |
3、wget 限速下载
1 | wget --limit-rate=300k https://cn.wordpress.org/latest-zh_CN.zip |
4、使用 wget 后台下载
1 | wget -b https://cn.wordpress.org/latest-zh_CN.zip |
5、使用 wget 断点续传
1 | wget -c https://cn.wordpress.org/latest-zh_CN.zip |
6、伪装浏览器下载
1 | wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" https://cn.wordpress.org/latest-zh_CN.zip |
7、测试下载链接
1 | wget --spider https://cn.wordpress.org/latest-zh_CN.zip |
8、增加重试次数
1 | wget --tries=40 https://cn.wordpress.org/latest-zh_CN.zip |
9、下载多个文件
1 | # filelist 里面都是 url, 通常以行分割 |
10、把下载信息存入日志文件
1 | wget -o download.log https://cn.wordpress.org/latest-zh_CN.zip |
11、FTP 下载
1 | wget --ftp-user=USERNAME --ftp-password=PASSWORD url |