常用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年所有日志中的错误信息;
 
 
 
 

你可能感兴趣的:(linux)