1. 总结vim命令行模式常见快捷方式,以及vim查找,替换的方法
vim 查找
/查找的内容 从光标处向文件尾部查找
?查找的内容 从光标处往文件首部查找
n 同方向查找
N 反方向查找查找并替换
格式s/查找的内容/替换的内容/修饰符
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
修饰符:
i: 忽略大小写
g: 全局替换,默认替换每一行第一个匹配到的
gc:全局替换,每次询问是否替换
2. 总结脚本中运算符、逻辑运算以及用法
- 运算符
+ - * / % ** 一次表示加 减 乘 除 取模 乘方
实现运算有三种方式- let var=运算
- $((运算))
- $[运算]
- 逻辑运算
与
1与1=1
1与0=0
0与1=0
0与0=0
或
1或1=1
0或1=1
1或0=1
0或0=0
非
!1=0
!0=1
短路与
第一个为0,结果必定为0
第一个为1,第二个必须要参与运算
短路或
第一个为1,结果必定为1
第一个为0,第二个必须要参与运算
异或:^
异或的2个值相同为假,不同才为真
3. 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中
#!/bin/bash
cp -a /etc /root/etc$(data +%F)
4. 编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
- nologin.sh
#!/bin/bash
[ ! -f /etc/nologin ] && echo "user no login" > /etc/nologin
- login
#1/bin/bash
[ -f /etc/nologin ] && rm -f /etc/nologin
5. 编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
- awk写法
#!/bin/bash
df | awk -F "[ ]+|%" '$1 ~ /^\/dev/{print $5}'|sort -nr|head -1
- sed写法
#!/bin/bash
df | sed -nr 's/.* ([0-9]+)%.*/\1/p'|sort -nr|head -1