大概在 1999~2000 年期间为了防止自己忘记所作的学习心得纪录!
1999 年初次接触 Unix 系统,1999 年底接触 Red Hat 6.1,而在 2000 开始撰写一些心得文章,于是有了底下这些文本的产生。 这些文本对大家来说,可能没什么,但是对鸟哥来说,这是相当珍贵的!所有鸟站的数据起源,都是从这些文本开始的! 慢慢再将许多的指令分门别类的处理进去!网站的数据汇整,真的相当花费时间啊~
不过对于学习者来说,这些数据真的不要再读了!因为实在太老旧... 建议您前往本站查找最新版本的 Linux distribution 文章来阅读,比较不会浪费时间。最新文章请前往鸟站首页查阅啰!
要管理好 Linux 系统﹐少不了要对设置文件进行编辑,如果您用惯了 Microsoft Word 或 Corel Wordperfect 的话,除了 Xwindows 里面的编辑程序(如 xemacs )用起来尚可应付外,于 Linux 的文本模式下,会觉得文件编辑程序都没有 Windows 程序那么方便。虽然 Linux 下面也有好多种文书编辑器,例如﹕ed、vi、pico、joe、emacs等。以下我们以最常见到的 vi 这套文书软件来介绍 Linux 底下的文书编辑动作。
基本上 vi 共分为两种模式,一种是『编辑模式』,一种被称为『命令模式』,其中,在命令模式中尚包含『命令行模式』的情况。『编辑』与『命令』这两种模式的切换动作是以 『Esc』来达成的。通常,文件一打开或者新建档时,会成为命令模式,如果要在文件中输入字符,就必需以小写的 i 来进入编辑模式,进入编辑模式后你输入的咚咚才会显示出来!那由『编辑模式』要变成『命令模式』时,就直接按『Esc』即可。而若要进入『命令行模式』时,就必须要在命令模式中输入『:』(冒号),那光标就会跑到屏幕的最下面一行来等待你输入啦!
新建文件:
好了,我们在 Linux 底下创建一个名为 test.dat 的文件,可以这样打开一个新文件:
[root@tsai root]# vi test.dat 进入编辑模式:
一进入 vi 的画面你会看到一片空白(乌漆嘛黑的),而且即会进入命令模式,你可以输入 i 来进入编辑模式,这时候你会看到屏幕的最下方会出现『--INSERT--』字样:开始编辑:
这时候你就可以随便按几个字来输入一下,在这里要提醒一下,『Tab』键与空白键是不一样的咚咚喔!回到命令模式:
在编辑模式的时候,不论你按什么键(除了 Esc 之外)都会被视为字符而显示在屏幕上,这时按下 Esc 键后会回到命令模式,如果你会到了命令模式,但是要消除你目前光标所在行的内容,你可以输入『dd』,就可以杀掉一整列了!在命令行模式输入保存指令:
OK,我们要存盘了,存盘并离开的指令很简单,输入『:wq』即可存盘离开!这时你在提示字符后面输入『 ls -l 』即可看到我们刚刚创建的 test.dat 文件啦!
如前所述,所谓的命令行或命令模式,就是在最下面一行没有显示『--INSERT--』或者『--REPLACE--』字样的时候。通常在命令行中的指令有下面几种:(注意,当按下 『:』 时,光标会自动移动到屏幕的最下面一行!)
进入编辑模式: i 插入:在目前的光标所在处插入输入之文本,已存在的文本会向后退; a 增加:由目前光标所在的下一个字开始输入,已存在的文本会向后退: o 插入新的一行:从光标所在的下一行枝行首开始输入文本; r 取代:会取代光标所在的那一个字符; R 全部取代:会一直取代光标所在的文本,直到按下 ESC 为止; 光标移动指令: k 或向上键 向上移一个字符; j 或向下键 向下移一个字符; h 或向左键 向左移一个字符; l 或向右键 向右移一个字符; H 光标移动到屏幕顶端; M 光标移动到屏幕正中央; L 光标移动到屏幕最夏方; + 光标移动至非空白字符的下一列; - 光标移动至非空白字符的前一列; [Ctrl] + [b] 屏幕向『后』移动一页; [Ctrl] + [f] 屏幕向『前』移动一页; [Ctrl] + [u] 屏幕向『后』移动半页; [Ctrl] + [d] 屏幕向『前』移动半页; [n]<space> 先按数字后再按空白键:光标向后面移动 n 个字符; 0 数字键『0』:移动到这一列的第一个字符; $ 移动到这一行的行尾; G 移动到最后一行; nG 移动到第 n 行(常与 :set nu 合用); J 将目前光标所在行与下一行链接; 搜索指令: /word 向光标之后寻找一个名为 『word』 的字符串; ?word 向光标之前寻找一个名为 『word』 的字符串; :g/word1/s//word2/g 寻找 『word1』 这个字符串,并且以 『word2』 这个字符串取代之; :n1,n2 s/word1/word2/g 将第 n1 行到 n2 行的字符串 『word1』 都改成 『word2』; :1,$ s/ls/ll/g 将所有文件内容的 『ls』 这个字符串改成 『ll』 这个字符串; 删除与拷贝: yy 或 Y 拷贝光标所在行的内容; nyy 或 nY 『n』 为数字:拷贝光标所在行向下 n 行之内容; p 将 yy 拷贝的内容贴到光标所在行的下面; x 删除一个字符; nx 『n』 为数字:删除 n 个字符; dd 删除光标所在那一行; ndd 『n』 为数字:向下删除 n 行; u 取消前一个动作; [Ctrl] + [L] 清除屏幕并重绘屏幕 命令模式: :wq 将所做修改保存后离开 vi; :w 仅保存文件; :w [filename] 将目前的内容保存到 『filename』 这个文件中(类似另存新档); :r [filename] 将 『filename』 这个文件内容加到光标所在行后面; :q 离开 vi; :q! 强制离开 vi ; 其他指令: :set nu 设置行号,让你可以轻易的找出错误; :set nonu 取消设置行号; :n1, n2 w [filename] 将 n1 到 n2 的内容存成 『filename』 这个文件; OK!会这些指令就已经很厉害了,因为常用到的指令也只有不到一半!通常 vi 的指令除了常用的几个外,其他是不用背的,你可以做一张简单的指令表在你的屏幕墙上,一有疑问可以马上的查找幽!