本章主要讲解shell脚本,vim编辑器
1. 强制保存退出 wq!
2. 查询主机名称 hostname
3. 在vim中常用的命令 dd删除光标所在行;5dd删除自光标所在行开始往下数五行;yy复制光标所在行;5yy复制自光标所在行开始往下数5行内容;n显示搜索命令定位到下一个字符串;N显示搜素命令定位到上一个字符串;u撤销操作;p将之前dd或yy的数据粘贴到当前光标所在行。
4. 重启网卡服务:systemctl restart network
5. .repo表示软件仓库的配置文件
6. 脚本lwy.sh基本格式注意事项: #!/bin/bash //表示脚本声明,当前脚本谁可以解读
#脚本功能介绍
echo $0 //脚本名称
echo $1,$3,$5 //运行脚本时输入的第1、3、5个参数
echo $# //接收参数的个数
echo $* //接收的全部参数
echo $? //上一条指令是否成功
...>>bash lwy.sh aaa bbb ccc ddd eee fff ggg
7. 判断语句[ 命令 ]。判断一个路径是否存在[ -d /etc ],语句执行完之后命令行没有输出提示,执行上一个语句执行是否成功命令:echo $? 如果输出0则表示此路径存在,输出为1表示路径并不存在。[]中-f表示判断是否是一般文件,比如txt格式文件等;-r表示判断是否有读取权限。注意:在[]的判断语句中,命令的内容前后都有空格。
8. 输出当前用户echo $USER;举个例子 [ $USER != root]
echo $? 输出为1,表示上一句执行失败,说明当前用户为root
9. 逻辑运算符。与&&,在前边语句成功的情况下执行后边语句;或||,在前边语句执行失败的情况下执行后边语句。
10. 整数比较运算符。 -eq 是否等于;-ne是否不等于;-gt是否大于;-lt是否小于;-le是否小于或等于;-ge是否大于或等于。
11. [ `free -m | grep Mem: | awk '{print $4}'` -le 1024 ] && echo "小于1M" || echo "大于1M" 执行free -m命令的结果筛选Mem:行和第四列的数据,判断此数据是否小于1024,如果小于1024则内存不足1M,否则输出大于1M。
12. 在写脚本的时候往往需要使用一些变量,判断此变量是否已经被使用:[ -z $HAHO ]
echo $? 如果输出为0,则表示此变量未被使用
13. if语句之单分支。DIR = /etc/hoho
if [ ! -e $DIR ];then
mkdir -p $DIR
fi
例子2: ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ];then
echo "$1 在线"
else
echo "$1 不在线"
fi
14. if语句之多分支。
read -p "Enter:" HAHO
if [ ] && [ ];then
echo "xxxxx"
elif [ ] && [ ];then
echo "xxxx"
else
echo "xxxx"
fi
15. for循环。 read -p "Enter:" PASSWD
for UNAME in `Cat.txt`
do
///
done
16. `命令` = $(命令)
17. while循环。 while []
do
done
18. case语句。 read -p "Enter:" KEY
case "$KEY" in
[a-z] | [A-Z])
echo "字母"
;;
[0-9])
echo "数字"
;;
*)
echo "其他"
esac
19. 计划任务。一次性任务at 周期性任务crond(其实crond是服务名称,而crontab是配置此服务的工具命令,同样的targetd是服务名称)
at 19:25 进入交互命令模式,reboot重启计算机,然后ctrl+d保存并退出,c只是退出并不保存。此时制定计划任务在19点25分重启计算机。
at -l查看已制定的计划任务。第一列为任务编号。at -c 编号 表示查看具体编号任务信息。
atrm 编号 表示删除具体编号任务计划。
20. 周期任务计划。基本格式为: 分 时 日 月 星期 命令。在设置时间时,不设置的地方用*占位,命令是使用绝对路径命令。查看命令绝对路径用whereis,例子:whereis reboot。日和星期不能同时设置。
*/2 表示每隔2(分钟、小时、天)。
crontab -e同vim一样,编辑一个自己的计划任务。写个例子: 13 3 * * 3 /usr/bin/tar czvf xx.tar.gz 需打包的文件路径。 这个命令意思是每周三的3点13分,将某路径下文件打包成xx压缩包。
contab -l表示查看已制定的周期任务。