1.进程资源使用情况
#进程资源使用分析
top
#线程资源使用分析
top -Hp pid
2.磁盘使用情况查询
df -h
df -h folder 查询文件的挂载盘
du sh *
du sh * | sort -n
3.内存使用情况查询
free -h
total: 总内存
used: 已经使用内存
free: 完全空闲内存
shared: 共享的内存
buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
cached: 用于文件内容的缓冲
available:真正剩余的可被程序应用的内存数
total = used + free + buffers/cached
available = free + buffers/cached
真实可用内存还要看free,buffers/cached也是系统使用内存
4.查询文件
find -name xx.xx[*.xx xx.*]
# 查询大于10k小于30K -a and
find *.jpg -size +10k -a -30k
# 查找删除jpg文件
find *.jpg -exec rm {} \;
# 查找目录下10天[mtime 10分钟 mmin]前创建的文件并删除
find ./ -type f -name "*logFile*.zip" -mtime +10 -delete
# 查找目录下5天[mtime 10分钟 mmin]前创建的文件并删除 [xargs rm -rf 强制删除]
find ./ -mtime +5 |xargs rm -rf
# -l长列显示 -r倒序 -t修改时间排序 [--full-time 完整显示时间] [tail -10 取前10个]
ls -lrt --full-time | tail -10 | xargs rm -rf
atime:(access time)
文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。
mtime: (modify time)
文件内容被修改的最后时间,比如用vi编辑时就会被改变。
ctime: (change time)
显文件的权限、拥有者、所属的组、链接数发生改变时的时间。当然当内容改变时也会随之改变。
# 查看当前目录下文件与文件夹的大小,从小到大排列
du -sh * | sort -n
du -sh xx
5.stat 命令查询文件的变更情况
6.Java进程查看
ps -ef | grep java
jps
7.网络监控
netstat -n | grep tcp | grep 侦听端口 | wc -l
netstat -antp | grep 8088 | grep ESTABLISHED -c # 服务请求连接数
8.日志分析
cat # cat -n xx.log 加行号展示 cat xx.log > xxx.log 全屏显示文件内容适合小文件
grep # grep -i 'xx' xx.log -A3[下三行 ] -B3[上三行] -C3[上下三行] \ grep -E 'A|B'aa.log 查询包含A或者B的行
# grep -i 'xx' xx.log 忽略大小写
# grep -n 'xx' xx.log 行号
# grep -v 'xx' xx.log 反向查询(不包含)
# grep -O 'xx' xx.log 只打印查询到的词
# grep -w 'xx' xx.log 精准匹配 a 只返回 a ab不会返回
# grep -e 'xx' -e 'bb' xx.log 多项匹配查询
# grep -E 'xx' xx.log 正则匹配查询
head tail # head头查询 tail 尾查询 tail -fn300 xx.log 滚动查询后300行
more less # 分页展示的cat ,more 按空白键(space)向下翻页 b 回退, less【pgUppgDn 】 +/pattern 搜索查找
9.编辑文件
vi、vim
i a o # 进入编辑、插入模式
v # 进入视图、可视模式
q! # 不保存退出
wq 、Shift +ZZ # 保存退出
gg # 回到头部
G # 底部
# 清空文件
echo "" > xx.log
# 追加信息到文件
echo "abc" >> xx.log
10.防火墙
1.在/etc/sysconfig/iptables里添加
# vi /etc/sysconfig/iptables
添加一条配置规则,如要想开放8080的端口,如下所示:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 –j ACCEPT
2:查看防火状态
systemctl status firewalld
service iptables status
3:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
4:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
5:重启防火墙
systemctl enable firewalld
service iptables restart
6:永久关闭后重启
//暂时还没有试过
chkconfig iptables on
11.重启网卡
#centos6
nservice network restart
#centos7
systemctl restart network
#centos8
nmcli c reload +网卡名
12.ZIP解压缩
zip -q -r xxx.zip ./xxx
unzip xxx.zip
13.linux内部命令失效修复
export PATH=/bin:/usr/bin:$PATH
14.账号密码
# 新增用户
useradd aaa
# 设置密码
passwd root
15.AWK
grep "cost" xx.log | awk -F " " '{if($17 > 500) print $0}'
grep 查找符合日志
awk
-F 脚本匹配
" " 根据空格分段
'' 脚本区域
$ 分段标识 从1开始 $0标识全部匹配
16.关闭端口占用程序
sudo fuser -k 80/tcp
17.grep “Binary file stdout.log matches”
原因: 查询的文件被认为是二进制文件
解决:grep 后面关键字前面加个 -a
grep -a "xxx" xxx.log
@浅见 @如有疏漏请帮忙补充完善 @开发一家人 0000016 持续更新 感兴趣可以 点赞 收藏 评论 大家一起交流呀