利用vi与Unix系统进行对话

  Unix工程师在平时工作时,需要通过各种手段跟Unix系统进行交流、进行对话。如在系统防火墙管理中,工程师必须把自己的想法,如允许哪些数据包通过,哪些数据包过滤掉等等,告诉给Unix操作系统。而无疑vi程序就是这么一个工具。它能够为工程师与Unix操作系统之间建立一座沟通的桥梁。

  Vi是英文visual的缩写,是Unix操作系统下最受欢迎的全屏幕编辑程序。它的功能十分丰富,想通过一篇文章的篇幅介绍其全部的功能,有点不现实。为此在这里,笔者从如何提高vi程序利用率与开发速度的角度,谈谈vi工具的实用技巧以及需要注意的地方。

  一、vi编辑程序在工作缓冲区中完成全部工作。

  Vi编辑程序有一个特点,她的工作全部是在缓冲区中完成的。工程师在编辑对话开始之前,vi编辑程序会从硬盘中将用户编辑的文件读入工作缓冲区内。在工程师进行编辑的过程中,全部在缓冲区内完成,直到把工作缓冲区的内容写回到硬盘中。工程师在编辑新文件时,vi编辑程序也并不立即在硬盘中建立文件,而是先把内容保存在缓冲区内。然后需要管理员通过w命令把文件保存到硬盘中。

  这种机制,即有好处,也有坏处。由于系统从缓冲区读取数据要比在硬盘中读取数据快的多。故利用vi来编辑程序会有效率会比较高。但是缓冲区的内容由于没有及时保存在硬盘上,所以如果Unix服务器突然断电的话,缓冲区中的内容将会全部丢失。从而带来一些不必要的损失。所以笔者建议,在利用vi编辑程序编写大型程序的时候需要特别注意,要及时利用w命令来保存缓冲区中的内容。不过需要说明的是,vi编辑程序毕竟不是一个文本编辑软件。若利用这个工具来建立复杂的文件,不是明智的做法。

  二、选择正确的模式来操作。

  Vi编辑程序有三种操作模式,分别为命令模式、输入模式和底行命令模式。

  在命令模式下工程师输入的内容被翻译成命令传递给vi编辑程序。如“a”命令就是其中比较有代表的一个。命令模式下工程师键入的所有字符都不会在屏幕上显示出来;工程师也不用按回车键来执行命令。Vi编辑程序下的命令通常情况下都是单个字符,他们往往是英文操作名称的首字符。如上面提到的英文字母“a”就表示插入字符等等。

  在输入模式下,工程师才能够对文件进行编辑。通常情况下,工程师刚进入vi编辑程序时是处于命令模式下。此时工程师是无法对文件进行编辑的。在输入模式下,vi编辑程序就好象是一个类似于打字机软件。工程师在此键入的内容,都将作为文本来接受并显示给管理员。完成输入或者编辑文本工作后,按Esc键返回到命令模式中。

  当工程师编辑好文本内容后,需要用冒号开始的命令把vi的光标移动到屏幕的底行。此时vi编辑程序进入到底行命令模式。工程师往往需要把冒号跟其他命令结合使用,如“:w”表示保存缓冲区中的文件。在底行命令模式下,主要用来执行一些特别的功能。如可以在不退出vi编辑环境的情况下实现替换文本、执行shell命令等功能。

  由于不同的模式完成不同的工作,故工程师需要了解这三种模式的不同特点,然后根据实际情况选择合适的操作模式。具体来说,笔者有如下建议。如果只是查看文件或者说还不确定该如何修改时,最好在命令模式下查看文件。因为在命令模式下是只读的,可以避免对原有文件的误操作。同时,文件编写完成之后,要及时转换到底行模式下,并利用w等命令把修改后的文件及时保存到硬盘中。可见合适的模式有利于提高工程师的工作效率,同时又可以避免误操作对原有文件的不利影响。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28699.html