1 vi命令使用
vi是Linux中内置的一个文本编辑器(类似Windows中的记事本)。
vi 可以对文件中内容进行编辑。
vi有3个模式:插入模式、命令模式、低行模式。
插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。
1.1 命令模式
- 使用vi 命令创建新文件
1.3 命令模式下主要操作
| :set nu | 显示行号 |
|---|---|
| :set nonu | 取消行号 |
2.3 移动光标
按下【ESC】键退出编辑状态
| h或者左箭头(⬅) | 光标向左移动一个光标 |
|---|---|
| j或者下箭头(⬇) | 光标向下移动一个光标 |
| k或者向上箭头(⬆) | 光标向上移动一个光标 |
| l或者右箭头(➡) | 光标向右移动一个光标 |
| n |
n表示数字,比如20,按下数字之后按space空格键,表示向右移动20个字符 |
| 0或者功能键【Home】 | 移动到这一行的最前面字符处 |
| $或者功能键【End】 | 移动到这一行的最后面字符处 |
| G | 移动到这个文件的最后一行 |
| nG | n为数字,移动到这个文件的第n行,例如20G移动到这个文件的第20行 |
| gg | 移动到第1行 |
| n |
n为数字,向后移动n行。比如现在光标在 第20行处,输入20 并按下回车。 定位第40行(往后移动了20行) |
2.4 查找与替换
按下【ESC】退出编辑模式。
| /word | 向光标之下查找word的单词 /hello 表示搜索文件中的hello |
|---|---|
| ?word | 向光标之上查找word的单词 |
| :n1,n2s/word1/word2/c | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2,替换之前会提示用户是否确认 |
| :n1,n2s/word1/word2/g | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2(与/c的区别是:不再询问,直接替换) |
| :1,$s/word1/word2/g | 从第1行到最后一行,找word1,替换为word2 |
备注: 使用 /word 或者 ?word 搜索完成之后 按下 n 自动定位到下一个。
2.5 文件保存
| :w | 保存文件 |
|---|---|
| :w new.txt | 保存值new.txt文件 |
| :q! | 退出不保存 |
| :wq | 保存并退出 |
| :w filename | 文件另存为 filename为具体的文件名 |
3 vi和vim的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
:::info
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
:::
vi有3个模式:插入模式、命令模式、低行模式。
:::info
插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。
:::
vim有4个模式:正常模式、插入模式、命令模式、可视模式。
:::info
正常模式: 一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,一般的键/键组合会被当成功能键,而不会键入对应的字符。
插入模式: 在正常模式中按下i, I, a, A等键,会进入插入模式,击键时会写入相应的字符。
命令模式: 在正常模式中,按下:(冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括配置环境、文件操作、调用某个功能等等。
可视模式: 在正常模式按下v, V,
:::
4 文件权限
4.1 查看权限
查看文件的权限 使用 ls -lh 命令
-rw-r--r-- 1 root root 1.3K Sep 16 14:45 /etc/passwd
[root@VM-0-14-centos tmp]# cat hello.txthello zhangsanlisi[root@VM-0-14-centos tmp]# ls -lh hello.txt-rw-r--r-- 1 root root 20 Sep 16 15:10 hello.txt
- r (read) 读取权限 权限值4
- w (write) 写入权限 权限值2
- x (execte) 执行权限 权限值1
- /tmp 创建文件夹 fanmao
- 再在 /tmp/fanmao 目录下创建文件 01.txt 02.txt 03.txt a1.log a2.log
- 修改 /tmp/fanmao 目录下所有的文件权限
rwxrwxrwxchmod 777 -R /tmp/fanmao/
