1、vi命令集锦手册wc用途:wc计算并显示指定文件中的行数、字数和字节数。tail用途:tail在默认情况下显示指定文件的最后10行。举例:tail myfile.txt。这个命令执行后,屏幕上将显示myfile.txt的最后10行。你也可以指压缩资料=执行格式:compress filename 压缩文件执行格式:compressdir directory-name 压缩目录解压缩还原资料=执行格式:uncompress filename 反压缩文件执行格式:uncompressdir directory-name 反压缩目录定显示的行数,比如tail-50 myfile.txt执行后,将会在
2、屏幕上打印出文本的最后50行。sort用途:sort将文本文件逐行分类。举例:sort myfile.txt。这个命令将myfile.txt中的内容分类。查看系统之 process=执行格式:ps -auxExample:%ps 或 ps -x (查看系统中,属於自己的 process。)%ps -au (查看系统中,所有使用者的 process。)%ps -aux (查看系统中,包含系统内部,及所有使用者的 process。)结束或终止 process=执行格式:kill -9 PID ( PID 为利用 ps 命令所查出之 process ID。)Example:%kill 456 或 k
3、ill -9 456终止 process ID 为 456 之 process。改变自己的 username 进入其他使用者的帐号,拥有其使用权利。执行格式: su username查看系统中的使用者:执行格式: who 或 finger执行格式: wchmod/chown/chgrpR 改变一个目录下所有文件的属性用法举例:chmodR 755 uisu 切换用户grep用途:grep用来查找符合某种模式的文本行并打印出所有相应的文本行。举例:grep ecoli hamburger.txt。这个命令执行后查找hamburger.txt文件中的单词ecoli。在系统提示字符(如$、#)下敲入
4、vi 档案名称,vi 可以自动帮你载入所要编辑的文件或是开启一个新 文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。(一)、两种模式指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 ESC,系统如发出哔哔声就表示已处于指令模式下了。新增 (append) a : 从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A: 从光标所在行最後面的地方开始新增资料。 插入 (insert) i: 从光标所在位
5、置前面开始插入资料,光标後的资料随新增资料向後移动。 I : 从光标所在行的第一个非空白字元前面开始插入资料。 开始 (open) o : 在光标所在列下新增一列并进入输入模式。 O: 在光标所在列上方新增一列并进入输入模式。 (二)、退出vi 在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出, 如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件 而直接退出vi。(三)、基本编
6、辑删除与修改文件的命令: x : 删除光标所在字符。 dd : 删除光标所在的行,光标移到下行的行首。 r : 修改光标所在字元,r 後接著要修正的字符。 R : 进入取替换状态,新增文字会覆盖原先文字,直到按 ESC 回到指令模式下为止。 s : 删除光标所在字元,并进入输入模式。 S : 删除光标所在的行,并进入输入模式。 u :恢复到上次操作指令模式下移动光标的基本指令是 h(左), j(下), k(上), l(右)(一)、基本编辑指令: 新增 (append) a : 从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A : 从光标所在列最後面的地方开始新增资料。 插入
7、 (insert) i : 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I : 从光标所在列的第一个非空白字元前面开始插入资料。 开始 (open) o : 在光标所在列下新增一列并进入输入模式。 O : 在光标所在列上方新增一列并进入输入模式。 x : 删除光标所在字符。 dd : 删除光标所在的行。 D :删除行尾到光标之间的文字(包括光标所在位置)r : 修改光标所在字元,r 後接著要修正的字符。 R : 进入取替换状态,新增文字会覆盖原先文字,直到按 ESC 回到指令模式下为止。 s : 删除光标所在字元,并进入输入模式。 S : 删除光标所在的行,并进入输入模式
8、。 (二)、光标移动指令(这些当然是指令模式下的指令):注:这里的n不是字母,代指数字,即100-表示上移100行,300G表示移到第300行指令说明功能键0移动到光标所在行的最前面Home$移动到光标所在行的最後面EndCTRLd向下半页CTRLf向下一页PageDownCTRLu向上半页CTRLb向上一页PageUpH移动到视窗的第一行M移动到视窗的中间行L移动到视窗的最後行b如果光标在当前字的首字母,移动到上个字的s首字母,否则移动到当前字首字母w移动到下个字的首字母e如果光标在当前字最后字母,就移动到下一个字首字母,否则移动到当前字的最後一个字母移动到光标所在行的第一个非空白字元n-减
9、号移动到上一行的第一个非空白字元,前面加上数字可以指定移动到以上 n 行n+加号移动到下一行的第一个非空白字元,前面加上数字可以指定移动到以下 n 行nG直接用数字n 加上大写 G 移动到第 n 行fx往右移动到x 字元上Fx往左移动到x字元上tx往右移动到x 字元前Tx往左移动到x字元前;配合f&t使用,重复一次,配合 f&t 使用,反方向重复一次/string往右移动到有 string 的地方?string往左移动到有 string 的地方n配合 /&? 使用,重复一次N配合 /&? 使用,反方向重复一次n(左括号移动到句子的最前面,面加上数字可以指定往前移动n个句子句子是以! . ? 三
10、种符号来界定n)右括号移动到下个句子的最前面,面加上数字可以指定往後移动n个句子句子是以! . ? 三种符号来界定n左括弧移动到段落的最前面,面加上数字可以指定往前移动n个段落段落是以段落间的空白列界定n右括弧移动到下个段落的最前面,面加上数字可以指定往後移动 n 个段落段落是以段落间的空白列界定(三)、更多的编辑指令 这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如dw是由删除指令d 与范围w所 组成,代表删除一个字 d(elete) w(ord) 。 指令列表如下: d 删除(delete) y 复制(yank) p 放置(put) c 修改(change) 范围可以是下列几
11、个: e 光标所在位置到该字的最後一个字母 w 光标所在位置到下个字的第一个字母 b 光标所在位置到当前个字的第一个字母 $ 光标所在位置到该行的最後一个字母 0 光标所在位置到该列的第一个字母 ) 光标所在位置到下个句子的第一个字母 ( 光标所在位置到该句子的第一个字母 光标所在位置到该段落的最後一个字母 光标所在位置到该段落的第一个字母 +g 会显示该行之行号、文件名称、文件中最末行之行号、游标所在行号占总行号之百分比。除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令p贴到其它地方去,这是vi用来处理区段拷贝与搬移的办法如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有
12、点杂,实际上只有四个指令罢了。指令v非常好用,只要按下v键,光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。对於整行操作,vi另外提供了更方便的编辑指令。前面曾经提到过删除整行文字的指令 dd 就是其中一个;c可以修改整行文字;而yy则是复制整行文字;指令D则可以删除光标到该列结束为止所有的文字有个很好用的指令 u 可以恢复被删除的文字,而 U 指令则可以恢复光标所行所有改变(四)、文件操作指令 文件操作指令多以 : 开头,这跟编辑指令有点区别。 :q 结束编辑(quit) :q! 不存档而要放弃编辑过的文件。 :w 保存文件(write)其後可加所要存档的
13、档名。 :wq 即存档後离开。 ZZ 功能与 :wq 相同。 :x 与:wq相同注一:句子(sentence)在vi中是指以!、.或?结束的一串字。注二:段落(paragraph)在vi中是指以空白行隔开的文字。=读写资料:w 将缓冲区的资料写入磁盘中。:10,20w test 将第10行至第20行的资料写入test文件。:10,20w;test 将第10行至第20行的资料加在test文件之后。:r test 将test文件的资料读入编辑缓冲区的最后。删除、复制及搬移:10,20d 删除第10行至第20行的资料。:10d 删除第10行的资料。:%d 删除整个编辑缓冲区。:10,20co30 将
14、第10行至第20行的资料复制至第30行之后。:10,20mo30 将第10行至第20行的资料搬移至第30行之后。字串搜寻与取代s(substitute)指令可搜寻某行列范围。g(global)指令则可搜寻整个编辑缓冲区的资料。s指令以第一个满足该条件的字串为其取代的对象,若该行有数个满足该条件的字串,也仅能取代第一个,若想取代所有的字串则需加上g参数。:1,$s/old/new/g 将文件中所有的old改成new。:10,20s/ / 将第10行至第20行资料的最前面插入5个空白。:%s/old/new/g 将编辑缓冲区中所有的old改成new。.恢复编辑时被中断的文件=在编辑过程中,若系统当
15、掉或连线中断,而缓冲区的资料并还未被写回磁盘时,当再度回到系统,执行下列指令即可回复中断前的文件内容。%vi -r filename.编辑多个文件=vi亦提供同时编辑多个文件的功能,方法如下:%vi file1 file2 .当第一个文件编修完成后,可利用:w将该缓冲区存档,而后再利用 :n载入下一个文件。指标往下移10行 10j3.1、 vi的启动与退出、vi 的启动 输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令方式。 vi 光标定在该缓冲区第一行第一列位置 vi example 光标定在缓冲区第一行第一列位置 vi + example 光标定在文件最后一行第一列位置 vi +N
16、example 光标定位在文件第N行第一列的位置(N:为数字) vi +/string example 光标定位在文件中第一次出现字符串string的行首位置1.1 vi 的应用方式* vi的名字取自于visual。* 有两种操作方式:命令方式、插入方式和ex转义方式* 命令方式下输入的大、小写是敏感的。二、 vi的启动与退出 (续)2、vi 的退出 建议 首先键入“ESC”键,以确保当前vi的状态为命令方式,输入下列命令,退出vi。 :w 将编辑缓冲区的内容写入文件 :q 退出vi :wq 将上面两步操作可以合成一步来完成。 :x 功能同上。 :q 退出vi,此时的正文没有被更改过。 :q!
17、 强行退出vi,使更新内容不写回文件。三、光标在窗口中移动注释字 : 是由空格或标点符号分开的字母序列。句子 :是以句号(.)、问号(?)或感叹号(!)结束的字符序列,句子之间由两个 空格或一个回车分开。 段落 :一个段落前后各有一个或多个空白行。三、光标在窗口中移动(续)、 字符及行间移动 命 令 结果 或 k 向上移一行 或 j 向下移一行 或 h 或 退格键 左移一个字符 或 l 或 空格 右移一个字符 o 移到当前行的开始 $ 移到当前行的结尾 + 或 回车符 移到下一行的开始 - 移到上一行的开始三、光标在窗口中移动 (续)2、 其它单位的移动 命 令 结果 - w 移到下一个字或标
18、点符号 W 移到下一个字 e 移到这个字或标点符号的结束 E 移到字的下一结尾 b 回到字或标点符号的开始 B 移回到字的开始 ) 移到下一个句子的开始 ( 移到这个句子的开始 移到下一段落的开始 移到这一段落的上一开始 四、在缓冲区中移动窗口 命令 结果 - - CTRL-F 向前(上)移动一满屏幕 CTRL-D 向前(上)移动半屏幕 CTRL-B 向后(下)移动一满屏幕 CTRL-U 向后(下)移动半屏幕 光标移动到屏幕顶部 光标移动到屏幕中间 光标移动到屏幕底部注意 可在这些命令前加入数字作为前缀,使相应命令执行次。但使光标定位在第行。五、光标在正文中的移动 命令 结果 - - G 光标
19、移动到文件的尾部 nG 光标移动到文件的第n行 : 0 光标移动到文件的第1行 : 1 光标移动到文件的第1行 : n 光标移动到文件的第n行 : $ 光标移动到文件的尾部 /string 光标向前移动到string首 ?string 光标向后移动到string首 六、增加正本 命令 结果 - - a 将输入文本插入在光标之后 A 将输入文本插入在当前行的行尾i 将输入文本插入在光标之前I 将输入文本插入在当前行的开始 o 将在当前行的下一行处打开一新行 O 将在当前行的上一行处打开一新行注意 ESC:使编辑状态从输入方式切换到命令方式七、修改正本 命令 结果 - - r替换当前字符,不需按E
20、SC。 R从当前字符开始进行替换,至ESC键为止。 nC 对从当前字符开始的n行字符进行替换,直至键入ESC键为止。 nc$ 同 nC。 ncw 对当前字符开始的n个字进行替换操作, 直至键入ESC键为止。 注意 n 为数字,为 1 时可省略。七、修改正本 (续) 命令 结果 - - ncc 对从当前字符开始的n行字符进行替换, 直至键入ESC键为止。 ns 替换从当前字符开始的n个字符,直至键入 ESC键为止。 nS 对从当前行开始的n行字符,进行替换, 直至键入ESC键为止。 J 将当前行和下一行连接起来。 注意 n 为数字,为 1 时可省略。八、删除正本1. x 与 X 命令的使用 命令 结果 - - x 删除当前字符。 nx 删除从当前字符开始的n个字符。 X 删除当前字符的前一个字符。 nX 删除当前字符的前n个字符。 注意 n 为数字,为 1 时可省略。八、删除正本 (续)2. d与D命令的使用 用来将指定范围内文本删除,并存入缓冲区。 命令 结果 - -
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1