shell工作应用总结
来源:互联网 发布:儿童自行车 知乎 编辑:程序博客网 时间:2024/05/29 09:17
一、简介
linux下shell在工作中的部分总结,仅供参考使用。
二、详解
(1)svn文件修改错乱,重新更新
#!/usr/bin/shCURRENT_DIR=`pwd`echo "开始从SVN上面重新导入当前目录下所有源码"TMP_DIR=`ls -R | grep './'`for MK_DIR in $TMP_DIRdo DIR_LEN=`expr length "$MK_DIR"` let DIR_LEN=DIR_LEN-1 cd `echo $MK_DIR |cut -c 1-"$DIR_LEN"` rm *.cpp *.h makefile *.mk cd $CURRENT_DIRdonesvn upecho "完成"
(2)svn提交修改代码
svn st | grep '^[AMD]' | cut -c 9- | xargs svn ci -m "commit"
(3)svn递归清除.SVN文件
find . -name ".svn" -exec rm -rf {} \;或者:
find . -type d -name ".svn"|xargs rm -rfwindow下新建svn.cmd文件:
for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"ping 192.168.0.1>nul
(4)执行所有makefile
#!/usr/bin/shCURRENT_DIR=`pwd`echo "开始编译当前目录下所有源码"TMP_DIR=`find ./ -name makefile`for MK_DIR in $TMP_DIRdo DIR_LEN=`expr length "$MK_DIR"` let DIR_LEN=DIR_LEN-8 cd `echo $MK_DIR |cut -c 1-"$DIR_LEN"` pwd make clean make all cd $CURRENT_DIRdoneecho "完成"
(5)shell时间测试
#!/bin/bashsource ~/.profileSTART_TIME=`date '+%Y%m%d%H%M%S'`START_TIME1=`date '+%Y-%m-%d-%H-%M-%S'`echo $START_TIME1hadoop fs -put /public/interf/ao_test_hp/ao/logdata.txt /sid/log/log.txtEND_TIME=`date '+%Y%m%d%H%M%S'`END_TIME1=`date '+%Y-%m-%d-%H-%M-%S'`echo $END_TIME1RESULT=`expr $END_TIME - $START_TIME`echo "时间(s):"$RESULT
(6)shell执行C程序
#!/bin/bash#while true#do##############################################自己配置的变量file_dir="/public/interf/framework/bin" #文件所在目录exe_DIR="/public/interf/framework/c_sid/develop/plugin/log_proxy_plugin/framework_test/import_data" #程序所在目录#############################################cd $file_dir CUR_TIME=`date '+%Y%m%d%H'`PRE_TIME=`expr $CUR_TIME - 1`FILEPATH=`find . -type d -name "$PRE_TIME" -prune`if [ -z $FILEPATH ] then echo "[`date '+%Y-%m-%d %H:%M:%S'`]the log file is not one hour before!"else e_LEN=`expr length "$FILEPATH"` f_LEN=`expr $e_LEN - 9` DIR=`echo $FILEPATH | cut -c "$f_LEN"-"$e_LEN"` cd $exe_DIR ./import $file_dir $DIR echo "[`date '+%Y-%m-%d %H:%M:%S'`][$DIR] import successed!"fi #sleep 3600#doneexit 1
#!/bin/bash##############################################自己配置的变量file_dir="/public/interf/framework/bin" #文件所在目录exe_DIR="/public/interf/framework/c_sid/develop/plugin/log_proxy_plugin/framework_test/import_data" #程序所在目录end_time=2011090000; #终止时间#############################################cd $file_dir CUR_TIME=`date '+%Y%m%d%H'`for((PRE_TIME = $CUR_TIME; PRE_TIME >= $end_time; PRE_TIME--)) do FILEPATH=`find . -type d -name "$PRE_TIME"` if [ $FILEPATH ] then e_LEN=`expr length "$FILEPATH"` f_LEN=`expr $e_LEN - 9` DIR=`echo $FILEPATH | cut -c "$f_LEN"-"$e_LEN"` cd $exe_DIR ./import $file_dir $DIR echo "[`date '+%Y-%m-%d %H:%M:%S'`][$DIR] import successed!" fi doneexit 1
(7)shell检测程序运行(结合定时任务)
##################################################################################CUR_HOUR=`date '+%y年%m月%d日%H时%M分%S秒'`cd ~/framework/binps -ef | grep framework|awk '{print $1$2$3$4$5$6$7$8$9$10}'| grep sid_test01|awk '{ cmd_list[NR] = $1 ; } END { if (NR==0 ) {print "测试程序sid_test01已经死掉,重启" system("nohup framework -p sid_test01> /dev/null &"); system("printf \"%s 重启进程完成\n\" `date '+%y年%m月%d日%H时%M分%S秒'`"); } }' ps -ef | grep framework|awk '{print $1$2$3$4$5$6$7$8$9$10}'| grep sid_test02|awk '{ cmd_list[NR] = $1 ; } END { if (NR==0 ) {print "测试程序sid_test02已经死掉,重启" system("nohup framework -p sid_test02> /dev/null &"); system("printf \"%s 重启进程完成\n\" `date '+%y年%m月%d日%H时%M分%S秒'`"); } }' ps -ef | grep framework|awk '{print $1$2$3$4$5$6$7$8$9$10}'| grep sid_test03|awk '{ cmd_list[NR] = $1 ; } END { if (NR==0 ) {print "测试程序sid_test03已经死掉,重启" system("nohup framework -p sid_test03> /dev/null &"); system("printf \"%s 重启进程完成\n\" `date '+%y年%m月%d日%H时%M分%S秒'`"); } }' exit 1
(8)shell更改所有子目录权限
for file in `find . -print`dochmod 777 -R $filedone
(9)shell压缩和解压缩
一、压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
二、解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
三、总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
三、总结
(1)shell相关的内容可参考其他文档。
(2)若有建议,请留言,在此先感谢!
- shell工作应用总结
- shell脚本应用总结
- 工作中的总结与应用
- Linux shell工程应用实例总结
- Shell脚本的应用场景及工作原理
- 工作中使用Trepn Power Profiler的应用总结
- shell应用
- Shell 基本工作原理
- Shell 基本工作原理
- Shell 基本工作原理
- Shell 基本工作原理
- Shell 基本工作原理
- Shell 基本工作原理
- 工作命令行积累 shell
- 工作记录--shell脚本
- 总结工作
- shell 总结
- shell总结
- ——黑马程序员——C语言中字符串处理函数
- JDBC操作与hibernate的区别
- 前端MVC&MVP&MVVM
- PHP中的错误处理&自定义错误处理方法
- Eclipse自动刷新
- shell工作应用总结
- 选股要选龙头 强势股选取五点诀窍
- adb常用命令
- 有关数据库表被锁定的问题
- c语言随机点名系统
- mysql 批量插入
- 非类型模板形参取数组的维数
- urllib and urllib2
- linux命令大全