1 vi命令使用

vi是Linux中内置的一个文本编辑器(类似Windows中的记事本)。
vi 可以对文件中内容进行编辑。
vi有3个模式:插入模式、命令模式、低行模式。

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

1.1 命令模式

  1. 使用vi 命令创建新文件
    1. 进入到/tmp 目录下
    2. 使用命令 vi biji.txt
      1. cd /tmp
      2. vi biji.txt
      编辑文件 - 图1

      1.2 编辑模式

      在命令模式中 按下键盘的 “a” 或者 “i” 键。 可以从命令模式到编辑模式。
      当文件内容输入完成之后, 按下键盘的 【ESC】 键

输入命令 (输入法调整为英文输入法)
:wq 保存并退出

1.3 命令模式下主要操作

  • :wq 退出并保存
  • :q! 退出不保存

    2 主要命令

    下面介绍vi支持的常用文件操作命令。

    2.1 撤销编辑

    在命令模式,按U,可撤销上次编辑

    2.2 行号显示

    vi 打开文件之后,按下 【ESC】 键,
: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, +v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
:::

4 文件权限

4.1 查看权限

查看文件的权限 使用 ls -lh 命令

  1. -rw-r--r-- 1 root root 1.3K Sep 16 14:45 /etc/passwd
  1. [root@VM-0-14-centos tmp]# cat hello.txt
  2. hello zhangsan
  3. lisi
  4. [root@VM-0-14-centos tmp]# ls -lh hello.txt
  5. -rw-r--r-- 1 root root 20 Sep 16 15:10 hello.txt
  • r (read) 读取权限 权限值4
  • w (write) 写入权限 权限值2
  • x (execte) 执行权限 权限值1
    • 没有权限

      4.2 chmod 命令修改权限

      修改文件权限
      1. chmod 666 /tmp/hello.txt

      4.3 chmod -R 设置目录下所有文件权限

  1. /tmp 创建文件夹 fanmao
  2. 再在 /tmp/fanmao 目录下创建文件 01.txt 02.txt 03.txt a1.log a2.log
  3. 修改 /tmp/fanmao 目录下所有的文件权限 rwxrwxrwx
    1. chmod 777 -R /tmp/fanmao/