目前最常使用的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}//给三个脚本赋予最高权限

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,672评论 0 0
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,567评论 3 53
  • 流程控制 if 单条件 双分支 多分支 case case支持glob风格的通配符: *: 任意长度任意字符?: ...
    毛利卷卷发阅读 860评论 0 1
  • Tcp/IP通信也是不安全的,在传输的时候也可能出现漏洞 查看正在运行的进程 adb shell ps -A |g...
    远远飘着云阅读 5,322评论 0 0
  • 《人性的优点》是一本很好的书。我看了两遍《人性的弱点》,第一遍是简装版,以好奇的心态看,看的时候只是觉得很有意思;...
    花儿继续开放阅读 7,562评论 0 6

友情链接更多精彩内容