目前最常使用的shell命令及部分脚本总结

一、常用shell命令

1.查看进程:

ps -aux | grep 进程名

2.重启Tomcat:

service tomcat restart

3.进入目录:

cd wenjianjia

4.强制删除压缩包:

rm -rf  压缩包名

5.将war包压缩:

tar  zcvf  war包名称.tgz  war包名称.

例:tar zcvf learn.war.tgz  learn.war/

6.将本地文件上传到服务端上的/home/apache/learn路径

scp  learn.war.tgz  root@ip:/home/apache/learn

7.从远程服务器获取文件并放置到本地home路径下

scp -p 22 root@ip:/home/apache/learn/learn.war.tgz  /home/learn.war.tgz

8.查看文件显示行数

cat -n learn.sh

9.查看日志

tail  -f  *.log

10.查看当前路径

pwd

11.sed截取命令,截取以learn_s开头learn_e结尾的内容

sed -i '/learn_s/d' home/initit.js

sed -i '/learn_e/d' home/Initit.js

12.cp命令将 /home/apache/file/路径下的文件递归强制复制到/home目录下并更名为Initit.js

cp -rf /home/Initit.js /home/apache/file/


二、常用部分脚本

1.从远程服务端下载apk,替换现有apk,并将原有apk改为加日期格式

#!/bin/sh

file_name="learn.apk"   //定义file_name为learn.apk

url="http://ip:端口号/home/apache/haha.apk"  //定义url中的指定haha.apk文件

mv ${file_name}  ${file_name}_`date  +%Y%m%d%H%M%S`   //将现有apk重命名为learn.apk_日期(年月日)格式

wget ${url}  -O ${file_name}  // 把URL中指定的文件下载到当前目录。 要指定不同的文件名,使用-O选项(大写字母O)

2.创建启动程序、终止程序、重启程序脚本

#!/bin/sh

proc_name=$1//程序进程名定义为$1

proc_start="start"${proc_name}".sh"//定义启动命令名称格式

proc_stop="stop"${proc_name}".sh"// 定义终止命令名称格式

proc_restart="restart"${proc_name}".sh"//重定义重启命令名称格式

touch ${proc_start}  ${proc_stop}  ${procl_restart}//创建开始、终止、重启

#

echo '#!/bin/sh'>${proc_start} //将#!/bin/sh写到开始脚本里

echo '#!/bin/sh'>${proc_stop}// 将#!/bin/sh写到终止脚本里

echo '#!/bin/sh'>${proc_restart} 将#!/bin/sh写到重启脚本里


#start开始脚本

#echo "mkdir /home/learn/${proc_name}/logs  -p" >>${proc_start} //创建日志到开始脚本

echo "py_flag=pypy" >>${proc_start}//定义启动方式为pypy写入脚本

echo "proc_name=${proc_name}"    >>${pro_start}//定义程序名称写入脚本

echo 'proc_app="/home/learn${proc_name}/app.py"'    >>${proc_start}  //定义app.py的路径写入脚本

echo "mkdir  /var/log/\${proc_name}/  -p"   >>${proc_start}//创建日志路径写入开始脚本

echo "nohup \${py_flag} \${proc_app}   > /dev/null &  " >>${proc_start}// 运行python程序 app.py脚本并指定存放文件目录

注意:app.py在此不予讲解

#stop停止脚本

echo "proc_name=${proc_name}" >>${proc_stop}

echo "flag_add=app" >>${proc_stop}

echo "py_flag=pypy" >>${proc_stop}

echo "kill -9 \`ps -ef|grep \${proc_name} |grep -v grep  |grep \${flag_add} |grep  \"\${proc_name}/\${flag_add}\" |awk -f\" \" '{print \$2}'\`" >>${proc_stop}//查找到程序的端口号杀死进程

注意: $2:表示第二个字段  print $2 : 打印第二个字段


#restart

echo "proc_name=${proc_name}" >>${proc_restart}

echo 'stop_shell="/home/learn/stop${proc_name}.sh"' >>${proc_restart}

echo 'start_shell="/home/learn/start${proc_name}.sh"' >>${procl_restart}

echo 'sh ${stop_shell}' >>${proc_restart}//执行终止进程脚本

echo 'sleep 1' >>${proc_restart}//当前线程睡眠1s钟

echo 'sh ${start_shell}'     >>${proc_restart}//执行开始脚本

chmod  777  ${pro_start}  ${proc_stop} ${proc_restart}//给三个脚本赋予最高权限

你可能感兴趣的:(目前最常使用的shell命令及部分脚本总结)