vim:一个模式编辑器
三种主要模式:
命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
插入(Insert)或编辑模式:修改文本
扩展命令(extended command )模式:保存,退出等
vim默认进入文件命令模式
命令模式--------> 插入模式 :i ------- insert,在光标所在处输入。
命令模式-------->扩展命令模式:”:”(冒号)。
------>退出到命令模式 :按ESC
插入模式(按i进入插入模式)«------»(esc键退回命令模式)命令模式 «------»(按“:”)扩展命令模式
命令模式下
字符间跳转: h: 左 l:右 j: 下 k: 上
v:选择,(移动光标选择内容)
y:复制。
p:粘贴
u:撤销
查找:“/pattern“(模式)
扩展命令模式
按“:”进入扩展命令模式(会出现在左下角处)
:w 保存
:wq 保存退出
:q 退出
:q! 强制不保存退出
:w file 另存为file
查找并替换
s: 在扩展模式下完成查找替换操作
格式:s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可 以使用“&”引用前面查找时查找到的整个内容
全文查找:s前加“%”
修饰符:i: 忽略大小写
g: 全局替换;默认情况下,每一行只替换第一次出现
gc:全局替换,每次替换前询问
脚本中运算符、逻辑运算用法
bash中的算术运算:help let
+, -, *, /,
%取模(取余), **(乘方)
实现算术运算:
(1) let var=算术表达式
(2) var=$[算术表达式]
(3) var=$((算术表达式))
(4) var=$(expr arg1 arg2 arg3 ...)
(5) declare –i var = 数值
(6) echo ‘算术表达式’ | bc
乘法符号有些场景中需要转义(\),如*
bash有内建的随机数生成器:$RANDOM(0-32767)
逻辑运算
true, false
1 , 0
1 与 1 = 1
1 与 0 = 0
0 与 1 = 0
0 与 0 = 0
或: (只有0与0为0,与1与都为1)
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
非:!
! 1 =0 ! true
! 0 = 1 ! false
异或:^
异或的两个值,相同为假,不同为真
短路运算
短路与:cmd1(短路与)&& cmd2
如果cmd1为真,则执行cmd2
如果cmd1为假,则不执行cmd2(因为cmd2不管真假结果都必为假)
短路或:cmd1(短路或)|| cmd2
如果cmd1为真,则不执行cmd2(因为cmd2不管真假结果都必为真)
如果cmd1为假,则执行cmd2
编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中
编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值