Linux排故命令合集

Linux排故命令合集

Linux下查看每个用户的进程数

# 命令1
ps -eo user=|sort|uniq -c
# 命令2
ps hax -o user | sort | uniq -c
# 命令3
ps aux |
awk 'NR>1{tot[$1]++;}
     END{for(id in tot)printf "%s %s\n",id,tot[id]}'

查看每个用户的文件打开数

for f in $(sed</etc/passwd 's/:.*$//g'); do ( echo -n $f ' '; lsof -u $f 2>/dev/null | wc -l ); done | grep -v ' 0$'

查找打开文件数最多的pid

lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr

查找大文件/目录

ncdu
#找出大于1G的文件
find . -type f -size +1G | xargs ls -lh |  awk '{ print $5 "  " $NF }'|sort -rh|head -n10
#目录容量前十排序
for i in G M K; do du -ah | grep [0-9]$i | sort -nr -k 1; done | head -n 11
#当前目录容量前十排序
du -hsx * | sort -rh | head -10

unzip 文件名乱码

由于zip格式中并没有指定编码格式, Windows下生成的zip文件中的编码是GBK/GB2312等, 因此, 导致这些zip文件在Linux下解压时出现乱码问题, 因为Linux下的默认编码是UTF8

unar file.zip
unzip -O cp936  file.zip

添加删除路由

# route 命令,添加默认路由
route add default gw 172.20.23.254 [eth0]
# ip 命令,添加默认路由
ip route add default via 192.0.2.2 dev eth0
# ip 命令,replace路由条目
ip route replace default via 192.0.2.1 dev eth0

tmp

ulimit -a|egrep '\-n|\-u'
sysctl fs.file-nr
# 文件打开数 - 以进程统计
for i in `ps --no-heading -eF| awk '{ print $2 }'`;do echo `ls /proc/$i/fd 2> /dev/null | grep -v mem | egrep -v '^COMMAND    PID' | wc -l` $i\(`ps -o uname= -p $i`\) `cat /proc/$i/cmdline 2> /dev/null`;done | sort -n -r | head -n 10
 
# 文件打开数 - 以用户统计 
for i in $(sed</etc/passwd 's/:.*$//g'); do ( echo -n $i ' '; lsof -u $i 2>/dev/null | wc -l ); done | grep -v ' 0$'
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容