天山雪 回复于:2004-10-12 17:28:43 |
ed 分为命令方式和输入方式两种状态。
当出现提示符“*”时,ed处于命令方式。 ed 命令的一般格式为:[行号1,行号2] 命令字 [参数] ed 的大部分命令均为单个小写字母。 1、附加文件命令(a) [n] a 回车 ,其中n是行号 a 命令可以跟在行号 n 的后边,如 10a 表示在第10行之后开始附加。如果不指定行号,就是在当前行之后开始附加。 停止附加的方法为:在一个空行的行首键入“.”,然后按回车键,ed 将返回命令方式。 2、插入命令 (i) [n] i回车 i 命令与 a 命令的作用基本上是一样的,所不同的是:当指定行号时,i 命令在那行之前插入,而 a 命令在那行之后插入。 在一个新建的文件中,在一行也没有的情况不能使用 i 命令。 3、更改命令(c) [n1,n2] c回车 ed 用新输入的文本取代由 n1 和 n2 确定的若干行范围内原有的文本。如未指定行则替换当前行。 4、按行号寻址 [行号1,行号2] p p 命令可省略,直接输入行号,指针跳转到指定行号。 其中“.”代表当前行号,“$”代表最后一行,“,”代表全部文本,“;”代表从当前行到最后一行的所有文本。 5、字符串寻址 /指定字符串/命令回车 ?指定字符串?命令回车 6、全局查找 g/字符串/命令回车,对所有包含指定字符串的行进行指定命令操作。 v/字符串/命令回车,对所有不包含指定字符串的行进行指定命令操作。 7、相对寻址 [行号1±n,行号2±n] 命令 回车 相对于行号1加减 n 行到相对于行号2加减 n 行的范围执行指定命令操作。 8、带行号显示文本(n) [行号1,行号2] n 回车 9、删除文本(d) [行号1,行号2] d 回车 10、恢复命令(u) u回车 11、替换文本(s) [行号1,行号2]s/旧文本/新文本/[参数]回车 参数内容: g :替换指定行内的所有旧文本,当某行文本包括两个以上旧文本时,若不用此参数,则只替换头一个。 l :将被替换行的内容连同不可见的字符都显示出来。对于有汉字的行使用这个参数将显示乱码。 p :将被替换的最后一行显示出来。 n :将被替换的最后一行连同行号一同显示出来。 上述四个参数中,g 命令可以与其他三个组合使用。其功能就是二者的迭加。但 g 参数与其他参数合用时必须 g 在前面。 12、通配符 在查找、替换命令中时: . :代表任意一个字符 * :代表任意多个相同字符 .* :代表任意多个任意字符 13、转义字符(\) 使特殊字符失去意义。 14、移动若干行文本(m) [行号1,行号2] m 行号3 回车 15、拷贝若干行文本(t) [行号1,行号2] t 行号3 回车 16、将两行连接成一行 [行号1,行号2]j回车 17、存盘(w) w回车 18、退出(q) q回车 若未存盘,会提示。 19、不保存退出(Q) Q回车 ed 的最简单的使用方法是: line +命令 比如 1p是从第1行开始显示 1d是从第1开始删除 1c是从第1行开始修改 如果你是要改shadow 文件,可以先备份后,ed /mnt/etc/shadow(当然要先把硬盘挂到/mnt目录下) 然后 1c(修改第一行,就是root:......一行) root:::0:0(让root用户无密码) <ctrl+d>(结束输入) wq 就行了。 |
swallow667 回复于:2004-10-12 17:35:12 |
谢谢
不胜感激 |
sdclearcase/" target="_blank" >ccf 回复于:2004-10-12 20:53:53 |
使用没有vi方便., |
jiajia8218 回复于:2004-10-13 01:26:01 |
vi里面也很多窍门的,努力学习中 |
xzh2002 回复于:2004-11-06 22:51:42 |
ex为ed的增强版本
vi的所有:开头的命令实际上就是在调用ex编辑器 |