惯用linux应用脚本收集
常用linux应用脚本收集
linux下查看swap分区被哪些进程占用实现脚本
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr
统计当前netstat命令的各种状态的总数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
列出文件列表的其中某一项,并排列:
ls -l | perl -lane 'print $F[+4]' | sort -n
列出:
ls -l|perl -lane 'print join " ",@F[5..8]'
批量对大写文件重命名为小写:
perl -e 'for (@ARGV) { rename , lc() ; }' *
日志文件处理脚本:
1. 对内容进行查询: cat mylog.txt ; 2. 对内容中的可能要查询的文本进行查看: cat mylog.txt | grep "exception" #包含exception的文字的内容行 3. 对内容中的错误行取其上下多少行,用来获取到所有错误相关的堆栈: cat mylog.txt | grep -C 10 "exception" # 取10行 4. 对内容的错误行直接打印在屏幕,并要求能上下翻页: cat mylog.txt | grep -C 10 "exception" | less #如果要中断,ctrl+c不好使,输入q就退出了;支持上下翻页键; 5. 对内容的错误行进行统计数量: cat mylog.txt | grep -C 10 "exception" | wc -l 6. 对内容的错误行打印到文件中: cat mylog.txt | grep -C 10 "exception" > printout.err 7. 对内容的的错误行进行过滤,只看其中某一列: cat mylog.txt | grep -C 10 "exception" | awk "{print $2}" | less #取第二列,比如第二列是时间; 8. 对内容的错误行进行行去重: cat mylog.txt | grep -C 10 "exception" | uniq -c 9. 对内容的错误行进行排序: cat mylog.txt | grep -C 10 "exception" | awk "{print $2}" | uniq -c |sort -n | less #假设第二列是时间,则此命令为去重,然后再按时间进行了排序; 10. 对多个文件,或目录进行错误信息的查询过滤: cat mylog_2014* | grep -C 10 "exception" | awk "{print $2}" | less #查询2014年所有日志中的错误信息;