Linux常用命令
菜鸟辅助
文件操作
ls
列出当前目录文件ls -l
列出当前目录文件详细信息ls -a
列出当前目录所有文件,包含隐藏文件ls -lh
列出当前目录文件详细信息,并以可读大小显示ls -lhR
递归列出当前目录文件详细信息,并以可读大小显示cd
切换目录cd ..
切换到上一级目录cd ../..
切换到上上级目录cd ~
切换到当前用户目录cd -
切换到上一次所在目录pwd
显示当前目录mkdir
创建目录mkdir -p
递归创建目录rmdir
删除目录rm -rf
递归删除目录rm -rf *
递归删除当前目录所有文件rm -rf *.txt
递归删除当前目录所有 txt 文件mv
移动文件mv -f
强制移动文件mv -i
交互式移动文件mv -v
显示移动进度cp
复制文件cp -r
递归复制文件cp -f
强制复制文件cp -i
交互式复制文件cp -v
显示复制进度touch
创建文件cat
显示文件内容cat >
创建文件并写入内容cat >>
追加内容到文件more
逐屏显示文件内容less
逐屏显示文件内容head
显示文件前几行内容tail
显示文件后几行内容grep
搜索文件内容grep -n
搜索文件内容并显示行号grep -v
反向搜索文件内容grep -i
忽略大小写搜索文件内容grep -E
扩展正则表达式搜索文件内容grep -w
精确匹配搜索文件内容grep -A
显示匹配行后几行内容grep -B
显示匹配行前几行内容grep -C
显示匹配行前后几行内容grep -r
递归搜索文件内容find
搜索文件find -name
搜索文件名find -iname
忽略大小写搜索文件名find -type
搜索文件类型find -size
搜索文件大小find -user
搜索文件所有者find -group
搜索文件所属组find -perm
搜索文件权限find -mtime
搜索文件修改时间find -mmin
搜索文件修改时间find -atime
搜索文件访问时间find -ctime
搜索文件状态改变时间find -exec
执行命令find -execdir
执行命令find -delete
删除文件
工具SHELL合集
常用工具
# 生成随机字符串,数字为字符串长度
openssl rand -base64 32
# 生成随机16进制字符串
openssl rand -hex 32
目录结构
.
├── conf
│ ├── application.yaml
│ └── log4j2.xml
├── kdaiy-futures-1.0-release.jar
├── logs
│ ├── app.log
│ └── error.log
└── run.sh
批量执行Jar
#!/bin/bash
source /etc/profile
jar_list=(kdaiy-futures-*.jar)
#-Dfile.encoding=utf-8 -Duser.timezone=Asia/Shanghai
jvm_args=""
# 指定外部配置文件。
app_args="--spring.config.location=./conf/application.yaml"
cd /data/iapps/kdaiy-future
function stopJar(){
lt=${#jar_list[*]}
for ((i = 0;i< $lt; i++))
do
num=`ps -ef|grep -v grep |grep ${jar_list[$i]}|awk '{printf $2" "}'`
if [[ -n $num ]];then
if [ "$2" == "-f" ] || [ "$2" == "-F" ];then
kill -9 $num
log "Focus stop ${jar_list[$i]} finish."
else
log "Stop ${jar_list[$i]} use safe mode, please wait a moment..."
kill $num
sleep 10
log "Stop ${jar_list[$i]} finish."
fi
else
warn "${jar_list[$i]} not running."
fi
done
}
function startJar(){
lt=${#jar_list[*]}
for ((i = 0; i < $lt; i++))
do
pid=`ps -ef|grep -v grep |grep ${jar_list[$i]}|awk '{printf $2" "}'`
if [[ -n $pid ]];then
warn "${jar_list[$i]} is running..."
break
fi
# start command
nohup java -jar ${jvm_args} ${jar_list[$i]} ${app_args} > /dev/null 2>&1 &
log "${JAR_LIST[$i]} start running please wait a moment ...."
sleep 5
count=`ps -ef|grep -v grep |grep ${jar_list[$i]}|wc -l`
if [ $count -ne 1 ] && [ -n ${jar_list[$i]} ];then
error "${jar_list[$i]} is Error!"
else
log "${jar_list[$i]} start success."
fi
done
}
function log() {
echo "[INFO] =>> $(date "+%Y-%m-%d %H:%M:%S") $1 "
}
function warn() {
echo "[WARN] =>> $(date "+%Y-%m-%d %H:%M:%S") $1 "
}
function error() {
echo "[ERROR] =>> $(date "+%Y-%m-%d %H:%M:%S") $1 "
}
function Help()
{
echo "用法:$0 [选项]"
echo "选项:"
echo " start 启动jar"
echo " stop 停止jar, -f 强制退出"
echo " restart 重启jar"
echo " help 帮助"
}
case $1 in
start)
startJar
;;
stop)
stopJar $*
;;
restart)
stopJar
sleep 3
startJar
;;
help)
Help
;;
*)
echo " Usage: ./$0 (help|start|stop|restart)"
Help
;;
esac
tomcat 重启命令,加任意参数杀进程不重启
#!/bin/sh
work_dir=$(cd `dirname $0`;pwd)
cd $work_dir
pid=`ps -ef| grep -v grep| grep tomcat-remote-gauss-8.5.99 | awk '{printf $2}'`
if [ $pid ]; then
kill -9 $pid
echo '===>>kill tomcat pid:'$pid
else
echo 'tomcat not running.'
fi
if [ $1 ]; then
echo 'Tomcat has stop.'
else
rm -rf ./logs/*
rm -rf ./temp/*
echo 'Tomcat will start.'
./bin/startup.sh
tail -f ./logs/catalina.out
fi
echo '===>>finish.'