1、 总结vim命令行模式常见快捷方式,以及vim查找,替换的方法
1) Vim命令行模式常见快捷方式
- :wq 保存退出
- :wq! 强制保存退出
- :q! 强制退出不保存
- :w /路径 另存为
- G :$ 移动到最后一行
- gg :1 移动到第一行舅,同
- 100g 100G :100 移动到第100行
- 0 ^ 光标所在位置移动到当前行行首
- $ 光标所在位置移动到当前行行尾
- yy 复制行
- #yy 复制多行
- Y 复制整行
- ~ 转换大小写
- P 粘贴到当前行的下面(大写是粘贴到当前行的上面)
- 100p (100次) 粘贴100次
- dG 删除/剪切当前行到最后一行
- u 取消上一步修改
- j 删除当前行后的换行符
- c 修改后切换成插入模式
- cc 删除当前行并输入新内容,相当于S
- C 删除当前光标到行尾,并切换成插入模式
- dd 删除一行
- d$ 删除到行尾
- d^ 删除到非空行首
- D 从当前光标位置一直删除到行尾,等同于d$
- dw 从当前光标开始删除一个单词
- ndw 从当前光标开始删除n个单词
- x 删除当前字符(大写是删除前一个字符)
- xp 交换光标所在处的字符及其后面字符的位置
- di” 光标在” ”之间,则删除” ”之间的内容
- yi( 光标在()之间,则复制()之间的内容
- yi[ 光标[]之间,则选中[]之间的内容
- dtx 删除字符直到遇见光标之后的第一个x字符
- ytx 复制字符直到遇见光标之后的第一个X字符
- u 撤销最近的更改
- #u 撤销之前多次更改
- U 撤消光标落在这行后所有此行的更改
- 按Ctrl –r重做最后的“撤消”更改
- .重复前一个操作
- n.重复前一个操作n次
2) Vim查找及替换
- 在命令行模式下按下/或者?即可进入查找模式,然后输入你要查找的内容并回车;n继续向下查找、N继续向上查找。
- s:在扩展模式下完成查找替换
格式:s/要查找的内容/替换为的内容/修饰符
修饰符:
i:忽略大小写
g全局替换;默认情况下,每一行只替换第一次出现
gc:全局替换,每次替换前询问
如有个testfile1文件,我想把里面内容lqcheng全替换为ttle我可以使用以下替换命令;
:1,$ s/lqcheng/ttle/c
按r进入替换模式,可以在当前光标位置进行替换操作。
2、 总结脚本中运算符、逻辑运算以及用法
- 算术运算
+,-,*,/,%取模(取余),**(乘方)
在bash命令中的算术运算实现方法:
let var=算术表达式 如下图
var=$[算术表达式]
var=$((算术表达式))
var=$(expr arg1 arg2 arg3…)
declare –I var=数值
echo ‘算术表达式’ |bc
乘法符号有些场景中需要转文,如*
Bash有内建的随机数生成器:$RANDOM(0-32767,echo $[$RANDOM%50]:0-49之间随机数
= 赋值 a=$b 将把变量 b 的值赋给 a。
== 相等。用于比较两个数字,相同则返回 true。 [ $a == $b ] 返回 false。
!= 不相等。用于比较两个数字,不相同则返回 true。 [ $a != $b ] 返回 true。
自增,自减:
let var+=1
let var++
let var-=1
let var—
- 逻辑运算
true,false(1,0)
与:&
1与1=1
1与0=0
0与1=0
0与0=0
0与0=0
或:|
1或1=1
1或0=1
0或1=1
0或0=0
非:!$a != $b a 不等于 b
3、 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中。
4、 编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统。
5、 编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值