Chinaunix

标题: AIX shell工具集 [打印本页]

作者: mxin    时间: 2006-06-18 11:44
标题: AIX shell工具集
逐渐整理,逐步贴出,也希望起到抛砖引玉的作用.\r\n[原创]1.批量改名或拷贝文件\r\n比如将 start*.sh文件改为stop*.sh\r\n拷贝\r\n先查看\r\nls -l start*.sh|awk \'{m=$9; gsub(/start/,\"stop\",$9);print \"cp \"m \" \"$9}\'\r\n再运行\r\nls -l start*.sh|awk \'{m=$9; gsub(/start/,\"stop\",$9);print \"cp \"m \" \"$9}\'|sh\r\n改名\r\n先查看\r\nls -l start*.sh|awk \'{m=$9; gsub(/start/,\"stop\",$9);print \"mv \"m \" \"$9}\'\r\n再运行\r\nls -l start*.sh|awk \'{m=$9; gsub(/start/,\"stop\",$9);print \"mv \"m \" \"$9}\'|sh\n\n[ 本帖最后由 mxin 于 2006-6-18 12:52 编辑 ]
作者: mxin    时间: 2006-06-18 12:35
[原创]2.改进grep 2048字符限制的小工具\r\n我们查找匹配文件市常常遇到grep报行长度超过2048这样的错误,我做了这个小工具,findtxt,可查找当前目录下的匹配文件,如果需要,把注释打开,可显示匹配内容。希望对大家有所帮助。\r\n\r\nfor file in `find . ! -type d`\r\ndo\r\nline=`sed -n /$1/p $file`\r\n   if [ \"$line\" != \"\" ]; then\r\n    echo $file\r\n#   echo $line\r\n  fi\r\ndone\n\n[ 本帖最后由 mxin 于 2006-6-18 12:53 编辑 ]
作者: mxin    时间: 2006-06-18 16:14
[原创]3.查看文件使用者的小工具 \r\n对fuser的一点改进,呵呵.\r\n1.vi showuser  建立一个文件,内容只有一句:\r\n   find $1  -exec fuser -u {} \\; 2>;&1|awk \'{ if ($2 != \"\"  print $1 $2 }\'\r\n2. chmod 755 showuser\r\n3. cp showuser /usr/bin\r\n4.  showuser  .\r\n     showuser  /usr\r\n会把当前目录下的在使用的文件的文件名,使用者的id,name显示出来.
作者: mxin    时间: 2006-06-19 14:57
[原创]4.清理垃圾,可放在crontab里每天执行。\r\n#rmlog.sh\r\nfind /tmp ! -name \"*.X11*\" -mtime +7 -exec rm -f {} \\;\r\nfind /var/tmp -mtime +5 -exec rm -f {} \\;\r\nfind /var/preserve  /recycle -mtime +7 -exec rm -f {} \\;\r\n\r\n\r\ncrontab\r\n0 1 * * * /home/scripts/rmlog.sh  > /tmp/rmlog.log 2>&1\n\n[ 本帖最后由 mxin 于 2006-6-21 22:04 编辑 ]
作者: mxin    时间: 2006-06-19 19:33
[原创]5.强制关闭vg(包括umount所有相关文件系统)\r\n#varyoffvg_force.sh\r\nif [ $# -le 0  ]  ;then\r\n echo \"no para, example:varyoff_vg.sh erpapp_vg \"\r\n exit\r\nfi\r\ndf -k|awk \'{print $7 }\'|grep -v Mounted >/tmp/fs_mounted.txt\r\nfor i in `lsvg -l $1 |grep -vE \"N/A|vg|MOUNT\"|awk \'{print $7}\'`\r\ndo\r\n if [ `grep -c $i /tmp/fs_mounted.txt`  -ge 1 ] ; then\r\n  echo fuser -kc $i\r\n  umount $i\r\n fi\r\ndone\r\nvaryoffvg $1
作者: mxin    时间: 2006-06-20 10:50
[原创]6.kill_fs_user.sh (停掉使用某文件系统的用户,自动判断该文件系统是否mount,避免kill掉其他用户)\r\nif [ $# -le 0  ]  ;then \r\n echo \"no para, example:kill_user.sh /applprod \" \r\n exit\r\nfi\r\ndf -k|awk \'{print $7 }\'|grep -v Mounted >/tmp/du_.txt\r\nif [ `grep -c $1  /tmp/du_.txt`  -eq 1 ] ; then\r\n  echo fuser -kc $1 \r\n fi\n\n[ 本帖最后由 mxin 于 2006-6-26 20:09 编辑 ]
作者: 花泽类    时间: 2006-06-20 11:17
兄弟,这个帖子不错,最近在研究shell script,很好啊,希望继续增加新的原创,另外有没有关于shell script学习的好的站点链接?
作者: mxin    时间: 2006-06-20 19:53
[原创]7.相当于mirror rootvg,但当rootvg里有不想mirrror的lv或盘大小不一时比较有用。\r\n##mkmirrorvg.sh\r\nmklvcopy -k hd5 2 $1\r\nmklvcopy -k hd6 2 $1\r\nmklvcopy -k hd8  2 $1\r\nmklvcopy -k hd4  2 $1\r\nmklvcopy -k hd9var  2 $1\r\nmklvcopy -k hd3   2 $1\r\nmklvcopy -k hd1   2 $1\r\nmklvcopy -k hd2   2 $1\r\nmklvcopy -k hd10opt  2 $1\r\nmklvcopy -k lg_dumplv  2 $1  \r\nbosboot -ad $1\r\nbootlist -m normal $1
作者: zlg88    时间: 2006-06-20 22:47
很不错,请继续努力。\r\n建议做一个Shell菜单,将想要的脚本都做做菜单项。
作者: lingam    时间: 2006-06-21 01:07
原帖由 mxin 于 2006-6-18 11:44 发表\r\n逐渐整理,逐步贴出,也希望起到抛砖引玉的作用.\r\n[原创]1.批量改名或拷贝文件\r\n比如将 start*.sh文件改为stop*.sh\r\n拷贝\r\n先查看\r\nls -l start*.sh|awk \'{m=$9; gsub(/start/,\"stop\",$9);print \"cp ...
\r\n\r\nfor i in `echo start*.sh`\r\ndo\r\ncp $i `echo $i|sed \'s/start/stop/g\'`    #拷贝\r\n#mv $i `echo $i|sed \'s/start/stop/g\'`   #改名\r\ndone
作者: lingam    时间: 2006-06-21 01:12
原帖由 mxin 于 2006-6-19 14:57 发表\r\n[原创]4.清理垃圾,可放在crontab里每天执行。\r\n#rmlog.sh\r\nfind /tmp ! -name \"*.X11*\" -mtime +7 -exec rm -f {} \\;\r\nfind /var/tmp -mtime +7 -exec rm -f {} \\;\r\nfind /recycle -mtime +7 -exec rm ...
\r\nfind /var/tmp/ /recyle /dir_whatever -mtime +7 -exec rm -rf {} \\;
作者: mxin    时间: 2006-06-21 18:40
[原创]8. 察看根目录各文件和子目录大小,去除文件系统统计\r\n# du_.sh\r\n\r\ndf -k|awk \'{print $7 }\'|grep -v Mounted >/tmp/df_mounted.txt\r\ncd /\r\nfor i in `ls -l|awk \'{print $9}\'|grep -v \"\\-i\"`\r\ndo\r\n if [ `grep -c $i /tmp/df_mounted.txt`  -eq 0 ] ; then\r\n  du -sk $i\r\n fi \r\ndone
作者: mxin    时间: 2006-06-22 12:08
原帖由 lingam 于 2006-6-21 01:12 发表\r\n\r\nfind /var/tmp/ /recyle /dir_whatever -mtime +7 -exec rm -rf {} \\;
\r\n\r\n这个恐怕不能完全简化,比如X11文件我希望不能清除等等。
作者: mxin    时间: 2006-06-23 04:31
[原创]9.防止文件系统下和根目录下rm -rf * 误操作。 \r\n#deny_rmall.sh\r\ncd /;touch ./-i;df -k|grep -v Mounted|grep -v proc|grep -v \"\\/tmp\"|awk \'{print \"cp \\\"./-i\\\"  \" $7\'}|sh\r\ncp \"/-i\" /etc\r\ncp \"/-i\"  /dev\n\n[ 本帖最后由 mxin 于 2006-6-23 06:56 编辑 ]
作者: mxin    时间: 2006-06-23 19:25
[原创]10. 保存清理errpt,(当然可以改为其他目录 )\r\n#errclear.sh\r\nerrpt >/home/mxin/mon/log/errpt_`date +%Y%m%d`.log\r\nerrpt -a >>/home/mxin/mon/log/errpt_`date +%Y%m%d`.log\r\nerrclear 0
作者: mxin    时间: 2006-06-24 13:06
[原创]11.起大量shell脚本\r\n#start_procs.sh\r\ncat start_procs.list|awk \'{print \"sh \"$1\".sh\"}\'|sh\r\n\r\n\r\n#start_procs.list(可追加修改)\r\nstartprocessor\r\nProcProcessor\r\n/home/scripts/startArocessor\r\np_mj_deal_cardevent\n\n[ 本帖最后由 mxin 于 2006-6-24 13:07 编辑 ]
作者: mxin    时间: 2006-06-26 09:51
[原创]12.停大量进程\r\n# stop_procs.sh\r\ncat procs.list|awk \'{print \"stop_proc.sh   \"$1}\'|sh\r\n\r\n#stop_proc.sh\r\nps -ef|grep $1|grep -v grep|awk \'{print \"kill -9 \"$2}\'|sh\r\n\r\n#stop_procs.list(可追加修改)\r\nstartprocessor\r\nProcProcessor\r\nJackrocessor\r\np_mj_deal_cardevent
作者: mxin    时间: 2006-06-29 16:13
[原创]13.收集系统信息\r\necho --------------------------------------`hostname`-------------------------------------------\r\nprtconf\r\necho -----------lsvg;lsvg `lsvg -o`\r\necho \"-----------lsvg -l \";lsvg -l `lsvg -o`\r\necho \"-----------lslv lv \";lsvg -l `lsvg -o`|grep -v \"LV NAME\"|grep -v awk \'{print \"lslv \"$1}\'|sh\r\necho -----------df;df -k;lsfs\r\necho -------------netstat;netstat -in;netstat -i;netstat -r\r\necho -------------------ps;ps -efk;ps gu\r\necho ------------------lscfg;lscfg -vp\r\necho --------------lssrc;lssrc -a\r\necho ------------lsslot;lsslot -c pci\r\necho -------------lspv;lspv\r\necho -------------lslpp;lslpp -l\r\necho -------------lsattr; lsdev -C|awk \'{print \"echo ---\"$1\";lsattr -El \" $1}\'|sh\r\necho -------------prtconf -v;prtconf -v\r\necho -------------errpt; errpt ;errpt -a\r\necho -------------major; ls -al /dev/*\r\necho -------------hosts file; cat /etc/hosts\r\nif [ `ps -ef|grep cluster|grep -v grep|wc -l` -ge 1 ] ;then\r\necho -------------HA INFO\r\n/usr/es/sbin/cluster/utilities/cltopinfo -c;/usr/es/sbin/cluster/utilities/cltopinfo -n;/usr/es/sbin/cluster/utilities/clshowres -n\r\n`hostname`;/usr/es/sbin/cluster/utilities/cldisp\r\nfi\n\n[ 本帖最后由 mxin 于 2006-9-21 16:03 编辑 ]
作者: mxin    时间: 2006-06-30 08:32
[原创]14.将多级子目录的权限放开\r\n#chmod_dir.sh\r\necho for example::chmod_dir.sh rwx /home/mxin/mon\r\necho $1$2 >/tmp/chmod_dir.txt\r\ncat /tmp/chmod_dir.txt|awk  -F / \'{print \"chmod  o+x /\"$2\";chmod o+x /\"$2\"/\"$3\";chmod o+x /\"$2\"/\"$3\"/\"$4\";chmod o+x /\"$2\"/\"$3\"/\"$4\"/\"$5\";chmod -R o+\"$1\" /\"$2\"/\"$3\"/\"$4\"/\"$5\"/\"$6}\'|sh
作者: mxin    时间: 2006-07-03 08:05
[原创]15.监控oracle是否有锁。\r\n#mon_db_lock.sh\r\n. .profile\r\ncd  /home/mxin/mon\r\nif [ `date +%H%M` = \"0800\" ]; then\r\necho 0 > warn_count \r\nfi \r\nwarn_count=`cat warn_count`\r\nsqlplus \"/as sysdba\" <<EOF\r\nset feed off;\r\nset heading off;\r\nspool /tmp/db_lock.out1;\r\n@mon_db_lock.sql\r\nspool off;\r\nexit\r\nEOF\r\nsleep 13 \r\nsqlplus \"/as sysdba\" <<EOF\r\nset feed off;\r\nset heading off;\r\nspool /tmp/db_lock.out2;\r\n@mon_db_lock.sql\r\nspool off;\r\nexit\r\nEOF\r\nsleep 27\r\nsqlplus \"/as sysdba\" <<EOF\r\nset feed off;\r\nset heading off;\r\nspool /tmp/db_lock.out3;\r\n@mon_db_lock.sql\r\nspool off;\r\nexit\r\nEOF\r\ncat  /tmp/db_lock.out1|grep -v SQL|grep [0-9] >/tmp/mon_db_lock.out1\r\ncat  /tmp/db_lock.out2|grep -v SQL|grep [0-9] >/tmp/mon_db_lock.out2\r\ncat  /tmp/db_lock.out3|grep -v SQL|grep [0-9] >/tmp/mon_db_lock.out3\r\ncat /tmp/mon_db_lock.out1|grep -v SQL|grep [0-9]|awk \'{print \"grep \\\"\"$0\"\\\" /tmp/mon_db_lock.out2\"}\'|sh >/tmp/db_lock1\r\nif [ `cat /tmp/db_lock1|wc -l` -gt 0 ] ; then \r\n  cat /tmp/mon_db_lock.out2|grep -v SQL|grep [0-9]|awk \'{print \"grep \\\"\"$0\"\\\" /tmp/mon_db_lock.out3\"}\'|sh >/tmp/db_lock2\r\n  if [ `cat /tmp/db_lock2|wc -l` -gt 0 ] ; then \r\n    cat /tmp/mon_db_lock.out3|grep -v SQL|grep [0-9]|awk \'{print \"grep \\\"\"$0\"\\\" /tmp/mon_db_lock.out.old\"}\'|sh >/tmp/db_lock3\r\n    if [ `cat /tmp/db_lock3|wc -l` -gt 0 ] ; then \r\n    cat /tmp/db_lock3|awk \'{print \"wall  db lock-------\\\" \"$0 \"\\\"!!\" }\'|sh\r\n    let warn_count=$warn_count+1\r\n    fi\r\n  fi\r\nfi\r\ncp /tmp/mon_db_lock.out3   /tmp/mon_db_lock.out.old\r\nif [ $warn_count -gt 4 ] ; then\r\n  beep.sh\r\n  echo 0 > warn_count\r\nfi\r\n\r\n\r\n\r\n#mon_db_lock.sql\r\n\r\n\r\nset linesize 256\r\ncol object_name  format a18\r\ncol object_id    format 99999999\r\ncol Locked_Mode  format a15\r\ncol SERIAL#      format 9999999\r\ncol session_id   format 999999\r\ncol oracle_username format a15\r\ncol os_user_name format a15\r\ncol process format 9999999\r\n \r\nSELECT substr(b.object_name,1,1 object_name,a.object_id, \r\ndecode( a.locked_mode, \r\n0, \'None\', /* Mon Lock equivalent */ \r\n1, \'Null\', /* N */ \r\n2, \'Row-S (SS)\', /* L */ \r\n3, \'Row-X (SX)\', /* R */ \r\n4, \'Share\', /* S */ \r\n5, \'S/Row-X (SSX)\', /* C */ \r\n6, \'Exclusive\', \r\na.locked_mode) Locked_Mode, /* X */ \r\nsession_id, SERIAL#,oracle_username, os_user_name, a.process \r\nFROM v$LOCKED_OBJECT a, dba_OBJECTS b,v$session c\r\nWHERE a.object_id = b.object_id and a.session_id=c.sid\r\n/
作者: mxin    时间: 2006-07-04 07:50
[原创]16.监控oracle的表空间\r\n# mon_ts_space.sh\r\ncd  /home/oraprod\r\nsqlplus \"/as sysdba\" <<EOF\r\nset feed off;\r\nset heading off;\r\nspool /tmp/mon_ts_space.out;\r\n@mon_ts_space.sql\r\nexit\r\nEOF\r\ncat  /tmp/mon_ts_space.out|grep -v SQL|grep [0-9]|awk -f mon_ts_space.awk\r\n\r\n\r\n# mon_ts_space.sql\r\nselect\r\n   df.tablespace_name                          \"Tablespace\",\r\n   (df.totalspace - fs.freespace)              \"Used MB\",\r\n   fs.freespace                                \"Free MB\",\r\n   df.totalspace                               \"Total MB\",\r\n   round(100 * (fs.freespace / df.totalspace)) \"Pct. Free\"\r\nfrom\r\n   dba_tablespaces                               ts,\r\n   (select tablespace_name,\r\n        round(sum(bytes) / 1048576) TotalSpace\r\n      from dba_data_files\r\n      group by tablespace_name)                  df,\r\n   (select tablespace_name,\r\n        round(sum(bytes) / 1048576) FreeSpace\r\n      from dba_free_space\r\n      group by tablespace_name)                 fs\r\nwhere\r\n   ts.tablespace_name = fs.tablespace_name\r\nand\r\n   df.tablespace_name = fs.tablespace_name(+) \r\nand \r\nround(100 * (fs.freespace / df.totalspace)) <20\r\nand df.tablespace_name not in (\'APPS_UNDOTS1\',\'TEMP\');\n\n[ 本帖最后由 mxin 于 2006-7-5 08:23 编辑 ]
作者: mxin    时间: 2006-07-05 08:24
[原创]17.只清除所有当前使用该vg的用户\r\n#kill_vg_user.sh\r\nif [ $# -le 0  ]  ;then \r\n echo \"no para, example:kill_vg_user.sh erpapp_vg \" \r\n exit\r\nfi\r\ndf -k|awk \'{print $7 }\'|grep -v Mounted >/tmp/fs_mounted.txt\r\nfor i in `lsvg -l $1 |grep -vE \"N/A|vg|MOUNT\"|awk \'{print $7}\'`\r\ndo\r\n if [ `grep -c $i /tmp/fs_mounted.txt`  -ge 1 ] ; then\r\n  echo fuser -kc $i\r\n   fuser -kc $i\r\n fi \r\ndone\n\n[ 本帖最后由 mxin 于 2006-7-5 09:01 编辑 ]
作者: luck_jogger    时间: 2006-07-05 14:24
看了以上的贴子,自己都不好意思将自己的脚本往上粘。惭愧呀。
作者: mxin    时间: 2006-07-07 09:14
[原创]18.每月月底执行的脚本\r\n#month_lastday.sh\r\n. .profile\r\nTZ=TZ-24\r\necho `date +%d`\r\nif [ `date +%d` = \"01\" ]; then\r\necho \"ok. today is last day of this month. run it!\"\r\n#insert your shell scripts\r\nfi\r\n[原创]19.每月1日执行的脚本\r\n#month_firstdy.sh\r\n. .profile\r\nTZ=TZ+24\r\necho `date +%d`\r\nif [ `date +%d` = \"02\" ]; then\r\necho \"ok. today is firstday of  this month. run it!\"\r\n#insert your shell scripts\r\nfi\n\n[ 本帖最后由 mxin 于 2006-7-7 10:33 编辑 ]
作者: shfjaxl    时间: 2006-07-19 10:21
楼主太强了,--支持!
作者: dengsimin    时间: 2006-07-25 21:04
真的好好哦,谢谢楼主。。。支持。。
作者: mxin    时间: 2006-07-26 13:28
[原创]19.跟踪oracle export结果的脚本(放在exp脚本最后)\r\n#exp_check.sh\r\nif [ `tail /tmp/exp_dvlp.log|grep \" success\"|wc -l` -lt 1 ];then\r\n  echo   \"db dvlp export fail!!!\"  #报警\r\n  wall    \"db dvlp export fail!!!\"\r\nfi
作者: xinlong101    时间: 2006-08-27 15:29
搂主辛苦了。希望搂主能把编写Shell的技巧与大家分享一下。
作者: RealRaul    时间: 2006-09-12 00:43
好呀!!楼主真好人也!!
作者: mxin    时间: 2006-09-21 17:34
20.检查系统的进程\r\na.check_proc.sh:\r\n\r\n#check_proc.sh\r\n cat check_proc.list|awk -F \",\" {\'print   \"Check_proc.sh  \"$1\" \\\"\"$2\"\\\"\" \"   \"$3 \'}|sh\r\n\r\n\r\nb.check_proc.list:(可修改)\r\n\r\ntelnet,telnetd -a,2 \r\nxcom,xcommanager.py,1\r\n\r\nc.Check_proc.sh:\r\n\r\n#Check_proc.sh \r\nexport LANG=en_US\r\ncount=`ps -ef|grep \"$2\"|grep -v grep|wc -l`\r\nif [ $count -lt $3 ];then\r\n    echo $1 has  not be started all,the number is $count/$3!\r\nfi\r\n\r\n\r\n\r\n\r\n运行示例:\r\n[test3][root][/home/mxin]>ps -ef            \r\n     UID    PID   PPID   C    STIME    TTY  TIME CMD\r\n    root      1      0   0   Aug 10      -  0:11 /etc/init \r\n    root  77910      1   0   Aug 10      -  5:53 /usr/sbin/syncd 60 \r\n    root 102470      1   0   Aug 10      -  0:00 /usr/ccs/bin/shlap64 \r\n    root 106572      1   0   Aug 10      -  0:00 /usr/lib/errdemon \r\n    root 139366      1   0   Aug 10      -  0:00 /usr/sbin/srcmstr \r\n    root 164068 139366   0   Aug 10      -  0:00 /usr/sbin/snmpd \r\n    root 184466 139366   0   Aug 10      -  4:38 /usr/sbin/aixmibd \r\n    root 246002      1   0   Aug 10   vty0  8:50 -ksh \r\n    root 409612 139366   0   Aug 10      -  0:05 sendmail: accepting connections \r\n    root 417830 139366   0   Aug 10      -  0:00 /usr/sbin/syslogd \r\n    root 421898      1   0   Aug 10      -  0:00 /usr/sbin/uprintfd \r\n    root 442602 782494   0 16:19:29      -  0:00 telnetd -a \r\n    root 446688 442602   0 16:19:29  pts/1  0:00 -ksh \r\n    root 466976 782494   0   Sep 07      -  0:00 ftpd \r\n    root 471108 139366   0   Aug 10      -  0:01 /usr/sbin/hostmibd \r\n    root 495680      1   0   Aug 10      -  0:04 /usr/sbin/cron \r\n    root 508018 139366   0   Aug 10      -  0:00 /usr/sbin/portmap \r\n    root 708686 782494   0   Sep 07      -  0:00 ftpd \r\n    root 729196 139366   0   Aug 10      -  0:04 /usr/sbin/snmpmibd \r\n    root 733290 139366   0   Aug 10      -  0:00 /usr/sbin/muxatmd \r\n    root 762026 446688   0 17:46:17  pts/1  0:00 ps -ef \r\n    root 782494 139366   0   Sep 07      -  0:00 /usr/sbin/inetd \r\n[test3][root][/home/mxin]>check_proc.sh     \r\ntelnet has not be started all,the number is 1/2!\r\nxcom has not be started all,the number is 0/1!\n\n[ 本帖最后由 mxin 于 2006-9-21 17:51 编辑 ]
作者: zhangtao911    时间: 2006-09-26 16:56
请教楼主个问题啊\r\n\r\n如何能在aix中查看虚拟内存大小,已经使用的虚拟内存大小,并算出其占用百分比???\r\n\r\n不是内存的,是要虚拟内存的。
作者: zhangtao911    时间: 2006-09-26 16:58
linux上我以解决,可是在aix上和linux差异太大。如果楼主高人知道如何写这段脚本,希望给我发个邮件\r\n\r\nzh_tao@neusoft.com \r\n\r\n万分感激
作者: t_wen    时间: 2006-12-01 11:48
想编一个在AIX中只删文件,不删目录的shell,有人会吗。谢谢
作者: penny61    时间: 2006-12-05 14:28
非常有用,我现在也开始学习写一些程序了!\r\n谢谢楼主!
作者: zhaiph    时间: 2006-12-25 16:42
谢谢楼主 以后请多多赐教 楼主辛苦
作者: mxin    时间: 2006-12-28 15:34
原帖由 t_wen 于 2006-12-1 11:48 发表\r\n想编一个在AIX中只删文件,不删目录的shell,有人会吗。谢谢
\r\n\r\n#ls_file.sh    /tmp\r\nfind $1 ! -type d  -exec ls -dl {} \\;  <-察看目录\r\n\r\n\r\n\r\n#rm_file.sh    /tmp\r\nfind $1 ! -type d  -exec rm -rf {} \\;  <-清除目录下文件
作者: xinyufei0423    时间: 2007-08-01 17:42
真的很不错  谢谢~~
作者: 我老婆黑社会    时间: 2007-08-01 17:57
谢谢楼主分享这样的好东东




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2