常用实用简单Linux命令及Java应用启动脚笔记

个人常用实用的简单Linux命令总结

cd /usr/local/test                //切换目录

ls                                //列出当前目录下的所有文件和目录

ll                                //列出当前目录下的所有文件和目录的详细信息

pwd                               //显示当前目录的路径

mv /usr/local/test /usr/local/test1               //将test文件夹重命名为test1

cp /usr/local/test/a.sh  /usr/local/test1/a.sh    //将test下的a.sh复制到test1目录下

scp abc.jar root@hostname:/usr/local/src/   //传输当前目录下的abc.jar包到远程主机的指定目录下

scp root@hostname:/usr/local/abc.jar.    //将远程主机下特定文件下载到本机当前目录下

ifconfig                                //查看本机网卡信息

netstat -tnl                            //查看正在监听的端口

tar -zxvf pipala.tar.gz                //解压包

clear                                  //清屏

su username                           //切换用户

tailf -10 info.log                    //实时从info.log文件的最后十行开始查看

tail -20 info.log                    //查看info.log的最后20行

more -10 info.log                    //从头开始按每10行读info.log文件,空格切下一个十行

systemctl status/start/stop/restart firewalld   //管理防火墙服务

firewall-cmd --list-ports            //列出正在监听的端口号

firewall-cmd --add-port=9998/tcp --permanent    //添加需要开放的端口
     
firewall-cmd --remove-port=8080/tcp --permanent  //关闭端口

firewall-cmd --reload                     //使修改生效(仅主机当前生命周期内)

wget  http://zookeeper.org/zookeeper.xx.tar.gz  //下载文件

shutdown -h now                       //立即关机

free -g                             //查看内存使用情况(以G为单位,-m则以M为单位)

top                                //实时查看主机各项指标使用情况

ps -ef | grep java                 //查看正在运行的java项目进程

vmstat                             //查看计算机指标

df -ll                             //查看磁盘使用状况

kill -9 PID                       //强制杀死进程号为PID的进程

yum install                       //安装软件

touch abc.md                      //创建abc.md文件

vim abc.md                       //编辑abc.md

mkdir  directory1                //在当前目录下新建目录

一个好用的Java应用服务器启动/停止/重启脚本

1

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=NettyServer-1.0-SNAPSHOT.jar
 
#使用说明,用来提示输入参数
usage() {
 echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
 exit 1
}
 
#检查程序是否在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
 #如果不存在返回1,存在返回0 
 if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}
 
#启动方法
start(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is already running. pid=${pid} ."
 else
 nohup java -jar -Xms1024m -Xmx1024m -Xmn256m -XX:PermSize=512m -XX:MaxPermSize=512m /root/HttpNetty/nettyserver/$APP_NAME > /root/HttpNetty/nettyserver/serverrunning.log 2>&1 &
 echo "${APP_NAME} start success"
 fi
}
 
#停止方法
stop(){
 is_exist
 if [ $? -eq "0" ]; then
 kill -9 $pid
 else
 echo "${APP_NAME} is not running"
 fi 
}
 
#输出运行状态
status(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is active. Pid is ${pid}"
 else
 echo "${APP_NAME} is inactive."
 fi
}
 
#重启
restart(){
 stop
 start
}
 
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
 "start")
 start
 ;;
 "stop")
 stop
 ;;
 "status")
 status
 ;;
 "restart")
 restart
 ;;
 *)
 usage
 ;;
esac

2

#!/bin/sh

source /etc/profile

USER=admin
SERVICEPATH=/home/admin
LOGPATH=/data/logs
SERVICE=$(cd $(dirname $0); pwd | awk -F '/' '{print $(NF)}')
MEMORY=512m
GCLOG="-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:${LOGPATH}/${SERVICE}/${SERVICE}.gc  "
HEAPDUMP="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOGPATH}/${SERVICE}/${SERVICE}.heap"

if [[ -f $SERVICEPATH/${SERVICE}/args.sh ]];then
    source $SERVICEPATH/${SERVICE}/args.sh
else
    ARGS=''
fi

# SERVICE=可以手动定义,默认取上一级目录名
LOGS=/data/logs
mkdir -pv ${LOGS}/${SERVICE}

Start() {
    proc=$(ps -ef | grep ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar | grep -v grep | wc -l)
    if [[ $proc != 0  ]];then
        exit 5
    fi
    if [[ `whoami` == 'root' ]];then
        exec su admin -c "java -server -Xms${MEMORY} -Xmx${MEMORY} ${GCLOG}  ${HEAPDUMP} $ARGS -Dlogging.config=${SERVICEPATH}/${SERVICE}/logback-spring.xml -Dspring.config.location=${SERVICEPATH}/${SERVICE}/application.properties   -jar ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar >> ${LOGPATH}/${SERVICE}/${SERVICE}.log 2>&1 &"
    elif [[ `whoami` == 'admin' ]];then
        exec java -server -Xms${MEMORY} -Xmx${MEMORY} ${GCLOG}  ${HEAPDUMP}  $ARGS -Dlogging.config=${SERVICEPATH}/${SERVICE}/logback-spring.xml -Dspring.config.location=${SERVICEPATH}/${SERVICE}/application.properties   -jar ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar  >> ${LOGPATH}/${SERVICE}/${SERVICE}.log 2>&1 &
    else
        echo "Run with admin user"
        exit 10
    fi
}

Stop() {
    ps -ef | grep ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar | grep -v grep | awk '{print $2}'| xargs kill
    sleep 3
    proc=$(ps -ef | grep ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar | grep -v grep | wc -l)
    if [[ $proc != 0 ]];then
        ps -ef | grep ${SERVICEPATH}/${SERVICE}/${SERVICE}.jar | grep -v grep | awk '{print $2}'| xargs kill -9
    fi
}

Restart() {
    Stop
    Start
}

case $1 in
    start|run)
        Start
        ;;
    stop)
        Stop
        ;;
    restart)
        Restart
        ;;
    *)
        Start
        ;;
esac

posted @ 2021-04-23 10:04  一头小菜鸡  阅读(104)  评论(0编辑  收藏  举报