Skip to content

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合集

常用工具

shell
# 生成随机字符串,数字为字符串长度
openssl rand -base64 32
# 生成随机16进制字符串
openssl rand -hex 32

# 符串进行 Base64 编码
echo -n "字符串" | base64
echo -n "hello" | base64

# 解码字符串
echo "Base64字符串" | base64 --decode
echo "aGVsbG8=" | base64 --decode

# 解码文件内容
base64 --decode 文件名

目录结构

shell
.
├── conf
   ├── application.yaml
   └── log4j2.xml
├── kdaiy-futures-1.0-release.jar
├── logs
   ├── app.log
   └── error.log
└── run.sh

批量执行Jar

shell
#!/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 重启命令,加任意参数杀进程不重启

bash
#!/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.'
最近更新