linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > SHELL >
栏目导栏
资料搜索
热门文章
·csh shell编程入门
·玩转Linux shell命令提示符
·Bourne Shell及shell编程
·Shell 编程实例集锦
·Linux下的shell编程入门
·linux shell 编程基础
·Shell编程基础
·Linux的Shell编程
·shell基础十二篇
·linux Shell编程入门 实例讲解
·Linux shell 脚本实例一
·深入浅出Shell编程: Shell 变量
·Linux主要shell命令详解
·UNIX/LINUX SHELL 正则表达式语
·shell命令(一)
最新文章
·Korn Shell 脚本入门
·linux下shell的工作原理
·Linux系统中加入自定义Shell为
·Shell学习:关于替换命令-tr-R
·Linux Shell学习:uniq命令使用
·uClinux操作系统下的shell功能
·Shell编程基础:单引号和双引号
·Linux操作系统下Shell语句元字
·Linux系统环境程序设计之路
·Linux Shell中PS命令中的%CPU的
·Linux Shell元字符知识笔记
·压缩命令-vi-认识SHELL-正规表
·Linux系统下Shell命令行快捷键
·谈Linux Shell下的输出重定向
·在Shell中执行vi/cp/mv时自动备
Google
 
AIX shell工具集
[ 作者:Linux联盟收集  加入时间:2006-06-25 21:55:57  来自:Linux联盟收集 ]

http://www.chinaunix.net 作者:mxin  

逐渐整理,逐步贴出,也希望起到抛砖引玉的作用.
[原创]1.批量改名或拷贝文件
比如将 start*.sh文件改为stop*.sh
拷贝
先查看
ls -l start*.sh|awk '{m=$9; gsub(/start/,"stop",$9);print "cp "m " "$9}'
再运行
ls -l start*.sh|awk '{m=$9; gsub(/start/,"stop",$9);print "cp "m " "$9}'|sh
改名
先查看
ls -l start*.sh|awk '{m=$9; gsub(/start/,"stop",$9);print "mv "m " "$9}'
再运行
ls -l start*.sh|awk '{m=$9; gsub(/start/,"stop",$9);print "mv "m " "$9}'|sh
[原创]2.改进grep 2048字符限制的小工具
我们查找匹配文件市常常遇到grep报行长度超过2048这样的错误,我做了这个小工具,findtxt,可查找当前目录下的匹配文件,如果需要,把注释打开,可显示匹配内容。希望对大家有所帮助。

for file in `find . ! -type d`
do
line=`sed -n /$1/p $file`
   if [ "$line" != "" ]; then
    echo $file
#   echo $line
  fi
done
[原创]3.查看文件使用者的小工具 
对fuser的一点改进,呵呵.
1.vi showuser  建立一个文件,内容只有一句:
   find $1  -exec fuser -u {} ; 2>;&1|awk '{ if ($2 != ""  print $1 $2 }'
2. chmod 755 showuser
3. cp showuser /usr/bin
4.  showuser  .
     showuser  /usr
会把当前目录下的在使用的文件的文件名,使用者的id,name显示出来.
原创]4.清理垃圾,可放在crontab里每天执行。
#rmlog.sh
find /tmp ! -name "*.X11*" -mtime +7 -exec rm -f {} ;
find /var/tmp -mtime +5 -exec rm -f {} ;
find /var/preserve  /recycle -mtime +7 -exec rm -f {} ;


crontab
0 1 * * * /home/scripts/rmlog.sh  > /tmp/rmlog.log 2>&1

[原创]4.清理垃圾,可放在crontab里每天执行。
#rmlog.sh
find /tmp ! -name "*.X11*" -mtime +7 -exec rm -f {} ;
find /var/tmp -mtime +5 -exec rm -f {} ;
find /var/preserve  /recycle -mtime +7 -exec rm -f {} ;


crontab
0 1 * * * /home/scripts/rmlog.sh  > /tmp/rmlog.log 2>&1
[原创]5.强制关闭vg(包括umount所有相关文件系统)
#varyoffvg_force.sh
if [ $# -le 0  ]  ;then
 echo "no para, example:varyoff_vg.sh erpapp_vg "
 exit
fi
df -k|awk '{print $7 }'|grep -v Mounted >/tmp/fs_mounted.txt
for i in `lsvg -l $1 |grep -vE "N/A|vg|MOUNT"|awk '{print $7}'`
do
 if [ `grep -c $i /tmp/fs_mounted.txt`  -ge 1 ] ; then
  echo fuser -kc $i
  umount $i
 fi
done
varyoffvg $1
7.相当于mirror rootvg,但当rootvg里有不想mirrror的lv或盘大小不一时比较有用。
##mkmirrorvg.sh
mklvcopy -k hd5 2 $1
mklvcopy -k hd6 2 $1
mklvcopy -k hd8  2 $1
mklvcopy -k hd4  2 $1
mklvcopy -k hd9var  2 $1
mklvcopy -k hd3   2 $1
mklvcopy -k hd1   2 $1
mklvcopy -k hd2   2 $1
mklvcopy -k hd10opt  2 $1
mklvcopy -k lg_dumplv  2 $1  
bosboot -ad $1
bootlist -m normal $1
[原创]8. 察看根目录各文件和子目录大小,去除文件系统统计
# du_.sh

df -k|awk '{print $7 }'|grep -v Mounted >/tmp/df_mounted.txt
cd /
for i in `ls -l|awk '{print $9}'|grep -v "\-i"`
do
 if [ `grep -c $i /tmp/df_mounted.txt`  -eq 0 ] ; then
  du -sk $i
 fi 
done
[原创]9.防止文件系统下和根目录下rm -rf * 误操作。 
#deny_rmall.sh
cd /;touch ./-i;df -k|grep -v Mounted|grep -v proc|grep -v "\/tmp"|awk '{print "cp \"./-i\"  " $7'}|sh
cp "/-i" /etc
cp "/-i"  /dev
[原创]10. 保存清理errpt,(当然可以改为其他目录 )
#errclear.sh
errpt >/home/mxin/mon/log/errpt_`date +%Y%m%d`.log
errpt -a >>/home/mxin/mon/log/errpt_`date +%Y%m%d`.log
errclear 0
[原创]11.起大量shell脚本
#start_procs.sh
cat start_procs.list|awk '{print "sh "$1".sh"}'|sh


#start_procs.list(可追加修改)
startprocessor
ProcProcessor
/home/scripts/startArocessor
p_mj_deal_cardevent

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Shell编程基础  (2006-07-16 21:29:14)
 ·shell编程实例三:一个简单的目录菜单  (2006-07-16 21:27:21)
 ·shell编程实例二:TCP Shell后门  (2006-07-16 21:24:43)
 ·shell编程实例一:login例子  (2006-07-16 21:23:05)
 ·Shell 编程实例集锦  (2006-07-16 21:19:58)
 ·Shell 递归程序设计-批量转换大写文件名为小写  (2006-07-16 21:19:16)
 ·shell入门基础必备  (2006-07-16 21:18:32)
 ·几个shell程序设计小知识(shell常识部分)  (2006-07-16 21:17:50)
 ·shell编程-shell编程-分支语句  (2006-07-16 21:07:03)
 ·Linux的Shell编程  (2006-07-16 20:58:51)