20170103
1、vi/vim编辑命令,.vimrc设置
2、命令基础,100多个命令
3、基础,高端的网络服务都要会,nfs,rsync,inotify,lanmp,sersync,ssh key批量分发管理
清空文件的三种方法
>log.log
echo >log.log
cat /dev/dull >log.log
aix ksh
unix posix sh
linux bash
20170105
dirname $0
basename $0
[ $? -eq 0 ] && echo ok
rename .jpg .JPG * #讲.jpg替换成 .JPG
${value:-word}如果value为定义,则表达式的值为word
${value:=word}如果value未定义,则设置value的值为word
${value-word}变量未定义就用-后面的替代。如httpd=${HTTPD-/usr/sbin/httpd}
sh -x a.sh分析a.sh的执行过程,实际并未执行
20170105
seq -s " " 100
seq 100
seq 100 -1
echo ${#var}计算字符串的长度,效率最高
echo $char|wc -m 计算字符串的长度
echo $(expr length "$var")计算字符串的长度
man bash变量处理大全
变量的数值计算常用如下几个命令
(())、let、expr、bc、$[]
(())只能是整数运算
((a=1+2**3-3%2))或者a=$((1+2**3-3%2))
echo $((1+2**3-3%2))
echo $((3>2))
let
i=2
let i=i+6
echo $i
expr
expr 1 + 3
expr $[2*4]
expr "$1" : "*\.pub" 如果$1的格式匹配.pub,则为真,若为真则输出字符的个数,否则为零
read -t 5 -p "please input:" a #a前面有空格
expr $a + 0 >/dev/dull 2>&1
[ $? -eq 0 ] && echo int||echo char 判断变量是否为整数
20170106
a=2
i=`echo $a+1|bc`
echo "scale=2;5.33 / 3.13"|BC
条件测试
1、test <表达式>#test ! -f file && echo 1||echo 0
2、[<表达式>]#[ -f "file" ] && echo 1||echo 0#[ -f file -a -d folder ] && echo 1||echo 0
3、[[<表达式>]]#[[ -f file && -d folder ]] && echo 1||echo 0#可以使用通配符进
行模式匹配,&&、||、>、<等可以应用于[[<表达式>]]中,而不能用于[<表达式>]中
字符串测试操作符
-z "字符串"#长度为0则为真
-n "字符串"#长度不为0则为真
“字符串1”=“字符串2”#相等则为真
“字符串1”!=“字符串2”#不相等则为真
在[]中使用-eq、-ne、-gt、-ge、-lt、-le #[ 2 \< 1 ]
在(())、[[]]中使用==、!=、>、>=、<、<=
在[]中使用-a、-o、!
在[[]]中使用&&、||、!
20170108
cat <<END
ewrfe
edcfwe
edfw
END
if 条件
then
指令
else
指令
fi
if 条件
then
指令
elif 条件
then
指令
elif 条件
then
指令
else
指令
fi
判断MySQL服务状态的方法
portdb=`netstat -lnt|grep 3306|awk -F ‘[ :]+‘ ‘{print $5}‘`
netstat -lnt|egrep "3306|3307"|wc -l
ps -ef|grep mysqld|grep -v grep|wc -l
本文出自 “银河系|计算机网络” 博客,请务必保留此出处http://qqran.blog.51cto.com/10014850/1890165
原文:http://qqran.blog.51cto.com/10014850/1890165