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$'