当前位置: 首页>数据库>正文

目前最常使用的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}//查找到程序的端口号杀死进程

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

#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}//给三个脚本赋予最高权限


https://www.xamrdz.com/database/6yt1880027.html

相关文章: