查看进程: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'