一、shell技术
1.shell 特性
cd切换到家目录
eject弹出光驱/光盘
1.1命令排序
命令1;命令2就算命令1失败,命令2也会照常执行。
&& ||具有逻辑判断
&&是前一个命令失败,后面不会执行,和C语言一样
||是前一个命令失败,后面会执行,和C语言一样
mkdir /home/1/2/3 &&echo "OK"
两条命令都不会执行
mkdir -p /home/1/2/3 &&echo "OK"
会显示ok,因为-p表示如果没有目录会自动创建
ping -c1 1.0.0.127 &>/dev/null && echo "up"||echo "down"
ping的本地换回;&>/dev/null输出内容重定向到垃圾桶
true 命令永远返回为真
false 命令永远返回未假
echo $?显示返回值
command & 后台执行
command &>/dev/null 混合重定向
command1 && command2 命令排序,逻辑判断
1.2通配符(元字符)表示不是本意
*表示匹配任意多个字符 如:ls aa * rm -rf *;
?表示匹配任意单个字符 touch love loove live l7ve;ll l?ve
[]匹配括号中的任意一个字符[abc] [^a-Z]
^表示取反,正则表达式内容,除括号以外的内容
()在子shell中执行(cd /boot;ls)(umask 077;touch file1000)
{}集合touch file{1…9}创建文件file1-file9,mkdir /home/{111,222},mkdir -pv /home/{333/{aaa,bbb},444}
cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.old}
把ifcfg-eth0复制给ifcfg-eth0.old
\转义字符echo \ *输出 *号,输出本意
echo *
echo \*
touch yang\ shen
makdir \\
echo -e "atb"
echo -e "a\tb"
echo -e "anb"
echo -e "a\nb" #转义符,与C一样
1.3echo 输出颜色文本
echo -e "\e[1;31m this is text.\e[0m"
31-37文字颜色,41-47文字背景颜色
echo -e "\e[1;31m \e[1;42m this is text.\e[0m"
可以连用
prinf 格式化输出文本