第三周作业
1、总结vim命令行模式常见快捷方式,以及vim查找,替换的方法
命令行模式:
:w 保存
:q 退出
:w! 强制保存
:q! 强制退出
:wq 保存并退出
:set number 显示行号,可缩写为 :set nu
:set nonumber 隐藏行号,可缩写为 :set nonu
查找操作:
/str 或者 ?str 用来搜索 str
按n向下查找,按n向上
替换操作:
使用:s可以替换字符串
:s/str1/str2 替换当前行的第一个str1为str2
:s/str1/str2/g 替换当前行的所有str1为str2
:n,s/str1/str2 替换第n行的第一个str1为str2
:.,s/str1/str2 替换当前行的第一个str1为str2
:%s/str1/str2 替换所有行的第一个str1为str2
:%s/str1/str2/g 替换全局所有str1为str2
分隔符 “/” 可使用其他符号来代替例如:
:s$str1$str2
:s#str1#str2
2、总结脚本中运算符、逻辑运算以及用法
算数运算符
+ 加法
- 减法
* 乘法
/ 除法
% 取余数
关系运算符:
在[]中比较使用
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
在[[]]中比较使用
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
*注意括号和表达式之间必须留有空格
逻辑运算符
== 是否相等,相等返回真
!= 是否不相等,不相等返回真
3、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcyyyy-mm-dd中
backup.sh
#!/bin/bash
cp -rv /etc /root/etc `date +%f`
4、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
nologin.sh
#!/bin/bash
[ ! -e '/etc/nologin' ] && touch /etc/nologin && echo "denylogin"
login.sh
#!/bin/bash
[ -e '/etc/nologin' ] && `rm -rf /etc/nologin` && echo "allowlogin"
5、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
#!/bin/bash
echo "df |grep /dev/sda|tr -s ' ' "%" |cut -d% -f5|sort -nr|head -1"