shell脚本基础知识及vi常用命令

vi命令

是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向文件尾翻一屏;Ctrl+b:向文件首翻一屏;Esc:从编辑模式切换到命令模式;ZZ:命令模式下保存当前文件所做的修改后退出vi;:行号:光标跳转到指定行的行首;:$:光标跳转到最后一行的行首;x或X:删除一个字符,x删除光标后的,而X删除光标前的;

D:删除从当前光标到光标所在行尾的全部字符;

dd:删除光标行正行内容;

ndd:删除当前行及其后n-1行;

nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;

p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;

P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;

a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;

a:在当前字符后添加文本;

A:在行末添加文本;

i:在当前字符前插入文本;

I:在行首插入文本;

o:在当前行后面插入一空行;

O:在当前行前面插入一空行;

:wq:在命令模式下,执行存盘退出操作;

:w:在命令模式下,执行存盘操作;

:w!:在命令模式下,执行强制存盘操作;

:q:在命令模式下,执行退出vi操作;

:q!:在命令模式下,执行强制退出vi操作;

:e文件名:在命令模式下,打开并编辑指定名称的文件;

:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;

:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;

:set number:在命令模式下,用于在最左端显示行号;

:set nonumber:在命令模式下,用于在最左端不显示行号;
shell脚本基础知识及vi常用命令

语法
vi(选项)(参数)

选项
+<行号>:从指定行号的行开始先是文本内容;

-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;

-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;

-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;

-l:使用lisp模式,打开“lisp”和“showmatch”;

-m:取消写文件功能,重设“write”选项;

-M:关闭修改功能;

-n:不实用缓存功能;

-o<文件数目>:指定同时打开指定数目的文件;

-R:以只读方式打开文件;

-s:安静模式,不现实指令的任何错误信息。

参数
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。

知识扩展
vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

命令方式在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释。

例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出“报警声”,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

输入方式通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。由输入方式回到命令方式的办法是按下Esc键。如果已在命令方式下,那么按下Esc键就会发出“嘟嘟”声。为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。

ex转义方式vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。

例如::1,$s/I/i/g 按Enter键则从文件第一行至文件末尾($)将大写I全部替换成小写i。vi编辑器的三种工作方式之间的转换如图所示。

 

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/4198.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年12月28日 09:24
下一篇 2017年12月31日 02:49

相关推荐

  • 关于常用的linux shell命令。

    常用的Linux shell命令有很多,包括文件、目录操作命令、文本处理命令、系统管理命令等。其中一些常用的命令有ls、cd、mkdir、rm、cp等。 Linux Shell简介 Linux Shell是Linux操作系统的命令行界面,它是一个文本界…

    2024年7月11日
    00
  • shell怎么判断两个字符串是否相等的。

    在shell中,可以使用双等号(==)来判断两个字符串是否相等。 在Shell脚本中,判断两个字符串是否相等非常简单,我们可以使用"=="运算符来进行比较,下面将详细介绍如何在Shell脚本中判断两个字符串是否…

    2024年7月10日
    00
  • 我来教你linux中Shell的常用命令有哪些。

    Linux中Shell的常用命令有很多,以下是一些常用的命令:ls、cd、mkdir、rmdir、cp、mv、touch、chmod、chown、sudo等。 Linux中Shell的简介 Shell(命令行解释器)是Linux系统中的一个核心组件,它负责接收用户输入的…

    2024年7月4日
    00
  • 我来教你linux shell 文件是否存在。

    在Shell脚本中,我们可以使用多种方式来检查一个文件夹是否存在,这些方法包括使用条件语句、测试命令和函数等,下面将详细介绍如何使用这些方法来判断文件夹是否存在。 1. 使用条件语句 在Shell脚本中,我们可以使…

    2024年6月20日
    00
  • 说说Vi文本编辑器怎么用。

    Vi文本编辑器是一款常用的文本编辑器,它有三种工作模式:命令模式、插入(编辑)模式和底行模式。在命令模式下,可以通过输入命令来编辑文件,例如复制、粘贴、剪切等。在插入(编辑)模式下,可以对文件进行编辑,例…

    2024年7月26日
    00
  • 详解php命令行写shell实例

    php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php 也可以。php -h Usage: php [options] [-f] …

    2022年6月18日
    0166
  • 关于端口号,具体的你知道多少?

    端口号: TCP和UDP采用16bit的端口号来识别应用程序。那么这些端口号是如何选择的呢? 服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个telnet服务器的TCP…

    2016年6月15日
    0261
  • 小编教你如何理解R1-007 Shell变量。

    R1-007 Shell变量是Linux系统中的一种特殊变量,它主要用于存储和操作环境变量,在Linux系统中,每一个运行的程序都有一个对应的环境变量,这些环境变量被用来定义程序的运行环境,PATH环境变量定义了系统搜索可执…

    2024年6月14日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息