脚本练功

  对于经常需要在类UNIX环境下进行开发,深厚的脚本功底几乎算是必须的,这点上开发真的得多向运维的童鞋们学习学习。做运维攻城狮很大程度上依靠脚本及类脚本的工具来工作。对于开发过程,若是有扎实的脚本功底,平时工作的效率提升不是一点半点,让手里的工作自动化。 尤其现在推行DevOps的概念,公司里的日常服务器运维工作基本都交由开发了。

一.find

   find命令使用的场景比较多,首先是一头雾水的时候,需要查找可能有用的文件

  1.查找指定目录下的指定文件

  find . -name "test"

  2.查找指定目录下的大文件(一般经常磁盘容量不够报警,需要清除)

find . -type f -size +40M  -print0 | xargs -0 du -h | sort -nr | head -12

  查找当前目录下,文件类型,大小超过40M的文件并打印出来,按照逆序排序,仅列出前12个

  3.查找深度为2的大目录并排序

du -h --max-depth=2 | sort -n

 

  可以参考这篇文章,写的不错

  http://www.cnblogs.com/kerrycode/p/4391859.html

 

二.grep

   统计文本中某字符串出现次数,结合wc命令。参数 -l 表示统计行数

grep -o "success" ./revise-5121498611000225.log | wc -l

 

三. split

文件分割

摘自:http://blog.csdn.net/lsbhjshyn/article/details/9404225

split -l 1000 message.log message    #按每个文件1000行来分割

split -b 5m message.log message    #按每个文件5M来分割

 

1 time ./test.sh 20145544

 

 

3.编写自动运行的脚本

4.环境变量的配置

临时环境变量配置:

export PATH=/yourdirectory/:$PATH

永久环境变量:

写入启动脚本中

 

5.VI/VIM的使用和配置

 

6.获取shell脚本执行时间

time ./test.sh 20150216

 

7.正则表达式匹配。

 

每天想一想,你还和沙比一起共事,能不快点努力么?再想想,恶心不?

 

posted @ 2017-07-04 13:43  XiaoH在博客园  阅读(216)  评论(0编辑  收藏  举报