Linux---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 | 光标所在行首插入 |
常用命令
-
vi + xxx.txt(自定义文件名)——添加文件【存在:显示文件内容,不存在:创建文件】
-
x —— 命令模式下: 删除单个字符
-
u —— 命令模式下 :撤销
-
dd ——按 d 2次,把整行删除【ndd:就是删除 n行】
-
ndd ——删除光标所在向下n行的内容
-
yy ——按 y 2次,复制整行【nyy:就是复制n行】
-
p —— 粘贴整行
-
:set nu ——显示数行号
-
set nonu ——取消显示行号
- source +文件名(路径) ——关闭指定文件
- . ——重复前一个动作
光标:
-
G ——光标移动到最后一行
-
gg ——光标移动到第一行
-
:n ——光标移动到第 n 行
- M ——移动光标到页面中央
- H ——移动光标到页面开始处
-
yw ——复制光标后的单词,以空格为分界
-
trl + d:往下翻半屏内容
-
ctrl + u:往上翻半屏内容
-
$ 也就是shift+4 ——光标移动到行尾
-
^ 也就是shift+6 —— 光标移动到行首
查看:
- /+指定内容 ——从当前光标的位置自上而下查找指定的内容,按 N 是下一个,按 n 是上一个
- ?+指定内容 ——从当前光标的位置自下而上查找指定的内容
- cat +文件名 ——查看文件下的内容
- more +文件路径 ——可以分屏显示。按回车键可继续查看下一页
- head -n 指定查看的行数+文件路径 ——查看指定的行数
- tail - n +文件名 ——查看末尾的指定行数
- tail - f+文件名 ——动态的查看日志内容(可在f前指定查看末尾的行数;如:tail - 20f+文件名)【Ctrl+c:退出】
- tail - f+文件名 |gerp 指定查找的内容 ——查看指定的动态内容
- history ——查看之前输入的所有的命令
- history |grep 指定查找的命令(+--color) ——查找指定的命令【加上--color,会把指定查找的加上颜色】
- history |grep 指定查找的命令+--color ——查找指定的命令,会把指定查找的加上颜色
- history |grep 指定查找的命令+--color -n ——查找指定的命令,会把指定查找的加上颜色,并且显示在哪一行【|grep可无限往后+过滤条件】
- cat 文件名|grep -v 指定内容 ——查看不包含指定内容的信息
- 第一步:cd/bin 第二部:ls —— 查看所有的命令
- 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键重新查找下一个 |
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