Shell编程实例
乌托邦2号
乌托邦
展开
-
shell实例浅谈之十一单实例运行(shell运行一次)
Linux Shell单实例运行原创 2014-11-11 21:24:48 · 3585 阅读 · 1 评论 -
shell工作应用总结
一、简介 linux下shell在工作中的部分总结,仅供参考使用。二、详解(1)svn文件修改错乱,重新更新#!/usr/bin/shCURRENT_DIR=`pwd`echo "开始从SVN上面重新导入当前目录下所有源码"TMP_DIR=`ls -R | grep './'`for MK_DIR in $TMP_DIRdo DIR_LEN=`e原创 2015-11-01 23:07:37 · 1649 阅读 · 0 评论 -
shell实例浅谈之一判断是可执行文件并存在PATH路径中
一、简介 Shell中别名可以对命令进行重新命名,方便用户记忆长命名和定制自己熟悉的工作环境;列表是一组命名以逻辑与、逻辑或的关系串在一起,实现脚本程序的逻辑控制;数组是一重点,涉及数组的赋值、操作和字符串的处理,以及利用数组实现堆栈和二维数组等数据结构的存储。二、详解1、别名(1)函数2、列表 shell中3、数组原创 2014-10-08 20:03:38 · 5031 阅读 · 0 评论 -
shell实例浅谈之十四利用crontab自动清除日志
一、问题 linux下运行程序有时会产生大量的记录日志,以便排除隐藏很深的问题,但时间一长就会占用很多的磁盘空间。每天手动清除也比较麻烦,因此一个定时脚本执行是很有必要的。二、详解 (1)删除文件shell命令find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;实例命令:find /原创 2015-01-22 19:20:43 · 6684 阅读 · 0 评论 -
shell实例浅谈之十检测整数、浮点数和日期数的合法性
一、问题 格式化输出大数字,使得输出结果更清晰地看出数字的数量级。默认用逗号(可用-d指定整数的分隔符)分隔整数部分,用点号(可用-t指定整数与小数的分隔符)分隔整数与小数部分。如1123456789.012输出为1,123,456,789.012。二、详解 (1)算法1123456789.012输出为1,123,456,789.012。i、首先分开整数部原创 2014-10-21 15:01:15 · 2431 阅读 · 1 评论 -
shell实例浅谈之九格式化输出大数字
一、问题 输入日期格式字符串“month-day-year”,仅将month设置成三个字母显示,第一个字母大写第二到三个字母小写(判断day和year基本相似,此处暂不处理)。 先判断month是数字还是单词,若是单词取前三个字母并格式化,若为数字则直接对应成字母。 二、详解#处理month为字母,第一个字母大写,其余小写#!/bi原创 2014-10-20 16:33:22 · 4202 阅读 · 1 评论 -
shell实例浅谈之十二批量解压zip文件
一、问题 解压很多相似zip文件中的部分文件。二、详解 (1)判断参数判断参数是否为空:if [ -z "$1" ];then echo "please input parameter" exitelse echo "parameter 1: $1"fi判断参数个数小于3个:if [ $# -lt 3 ] ; then原创 2014-11-25 18:56:32 · 8357 阅读 · 0 评论 -
shell实例浅谈之八日期串中month设为特殊格式
一、问题要求用户输入的串由大小写字母、数字组成,无标点、特殊符号和空格。二、详解1、替换法将输入的串中非字母数字的内容删除或替换成空后,若与原来输入的相同则合法,否则不合法。#!/bin/bashisValidAlphaNumber(){ result="$(echo $1 | sed 's/[^[:alnum:]]//g')" #替换非字母数原创 2014-10-15 18:12:37 · 1534 阅读 · 0 评论 -
shell实例浅谈之七检测用户输入串的合法性
一、问题 Sed和AWK在处理文件方面有很强的优势,还有head和tail等文件处理工具的使用,grep也可实现文本的搜索。上述命令都可以在后面直接加文件名,不需要在前面使用cat添加管道,cat会影响命令执行的效率,本文中cat -n /etc/services实在测试时可很方便的查看到具体的行号。二、详解1、查看文件的第20行到30行的内容以系统的/e原创 2014-10-14 18:44:47 · 1902 阅读 · 0 评论 -
shell实例浅谈之六文件特定行打印的多种方法
一、问题 DOS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。 解决DOS攻击方法:可以通过分析web日志,或者查看网络连接数,当某个IP并发连接数过多(或判断PV短时内达到1000),则调用防火墙命令封掉对应的ip,监控频率原创 2014-10-13 21:45:38 · 13766 阅读 · 0 评论 -
shell实例浅谈之五解决网络中DOS攻击的方法
一、问题 写二、解决1、shell脚本利用管道组成的一条命令:#查找文本中n个出现频率最高的单词#!/bin/bashcount=$1 #$1是输出频率最高单词的个数cat $2 | #$2是目标文本文件名称也可是是字符串tr -cs "[a-z]原创 2014-10-13 12:29:24 · 3014 阅读 · 0 评论 -
shell实例浅谈之三产生随机数七种方法
一、问题 Shell下有时需要使用随机数,在此总结产生随机数的方法。计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数)。伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产生算法将可以产生一个非常长的不重复的序列。二、随机数1、生成随机数的七种方法(1)通过内部系统变量($RANDOM)echo $RANDOM生成0-32767之间的整数...原创 2014-10-11 19:53:01 · 44591 阅读 · 4 评论 -
shell实例浅谈之四查找文本中出现频率最高的单词
一、问题 判断一个文件是否是可执行文件,并且判断能否在系统PATH路径中找到。第一种情况:可执行且找到返回0,第二种情况没找到或者不可执行返回1,第三种情况可执行但没找到或没找到返回2。若有需求还可以细分。二、解决1、shell脚本新建checkxfilepath.sh文件,chmod +x checkxfilepath.sh,然后执行。####判断一原创 2014-10-12 10:43:21 · 7941 阅读 · 0 评论 -
shell实例浅谈之二批量创建文件并重新命名
一、问题 判断一个文件是否是可执行文件,并且判断能否在系统PATH路径中找到。第一种情况:可执行且找到返回0,第二种情况没找到或者不可执行返回1,第三种情况可执行但没找到或没找到返回2。若有需求还可以细分。二、解决1、shell脚本新建checkxfilepath.sh文件,chmod +x checkxfilepath.sh,然后执行。####判断一原创 2014-10-09 18:06:54 · 16978 阅读 · 1 评论 -
shell实例浅谈之十三wget下载博客保存在本地
一、描述 一直想把博客的内容下载到本地,以便在断网的时候能回顾以前记下的笔记,针对与自己的博客设计了一个下载脚本,读者也可保存自己喜欢的博客。也可以使用wget -mk -np递归下载所有链接,但内容比较杂乱。二、详解1、文件名与csdn网站地址对应#!/bin/bashCOMMAND="wget --user-agent='Mozilla/5.0 (X原创 2015-01-14 23:22:12 · 2112 阅读 · 0 评论