以下是使用过程中记录的linux常用的shell命令,会持续更新。
1.查看特定端口服务占用情况
lsof -i:port
2.查看机器缓存命令
free -m
3.清理缓存的命令
echo 1 >/proc/sys/vm/drop_caches
echo 2 >/proc/sys/vm/drop_caches
echo 3 >/proc/sys/vm/drop_caches
4.CentOs7以后防火墙相关操作
(1)添加开放端口 以8080端口为例
firewall-cmd --zone=public --add-port=8080/tcp --permanent
(2)重启防火墙
firewall-cmd --reload
(3)查看防火墙状态
firewall-cmd --state
(4)查看开放的端口
firewall-cmd --list-ports
(5)关闭防火墙端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
(6)启动/关闭防火墙
systemctl start firewalld.service ;systemctl stop firewalld.service
5.服务占用情况 以“redis”为例
ps -ef | grep redis
6.端口服务占用情况
netstat -lnp | grep 6379
netstat -anplt|grep 80
7.centos7下启动redis服务
8.linux下tomcat安装和使用(apache-tomcat-8.5.31.tar.gz为例)
解压缩tar.gz:
tar zxvf apache-tomcat-8.5.31.tar.gz
启动起来就完事儿了:进入bin目录下,执行./startup.sh即可。
9.linux中卸载jenkins命令
(1)rpm卸载
rpm -e jenkins
(2)检查是否卸载成功
rpm -ql jenkins
==》package jenkins is not installed
(3)彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf
10.查看不同连接状态的连接数量
netstat -n | awk '/^tcp/{++S[$NF]}END{for (a in S) print a,S[a]}'
//查看不同ip的连接情况
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
返回内容如下:
11.查看使用的垃圾回收器
java -XX:+PrintCommandLineFlags -version
12.日志查看的搜索(以catalina.yyyy.MM.dd.out文件为例)
tail -f catalina.yyyy.MM.dd.out
cat catalina.yyyy.MM.dd.out | grep 'demo'|more //会对结果分页,按空格键翻页查看
cat catalina.yyyy.MM.dd.out | grep 'demo' -A/-B/-n 20 //查看之后、之前、前后的20行
cat catalina.2020-05-28.out | grep 'numActive:'| tail -n 30 | head -n 10 //过滤末尾结果最后30条记录的前10条
cat catalina.yyyy.MM.dd.out | grep 'demo' > demo.txt //将过滤结果输出到demo.txt中
sed -n '/2020-05-28 13:40:59/,/2020-05-28 13:41:10/p' catalina.2020-05-28.out //按照具体日期查询
sed -n '/2020-05-28 13:40:59/,/2020-05-28 13:41:10/p' catalina.2020-05-28.out | grep 'jedis_token:' | wc -l //特定日期区间内特定关键字出现的次数
cat catalina.yyyy.MM.dd.out | grep ''|WC -l