Shell 命令合集

磁盘空间分析

磁盘空间不足,需快速定位目录

du -x --max-depth=1 / | sort -k 1 -nr
# 统计根目录下磁盘空间使用情况

# -x 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
# --max-depth 统计第一级目录深度

# -k 按照哪一列进行排序
# -n 对数值进行排序
# -r 反向排序

# 注意:此处du命令没有是用-h参数,用了之后如果出现单位不一致的情况后会导致排序不准

系统产生很多碎片文件,导致iNode资源不足

find / -type f | awk -F "/" -v OFS="/" '{$NF="";dir[$0]++}END{for(i in dir)print dir[i]" "i}' | sort -k 1 -nr | head

CPU和内存分析

查看当前占用CPU最多的几个进程

查看当前占用内存最多的几个进程

查看CPU信息

查看CPU负载

查看OOM情况

内存信息查看(使用ps_mem工具)

文件操作

批量查找文件作内容替换

批量查找文件作拷贝打包

网络连接状态分析

了解用户连接请求所建立的网络连接状态

提取主机上的IP信息

检测系统中的僵尸进程并将其kill

这个命令组合是将僵尸进程的父进程kill掉,进而关闭僵尸进程。为什么要这么做呢?其实一般僵尸进程很难直接kill掉,因为僵尸进程已经是死掉的进程,它不能再接收任何信号。所以,需要kill僵尸进程的父进程,这样父进程被kill掉后,僵尸进程就成了孤儿进程,而所有的孤儿进程都会交给系统的1号进程(init或systemd)收养,1号进程会周期性地去调用wait来清除这些僵尸进程。因此可以发现,父进程kill掉之后,僵尸进程也随着消失了,这其实是1号进程作用的结果。

BASH 常用命令

history

Last updated