Linxu---vi操作

文本编辑器VI

  • 什么是vi:vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。

  • vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性,可以把vim理解为vi的升级版。

VI的两种模式

(1)命令模式

  • 进入vi时的默认模式,此模式下所有的用户输入都视为命令
  • 用户在此模式下进行搜索、复制、替换等

(2)编辑模式

  • 用户在此模式下可以编辑文本内容

模式切换

  • 命令进入编辑:i(当前位置) 、a(下一位置)、o(下一行) 编辑进入命令:esc
a 光标所在字母后插入
i 光标所在字母前插入
o 光标所在行下面插入一行
A 光标所在行尾插入
I 光标所在行首插入
O 光标所在行首插入

常用命令

  1. vi + xxx.txt(自定义文件名)——添加文件【存在:显示文件内容,不存在:创建文件】

  2. x   —— 命令模式下: 删除单个字符

  3. u   —— 命令模式下 :撤销

  4. dd   ——按  d 2次,把整行删除【ndd:就是删除 n行】

  5. ndd  ——删除光标所在向下n行的内容

  6. yy   ——按 y 2次,复制整行【nyy:就是复制n行】

  7. —— 粘贴整行

  8.  :set nu  ——显示数行号

  9.  set nonu   ——取消显示行号

  10. source +文件名(路径) ——关闭指定文件
  11.  . ——重复前一个动作

光标:

  1. ——光标移动到最后一行

  2. gg  ——光标移动到第一行

  3. :n  ——光标移动到第 n 行

  4. ——移动光标到页面中央
  5. H  ——移动光标到页面开始处
  6.   yw ——复制光标后的单词,以空格为分界

  7. trl + d往下翻半屏内容

  8. ctrl + u往上翻半屏内容

  9.  $ 也就是shift+4    ——光标移动到行尾

  10. ^ 也就是shift+6    —— 光标移动到行首

查看:

  1.  /+指定内容  ——从当前光标的位置自上而下查找指定的内容,按 N 是下一个,按 n 是上一个
  2.  ?+指定内容  ——从当前光标的位置自下而上查找指定的内容
  3. cat +文件名   ——查看文件下的内容
  4. more +文件路径  ——可以分屏显示。按回车键可继续查看下一页
  5. head -n 指定查看的行数+文件路径  ——查看指定的行数
  6. tail - n +文件名  ——查看末尾的指定行数
  7. tail - f+文件名   ——动态的查看日志内容(可在f前指定查看末尾的行数;如:tail - 20f+文件名)【Ctrl+c:退出】
  8. tail - f+文件名 |gerp 指定查找的内容 ——查看指定的动态内容
  9. history ——查看之前输入的所有的命令
  10. history |grep 指定查找的命令(+--color) ——查找指定的命令【加上--color,会把指定查找的加上颜色】
  11. history |grep 指定查找的命令+--color  ——查找指定的命令,会把指定查找的加上颜色
  12. history |grep 指定查找的命令+--color -n ——查找指定的命令,会把指定查找的加上颜色,并且显示在哪一行【|grep可无限往后+过滤条件
  13. cat 文件名|grep -v 指定内容 ——查看不包含指定内容的信息
  14. 第一步:cd/bin 第二部:ls —— 查看所有的命令
  15. env ——查看当前的环境变量【PATH中就是所添加的所有环境变量】

统计:

  • ls | wc -l ——统计当前目录下有多少个文件

定义命令:

  • alias 指定内容 =‘ls’——之后【指定内容】和 ls命令是一样的了 #关闭后或是换了其他的环境操作就不可以了

——【想要把定义的命令一直使用】需要把定义的命令放到 shell.sh 文件中,然后再把 shell脚本放到环境变量中:

  • 使用 env命令找到 PATH变量,然后【shift+4】到PATH 末尾加上: :/脚本 ·目录;如若 没有PATH变量,则需写为:PATH= $PATH/脚本 ·目录(不加$PATH

   ,之前要使用的命令会使用不了啦,因为不加的话,PATH只有刚刚加入的脚本了,其他的还没有,需要在原来的基础上加)【$:在linux中表示取一个变量的值】

  • 加入到环境变量后,需要使用 命令:source / etc/profile 执行下;或是关闭后重新打开下即可正常使用定义好的脚本。【etc/profile:系统的环境变量,加入后所有的用户都可用
  • 【如若是普通用户怎么加环境变量】——不是root用户是没有权限在环境目录里面添加的,这样的话,需要把想要想要添加的脚本添加到home(家目录)下边即可。(加入大家目录后,只会对自己的用户生效);操作流程:输入【ls -a】——找到【 .bashrc 或是 .bash_profile(用户的环境变量)】——【vi .bash_profile】——找到PATH变量,在末尾【~/文件名字】——source .bash_profile执行下;或是关闭后重新打开下,即可正常使用。
  • alias定义到 写入到用户环境变量里面,当用户登录时,就可以直接使用了,如alias rm = 'rm - fr' 
搜索字符串

输入/+要查找的字符串

n键重新查找下一个

退出Vi
q 退出
q! 不保存退出
:wq / :x 保存退出
e! 不保存修改文件
w 保存
强制,后边+!表示强制

 批量替换

  • :%s/123/abc/g        —— 指定替换【 %: 所有行; /g: 这一行不管有多少个全部会替换】 #把123替换成abc;如若:是替换的内容有/,在命令行加一个 ;例如:需把 a/a/a/ 中的a替换成 b, 则这样来写 :%s/a/b/g

注:如果操作文件时,提示已有他人在操作文件时,可:在root用户命令模式下:输入【ls -a】找到所有的文件,显示【.文件名字.swp】为临时打开的文件,输入【rm - rf .文件名字.swp】删除下临时文件就正常了

知识点:

  • 如果把一个目录加入环境就是为了让这个东西,在任意环境下都可使用
  • 用户的环境变量的优先级是高于系统环境变量的优先级的,自己有的,优先使用自己环境变量

原文地址:https://www.cnblogs.com/brf-test/p/14186772.html