VI/VIM概述
- vi 是所有Linux系统都提供的文本编辑器,它提供了一个窗口,通过它可以编辑文本文件。
- vim是vi的增强版本支持vi全部的功能
- 增强命令
- 增强功能包括颜色标记功能
vi操作模式
- vi可分为三种操作模式,分别是
- 命令模式(command mode)
- 插入模式(insert mode)
- 底线模式(last line mode)
- 三种工作状态,完成不同的任务
三种模式切换
命令模式功能--光标移动
- G:移动到文件最后一行行首
- gg:移动到文件的开头
- 按0或^:光标移动到所在行的行首
- 按$:光标移动到所在行的行尾
- 按 ctrl+f 往下翻一页
- 按 ctrl+b 往上翻一页
命令模式功能--删除、复制、撤销
- dd:删除光标所在的行,3dd表示删除光标所在位置往下的3行,包括光标所在的行
- yy:复制光标所在的行
- p:黏贴(包括前面复制操作或者删除操作的内容)
- u:假如误操作一个指令,可以马上按u,进行撤销,可以联系按u,撤销多个之前做过的操作
底线模式功能-保存、退出
- :w filename(将文件另存为filename)
- :wq(保存文件并且退出vi)
- :q!(强制退出vi并不保存当前更改的内容)
通配符
模式 | 匹配对象 |
g* | 文件以“g”开头的文件 |
b*.txt | 以“b”开头,中间有零个或任意多个字符,并以“.txt”结尾的文件 |
Data??? | 以“Data"开头,其后紧接着3个字符的文件 |
[abc]* | 文件名以“a”,“b”,“c”开头的文件 |
查找文件-which
- which命令是查找某个命令的完整路径,也就是说它实用来查找可执行文件的,which命令的原理是在当前登录用户的PATH环境变量记录的路径中进行查找。
- which命令使用例子:
which mkdir (查找mkdir命令的二进制文件路径)
文本关键字搜索-grep命令
grep命令
- 一种强大的文本搜索工具,并把匹配的行打印出来。
- 啥时候用?
- 查看日志
- 查看命令输出
- grep root /var/log/messages
- 大小写敏感
- 支持正则表达式搜索文本
grep "test" d* 通配符
#显示所有以d开头的文件中包含test的行。
grep "test" aa bb cc 多个文件
#显示在aa ,bb ,cc 文件中匹配test的行。
grep "root" -r /var/log 目录中递归搜索
#在/var/log所有子目录文件中搜索包含字符串“root”的行
grep "^test" /var/logscp.log 正则表达式
#在scp.log中搜索以字符串“test”开头的行
查看PATH环境变量命令
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
查找文件
find命令会在指定目录及其子目录下查找符合条件的特定文件。当我们忘了文件的位置,可以使用该命令。
- 命令格式: find 目录名 条件
常见条件:
-name 指定要被寻找的文件或目录名称,可用通配符。
-type x 以文件类型作为寻找条件。文件类型x如下:
d --- 目录(directory),f --- 文件(file)
例如:
find /tmp -name "abc"
find /tmp -name "abc*"
find /tmp -name "abc*" -type f
grep命令常用参数
-c:只输出匹配行的行数
-i:不区分大小写
-n:显示匹配行及行号
-v:显示不包含匹配文本的所有行
-F:指明pattern非正则表达式