项目中linux常用命令

查看进程:ps -ef | grep xxx

查看磁盘空间:df -hl 

查看端口:netstat -ntlp | grep 22

yum安装:yum -y install dos2unix*

搜索命令所在目录以及帮助文档的路径:whereis dos2unix

sftp链接:sftp -oPort=22 用户名@ip,下载文件:sftp> get /app/TEST/* /app/TEST/

vim的使用

:set number | nu在编辑文件显示行号 
:set nonumber |nonu 在编辑文件不显示行号 

w或W :光标右移一个字至字首 
b或B :光标左移一个字至字首 

0:(注意是数字零)光标移至当前行首 
$:光标移至当前行尾 

Ctrl+u:删除输入方式下所输入的文本

杀死某进程:kill -9 进程号

压缩和解压缩

    zip -rq xxx.zip ./A ./B ; # -r 将指定的目录下的所有子目录以及文件一起处理,-q 安静模式,在压缩的时候不显示指令的执行过程;后面可跟多个目录

    unzip -oq ./xxx.zip -d ./xxx;-o 直接覆盖原有文件;

    tar -czf log.jar log ;#c 创建,z 有gzip属性的;f  指定包的文件名称

    tar -xzf log.jar log;#c 解压,z 有gzip属性的;f  指定包的文件名称

常用方法

1.获取一个properties的key和value,更新另一个文件或者文件夹

#获取一个properties的key和value,更新另一个properties相同的key的value
# $1FROM $2TO
function replacePropertiesValue {
        FROM=$1
        TO=$2
        while read line;
                do K=${line%%=*};V=${line#*=};
               # echo "key:$K" ; echo "val:$V";
                sed -i "s!^$K[[:space:]]*=.*!$K=$V!g" $TO
                #eval sed -i 's!^$K[[:space:]]*=.*!$K=$V!g' $TO
        done < $FROM
}
##  注意这个方法目前还不支持value中有&,有&需要使用//&转义

#获取一个properties的key和value,根据相同的key替换另个一文件
function replaceSameKeyXmlValue {
        FROM=$1
        TO=$2
        while read line;
                do K=${line%%=*};V=${line#*=};
               # echo "key:$K" ; echo "val:$V";
                sed -i "s!\"$K\"!\"$V\"!g" $TO
        done < $FROM
}
#eg:replaceSameKeyXmlValue xxx.properties aa/xxx-consumer.xml
##  注意这个方法目前还不支持value中有&,有&需要使用//&转义

#获取一个properties的key和value,替换某个文件夹下面的xml和properties
function relaceFloderValue {
	echo $1
	if [ ! -n "$1" -o ! -n "$2" ] ; then
		echo "please input template file and replace folder!"
		echo "eg. : ./xxx.sh app.properties /app/config/"
		exit -1
	fi

	FILE=$1
	FLODER=$2

	sed -i 's/
	//g' $FILE

	cat $FILE | grep '=' | grep -v '^#' | while read line
	do
	#	echo --------------
	#	echo $line

	#	OVALUE=`echo $line | cut -d'=' -f2-`
	#	OKEY=`echo $line | cut -d'=' -f1`
	#	echo 'key is:'$OKEY' ,value is:'$OVALUE
	#	find $FLODER -name '*.properties' | xargs sed -i "s#$OKEY=.*#$line#g"

	OVALUE=`echo $line | cut -d'=' -f2-`
	OKEY=`echo $line | cut -d'=' -f1`
	KEY='${'`echo $OKEY`'}'
	VALUE=`echo $OVALUE`

	find $FLODER -name '*.properties' | xargs sed -i "s#$KEY#$VALUE#g"
	find $FLODER -name '*.xml' | xargs sed -i "s#$KEY#$VALUE#g"

	done
}
#eg:relace ./xxx.properties ../spring/
##  注意这个方法目前还不支持value中有&,有&需要使用//&转义

 2.判断参数是否为空

# $1 参数本身,$2参数的说明,用于日志打印
function paramNotEmpty {
    param=$1
    paramName=$2
    if [ -z $param ]; then
        echo "parameter $paramName is empty"
        exit 1
    fi
}
# 使用:paramNotEmpty "$APPID" 'appid'
发布了83 篇原创文章 · 获赞 50 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_37636695/article/details/90236222