Linux最全linux中强大的vim你还是只会普通的编辑保存内容?,2024年最新看完这一篇就够了

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

========================================================================

  • vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。

  • vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;

因为程序简单,编辑速度相当快速。

  • vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

  • vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。

  • vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

Vi/vim的基本使用

==========================================================================

  • 所有的Unix Like系统都会内建vi文本编辑器,其他的文本编辑器则不一定会存在;

一些软件的编辑接口会主动调用vi (例如 crontab, visudo, edquota 等命令);

启动vi


  • vim -c cmd file: 在打开文件前,先执行指定的命令;

  • vim -r file: 恢复上次异常退出的文件;

  • vim -R file: 以只读的方式打开文件,但可以强制保存;

  • vim -M file: 以只读的方式打开文件,不可以强制保存;

  • vim -y num file: 将编辑窗口的大小设为num行;

  • vim + file: 从文件的末尾开始;

  • vim +num file: 从第num行开始;

  • vim +/string file: 打开file,并将光标停留在第一个找到的string上。

  • vim --remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim --remote file在已有的gvim中打开文件。

文档操作


  • :e file–关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。

  • :e! file–放弃对当前文件的修改,编辑新的文件。

  • :e+file– 开始新的文件,并从文件尾开始编辑。

  • :e+n file– 开始新的文件,并从第n行开始编辑。

  • :enew–编译一个未命名的新文档。(CTRL-W n)

  • :e– 重新加载当前文档。

  • :e!– 重新加载当前文档,并丢弃已做的改动。

  • :e#或ctrl+^ – 回到刚才编辑的文件,很实用。

  • :f或ctrl+g – 显示文档名,是否修改,和光标位置。

  • :f filename – 改变编辑的文件名,这时再保存相当于另存为。

  • gf– 打开以光标所在字符串为文件名的文件。


©著作权归作者所有:来自51CTO博客作者wx58f0846670609的原创作品,如需转载,请注明出处,否则将追究法律责任

【Vim命令大全】史上最全的Vim命令

https://blog.51cto.com/u_12826294/3098660

vi的三种模式详细说明


基本上vi可以分为三种状态,分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:

一般模式

以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用复制、粘贴来处理你的文件数据。

编辑模式【必看】

  • 在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现INSERT或 REPLACE的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下Esc即可退出编辑模式。

  • vim编辑器有三种模式:

  • 命令模式

  • 插入模式

  • 末行模式

  • 刚打开文件,就是在命令模式里的。

进入到插入模式:

-i:从当前光标位置插入

-a:从当前光标的下一个字符 插入

-o:在当前行的下一行生成一个空白行,并进入插入

-I:光标跳到本行开头,并进入插入模式

-A:光标到本行结束,并进入插入模式

-O:在当前行的上一行生成一个空白行,并进入插入

命令行模式下:

-:q 退出

-:q! 强制不保存退出(用于编辑了文档不想保存时用)

-:wq保存 ——可用:X替代:wq

-:wq! 强制保存(有些文档因为特殊性 必须使用wq!退出)

-:w /path/filename 保存到该目录下(相对于另存为)

-:r /path/file在文本中光标出 读取/path/file文档内容兵写入到当前光标处

命令行模式

输入: / ?三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的!

一般模式可用的按钮说明


移动光标和翻屏

  • h、j、k、l,分别控制光标左、下、上、右移一格

  • ctrl+b屏幕往"后"移动一页【上翻一屏】

  • ctrl+f屏幕往"前"移动一页【下翻一屏】

  • ctrl+d下翻半屏。

  • ctrl+u上翻半屏。

  • ctrl+e 向下滚动一行。

  • ctrl+y 向上滚动一行。

  • n<space>光标向右移动n个字符

  • n% 到文件n%的位置。

  • shift+^移动到这一行的最前面字符处:0数字,但不能用数字小键盘上的数字

  • shift+$移动到这一行的最后面字符处

  • zz 将当前行移动到屏幕中央。

  • zt 将当前行移动到屏幕顶端。

  • zb 将当前行移动到屏幕底端。

  • w光标跳到下个字的开头

  • e光标跳到下个字的字尾

  • H 光标移动到这个屏幕的最上方那一行的第一个字符

  • M 光标移动到这个屏幕的中间那一行的第一个字符

  • L光标移动到这个屏幕的最下方那一行的第一个字符

  • G 移动到这个文件的最后一行

  • nG移动到这个文件的第n行(可配合:set nu)

  • gg 移动到这个文件的第一行,相当于1G

  • n<Enter>光标向下移动n行

查找与替换

  • 查找

  • /word 向光标向下寻找一个名称为word的字符串

  • ?word 向光标向上寻找一个名称为word的字符串

  • n 代表重复前一个查找的动作

  • N 与n刚好相反,为- 反向进行行前一个查找动作

  • 替换

  • :n1,n2s/word1/word2/g n1与n2为数字,在第n1与n2行之间查找word1 这个字符串,并将该字符串替换为word2

  • s/word1/word2/g从第一行到最后一行查找word1字符串,并将该字符串替换为word2

  • :1,5s/word1/word2/g 从第一行到第五行查找word1字符串,并将该字符串替换为word2

  • :1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为word2 ,且在替换前提示用户确认是否进行替换

  • :%s/^/xxx/g- 在每一行的行首插入xxx,^表示行首。

  • :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。

删除、复制、粘贴与撤销

  • x 为向后删除一个字符 (相当于 del键)

  • X 为向前删除一个字符(相当于backspace键)

  • nx 连续向后删除n个字符

  • dd 删除光标所在行

  • ndd 删除光标所在的向下n行

  • d1G 删除光标所在行到第一行的所有数据

  • dG 删除光标所在到最后一行的所有数据

  • d$ 删除光标所在处,到该行的最后一个字符

  • d0 删除光标所在处,到该行的最前一个字符

  • yy 复制光标所在的那一行

  • nyy 复制光标所在的向下n列

  • y1G 复制光标所在行到第一行的所有数据

  • yG 复制光标所在行到最后一行的所有数据

  • y0 复制光标所在的那个字符到该行行首的所有数据

  • y$ 复制光标所在的那个字符到该行行尾的所有数据

  • p将已复制的数据在光标下一行粘贴上

  • P 则为贴在光标的上一行

  • u 恢复前一个操作(后退)

  • Ctrl+r重做上一个操作

  • Ctrl + R 撤销刚才的撤销(前进)

  • . 是重复前一个操作

一般模式切换到编辑模式的可用的按钮说明

  • i, I 进入编辑模式:

i 为从目前光标所在处插入

I 为在目前所在行的第一个非空格符处开始插入

  • a, A 进入编辑模式(Insert mode):

a 为 从目前光标所在的下一个字符处开始插入

A 为 从光标所在行的最后一个字符处开始插入

  • o, O 进入编辑模式:

o 为 在目前光标所在的下一行处插入新的一行

O 为在目前光标所在处的上一行插入新的一行

  • r, R 进入取代模式:

r 只会取代光标所在的那一个字符一次

R会一直取代光标所在的文字,直到按下 ESC 为止;

  • Esc 退出编辑模式,回到一般模式

一般模式切换到命令行模式可用的按钮说明

  • :w 保存编辑的内容

  • :w!强制写入该文件,但跟你对该文件的权限有关

  • :q 离开vi

  • :q! 不想保存修改强制离开

  • :wq 保存后离开

  • :x 保存后离开

  • ZZ 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

  • :w filename 将编辑的数据保存成另一个文件(类似另存)

  • :r filename 在编辑的数据中,读入另一个文件的数据。即将- filename 这个文件的内容加到光标所在行后面。

  • :n1,n2 w filename 将n1到n2的内容保存成filename这个文件。

  • :! command暂时离开vi 到命令行模式下执行command的显示结果!例如 - :! ls /home即可在 vi 当中察看/home底下以ls输出的文件信息!

  • :set nu 显示行号

  • :set nonu 与 set nu 相反,为取消行

vim的缓存文件、恢复与开启时的警告信息


说明

  • 我们知道一些常用的编辑软件,都有个恢复的功能,就是说当你的系统因为某些原因而导致类似当机的情况时,还可以利用这个恢复功能将之前未保存的数据找回来。我们的VIM也有这个功能。

  • 当我们在使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个名为 .filename.swp的文件。如果你的系统因为某些原因断线了, 导致你编辑的文件还没有保存,这个时候.filenam.swp就能够发会救援的功能了。

  • 我们来演示一下

在文本中安 ctrl+z放到后台执行

“test.txt” 10L, 35C written

[1]+ Stopped vi test.txt

[root@ciserver ~]#

#我们停止VI的进程

#方法1

ps aux |grep vi

kill -9 进程编号

#方法2

jobs

kill -9 %1

[root@ciserver ~]# kill -9 %1

[1]+ Stopped vi test.txt

[root@ciserver ~]#

[1]+ Killed vi test.txt

[root@ciserver ~]# jobs

[root@ciserver ~]#

#我们用ls -l 命令来查看一下目录里面,会发现有个.test.txt.swp的文件,这个文件就是个缓存的文件

[root@ciserver ~]# ls .test.txt.swp

.test.txt.swp

[root@ciserver ~]#

  • 我们再来编辑

vim test.txt

这时候会出现一些信息

E325: ATTENTION

Found a swap file by the name “.test.txt.swp”

owned by: root dated: Tue Nov 16 11:14:11 2021

file name: ~root/test.txt

modified: no

user name: root host name: ciserver

process ID: 109278

While opening file “test.txt”

dated: Tue Nov 16 11:14:11 2021

(1) Another program may be editing the same file. If this is the case,

be careful not to end up with two different instances of the same

file when making changes. Quit, or continue with caution.

(2) An edit session for this file crashed.

If this is the case, use “:recover” or “vim -r test.txt”

to recover the changes (see “:help recovery”).

If you did this already, delete the swap file “.test.txt.swp”

to avoid this message.

Swap file “.test.txt.swp” already exists!

[O]pen Read-Only, (E)dit anyway, ®ecover, (D)elete it, (Q)uit, (A)bort:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

with caution.

(2) An edit session for this file crashed.

If this is the case, use “:recover” or “vim -r test.txt”

to recover the changes (see “:help recovery”).

If you did this already, delete the swap file “.test.txt.swp”

to avoid this message.

Swap file “.test.txt.swp” already exists!

[O]pen Read-Only, (E)dit anyway, ®ecover, (D)elete it, (Q)uit, (A)bort:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 27
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值