Linux命令总结

CURL命令

curl -H "Content-Type: application/json" -X POST -d '{"user_id": "123", "coin":100, "success":1, "msg":"OK!" }' "http://192.168.0.1:8001/test"

CURL 发送POST请求 -H 请求头 -d POST内容 -X 请求协议

https://www.cnblogs.com/fan-gx/p/12321351.html

find命令

在/app/目录中查找,名字为java的文件或文件夹

find /app/ -name java

当前服务器tcp连接

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

本地进入redis客户端

./redis-cli -h 127.0.0.1 -p 63790 -a ReDIs_sMs7N610

清理mysql日志

以root身份执行

sudo su

查看当前剩余空间

df -h

查看日志大致范围

ll /app/mysql/logs

然后进入

cd /root/dbash on_mysql.sh

根据需要的时间进行删除日志

purge master logs before '2018-09-09 12:00:00';

/app/mysql/logs/slowquery.log日志会比较大,只能清空,不能删除

echo "">slowquery.log

查询端口占用

netstat -apn | grep 8090

查询应用占用

ps -ef | grep tomcat

服务器之间发送文件

scp flowbilling.war [email protected]:/home/dxrd/dmflow/apache-tomcat-6.0.44_8091/webapps/

tcpdump命令

sudo tcpdump -i any port 19100 -s0 -w 1.cap

抓到入口为7890,10.20.36.103 和 123.103.15.131之间的通讯,保存为2.cap文件

sudo tcpdump port 7890 and host 10.20.36.103 and 123.103.15.131 -s0 -w 2.cap

sed命令

将configTest.xml中的key全部替换为keys

sed -i 's/key/keys/g' configTest.xml

awk命令

可以参考:https://www.cnblogs.com/xudong-bupt/p/3721210.html

查找出smsp_access_http.access.log文件包含b00ae3的行,

(BEGIN{FS="[\\[\\]]"})并以"["和"]"作为分隔符,

({print $2})打印被分隔符分割的第二个字符($1为打印"10.20.36.109 - -",$2为打印"11/Jan/2019:20:55:29 +0800",$0为打印一整行),

(sort)对出现的字符串进行排序,

(uniq -c)去重复,并计算每行出现的次数,

(BEGIN{FS="[ ]+")以1个或多个" "空格为分隔符,

({if(NR == 1){print"time,num"}; )如果当前行号为1,则输出"time,num",

( print $4","$2})输出以1个或多个" "空格为分隔符后,第4个字符,第2个字符,

( > smsp_access_http.error.csv)保存到smsp_access_http.error.csv文件中。

包含的行日志格式为:

10.20.36.109 - - [11/Jan/2019:20:55:29 +0800] "POST /sms-partner/access/b00ae3/sendsms HTTP/1.0" 200 136 "-" "Apache-HttpClient/4.5.3 (Java/1.7.0_76)" "101.236.11.34" "0.016" "0.016" "10.20.36.130:19000

grep "b00ae3" /app/nginx/logs/smsp_access_http.access.log | awk 'BEGIN{FS="[\\[\\]]"} {print $2}' | sort | uniq -c | awk 'BEGIN{FS="[ ]+"} {if(NR == 1){print"time,num"}; print $4","$2}' > smsp_access_http.error.csv

保存到csv后效果如下:


awk保存到csv效果图

awk 查询某个字段大于某个值

注意if要小写

日志格式:

103.239.245.238 - - [21/Jan/2019:11:56:39 +0800] POST /sms-partner/access/b055n2/sendsms HTTP/1.1 "200" 170 "-" "Apache-HttpClient/4.5.3 (Java/1.8.0_191)" "-" "10.20.36.129:19000" "0.088" "0.015"

103.239.245.238 - - [21/Jan/2019:11:56:39 +0800] POST /sms-partner/access/b055n2/sendsms HTTP/1.1 "200" 170 "-" "Apache-HttpClient/4.5.3 (Java/1.8.0_191)" "-"  "10.20.36.130:19000" "0.089" "0.016"

判断用"分割后第12个字段在大于1时($12>1),输出整行数据($0)命令:

awk 'BEGIN{FS="[\"]"} {if($12>1){print $0}}' /usr/local/nginx/logs/smsp_http.access.log

查询公网出口

通过curl命令确定服务器的公网出口

请求的地址:myip.ipip.net、cip.cc、ifconfig.me、ip.cn

解压缩

压缩

将目录里所有jpg文件打包成jpg.tar.

tar -cvf jpg.tar *.jpg

将目录里所有jpg文件打包成tar.jpg 再压缩成gz

tar -czf jpg.tar.gz *.jpg

解压

解压 tar包

tar -xvf file.tar

/解压 tar.gz包

tar -xzvf file.tar.gz

不解压查看压缩文件内容:

zcat [fileName]|grep --binary-files=text ['target string']

例如:zcat app-12-01-*|grep --binary-files=text 'NullPointerException' -C 2|grep '161201094153583'

zcat命令查看一个gzip格式的压缩文件。

--binary-files=text让二进制文件等价于文本文件

ps命令

根据进程的线程查看cpu占用等信息,12378是实际的进行pid

top -Hp 12378

查看进程的开始时间(lstart:Fri Jan 11 20:08:09 2019),运行时间(lstart:47-21:02:31)

ps -eo pid,tty,user,comm,lstart,etime | grep access

lsof命令

根据端口号查询进程

lsof -i:8150

返回为

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java    240118 dapp  24u  IPv6 33328583      0t0  TCP *:8150 (LISTEN)

jmeter命令

使用verify-test-ysy.jmx脚本执行jmeter.sh,将详细日志(-l)保存为jtl,将测试结果(-e -o

)保存到zzq-500-300-400目录下

/bin/sh /app/soft/jmeter/apache-jmeter-3.2/bin/jmeter.sh -n -t /app/soft/jmeter/apache-jmeter-3.2/bin/verify-test-ysy.jmx -l /app/soft/jmeter/logs/zzq-500-300-400.jtl -e -o /app/soft/jmeter/result/zzq-500-300-400

查看linux目录磁盘占用总量

查看/var目录下,最多进一层查看磁盘占用总量

du --max-depth=1 -h /var/

你可能感兴趣的:(Linux命令总结)