学习运维第三个星期
1、总结vim命令行模式常见快捷方式,以及vim查找,替换的方法
vim [options] [file ..]
+# 打开文件后,让光标处于第#行的行首,(默认行尾)
举例vim +10 /etc/passwd (光标调至第十行)如下图
+/PATTERN打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
举例vim +/ga /etc/passwd (让光标置于ga开头的行)如下图
-d file1 file2 ... 比较多个文件
-m file 只读方式打开文件(即使修改后:wq!也无法修改文件)
vim 常用快捷键
按键 | 功能 | 命令模式跳转按键 | 功能 |
i | insert 在光标所在处插入 | h | 左 |
l | 在当前光标所在行的行首插入 | i | 右 |
a | append,在光标所在处后面输入 | j | 下 |
A | 在当前光标所在行的行尾输入 | k | 上 |
o | 在当前光标所在行的下方打开一个新行 | #command | 跳转由#指定的个数的字符 |
O | 在当前光标所在行的上方打开一个新行 | w | 下一个单词的词首 |
Esc | 从插入模式转换到命令模式 | e | 当前或下一个单词的词尾 |
: | 拓展命令模式 | b | 当前或前一个单词的词首 |
Esc,enter | 拓展命令模式转到命令模式 | #command | 由#指定一次跳转的单词数 |
:q | 退出(拓展命令模式) | H | 页首 |
:q! | 强制退出,不保存修改(拓展命令模式) | M | 页中间行 |
:wq | 保存并退出(拓展命令模式) | L | 页低 |
:x | 保存并退出(拓展命令模式) | zt | 将光标所在当前行移动到屏幕顶端 |
ZZ | 保存并退出(命令模式) | zz | 将光标所在当前行移到屏幕中间 |
ZQ | 不保存退出(命令模式) | zb | 将光标所在当前行移到屏幕底端 |
下图是一张VIM的键盘布局图以供参考
命令模式:查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
拓展命令模式:查找并替换
s: 在扩展模式下完成查找替换操作
格式:s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
修饰符:
i: 忽略大小写
g: 全局替换;默认情况下,每一行只替换第一次出现
gc:全局替换,每次替换前询问
举例:全局查找var替换为user
2、总结脚本中运算符、逻辑运算以及用法
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如awk和expr,expr最常用
awk:Aho, Weinberger, Kernighan,报告生成器,格式化文本输出;awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 awk将会使你的工作变的高大上。 awk 是三剑客的老大,利剑出鞘,必会不同凡响。
expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。