马哥教育N38第三周作业
1、总结vim命令行模式常见快捷方式,以及vim查找,替换的方法
1.直接vim+文件名 进入普通模式 ,光标可以移动查看
单词间跳转:
w:下一个单词的词首
^或者数字0 光标所在行首
$ 光标所在行尾
当前页跳转:
H:页首 M:页中间行 L:页底
x: 删除光标处的字符
#x: 删除光标处起始的#个字符
xp: 交换光标所在处的字符及其后面字符的位置
删除命令:本质是剪贴,后面可配合p(paste)剪切粘贴使用
d: 删除命令,可结合光标跳转字符,实现范围删除
d
d0:从光标删除到行首
dd: 删除光标所在的行
#dd:多行删除
dG:从光标删除到行尾
dgg:从光标删除到行首
复制命令(y, yank) 配合P(paste)使用
y: 复制,行为相似于d命令
y$
y0
y^
yy:复制行
#yy: 复制多行
Y: 复制整行
y 复制、d 删除、gU 变大写、gu 变小写
2.按i建进入插入模式 输入好以后按ESC键 返回普通模式
3.像Windows一样,比如我们要复制一些内容,按v键进入可视模式,
光标移动就可以选中行,比普通模式选中的更加直观
在扩展模式下 输入!+命令 可以不退出查看命令结果
:r!uname -r
文件中直接写入命令结果
扩展命令模式:查找并替换
2.总结脚本中运算符、逻辑运算以及用法
算术运算
(1) let var=算术表达式
(2) var=((算术表达式))
(4) var=$(expr arg1 arg2 arg3 …)
(5) declare –i var = 数值
(6) echo ‘算术表达式’ | bc
逻辑运算
true(真), false(假)
1 0
与:
1 与 1 = 1
1 与 0 = 0
0 与 1 = 0
0 与 0 = 0
或:
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
非:!
! 1 = 0 假
! 0 = 1 真
短路运算
短路与
第一个为0,结果必定为0
第一个为1,第二个必须要参与运算
短路或
第一个为1,结果必定为1
第一个为0,第二个必须要参与运算
异或:^
异或的两个值,相同为假,不同为真
cmd2 cmd3 真
cmd1 && cmd2 || cmd3
如果cmd1为真,cmd2执行,cmd3不执行
如果cmd1为假,cmd2不执行,cmd3执行
cmd2 cmd3 真
cmd1 || cmd2 && cmd3
如果cmd1为真,cmd2不执行,cmd3执行
如果cmd1为假,cmd2执行,cmd3执行
3.编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中
#!/bin/bash
cp -rv /etc /root/etcdate +%F
4.编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
nologin.sh
#!/bin/bash
id=id -u $1
[ “id” -ge 1000 ]&&{ passwd -l $1 &> /dev/null;echo $1 nopermmit to access system;}
unset id
login.sh
#!/bin/bash
id=id -u $1
[ “id” -ge 1000 ]&&{ passwd -u $1 &> /dev/null;echo $1 permmit to access system;}
unset id
5.编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
#!/bin/bash
echo “df -h | grep "/dev/sd"|tr -s " " "%"|cut -d% -f5|sort -nr|head -1
”