2023年12月1日发(作者:)

Ubuntu命令

登录工作站

透过PC登录工作站

执行格式:telnethostname(在dos下执行)telnetip-address

Example:telnetdoctelnet140.122.77.120

注:可利用指令arphostnamearpdomain_name查询ip_address2

登录步骤

login:_______>输入usernamepassword:_______>输入密码读读

登出步骤

%logout%exit%或按[Ctrl-D]

更改帐号密码

passwd>执行后将会出现下列信息ChangingNISpasswordforuseronice.

Oldpassword:______>输入旧密码

Newpassword:______>输入新密码(最好6-8字,英文字母与数字混合)

Retypenewpassword:______>再输入一次密码

在线帮助指令说明

执行格式:mancommand-nameExample:%manls

进入远端电脑系统

执行格式:rloginhostname[-1username]

Example:fdfd%rlogindocremotelogin进入工作站doc中。

%rlogindoc-luser使用user帐号进入工作站doc中。

执行格式:telnethostnametelnetIPaddress

Example:%telnetdocor%telnet140.109.20.251

文件或目录处理

列出文件或目录下之文件名称

执行格式:ls[-atFlgR][name](name可为文件名或目录名称。)

Example:

ls列出目前目录下之文件名。

ls–a列出包含以.起始的隐藏档所有文件名。

ls–t依照文件最后修改时间之顺序,依序列出文件名。

ls–F列出目前目录下之文件名及其类型。”/”结尾表示为目录名称,“*”结尾表示为执行档,”@”结尾表示为

symbliclink。

ls–l列出目录下所有文件之许可权、拥有者、文件大小、修改时间及名称。

ls–lg同上,并显示出文件之拥有者群组名称。

ls–R显示出目录下,以及其所有子目录之文件名。(recursivelisting)

目录之缩写:

使用者login时的workingdirectory(起始目录)

~username指定某位userworkingdirectory(起始目录)

.目前的工作目录(currentworkingdirectory)

.目前目录的上一层目录(parentofworkingdirectory)

改变工作目录位置

执行格式:cd[name]:name可为目录名称、路径或目录缩写。

Example:

cd改变目录位置,至使用者login时的workingdirectory(起始目录)。

cddir1改变目录位置,至dir1之目录位置下。

cd~user改变目录位置,至使用者的workingdirectory(起始目录)。

cd..改变目录位置,至目前目录的上层(parentofworkingdirectory)

cd../user改变目录位置,至相对路径user之目录位置下。

cd/../..改变目录位置,至绝对路径(Fullpath)之目录位置下。

复制文件

执行格式:cp[-r]sourcedestination

Example:

cpfile1file2将文件file1复制成file2

cpfile1dir1将文件file1复制到目录dir1下,文件名仍为file1。

cp/tmp/file1将目录/tmp下的文件file1复制到现行目录下,文件名仍为file1。

cp/tmp/file1file2将目录/tmp下的文件file1复制到现行目录下,文件名为file2

cp-rdir1dir2(recursivecopy)复制整个目录。若目录dir2存在,则将目录dir1,及其所有文件和子目录,复

制到目录dir2下,新目录名称为dir1。若目录dir2不存在,则将dir1,及其所有文件和子目录,复制为目录dir2。

移动或更改文件、目录名称

执行格式:mvsourcedestination

Example:

mvfile1file2将文件file1,更改文件名为file2。

mvfile1dir1将文件file1,移到目录dir1下,文件名仍为file1。

mvdir1dir2若目录dir2存在,则将目录dir1,及其所有文件和子目录,移到目录dir2下,新目录名称为dir1。

若目录dir2不存在,则将dir1,及其所有文件和子目录,更改为目录dir2。1

建立新目录

执行格式:mkdirdirectory-nameExmaple:mkdirdir1建立一新目录dir1。

1

删除目录

执行格式:rmdirdirectory-namerm-rdirectory-name

Example:rmdirdir1删除目录dir1,但dir1下必须没有文件存在,否则无法删除。

rm-rdir1删除目录dir1,及其下所有文件及子目录。

删除文件

执行格式:rmfilename(filename可为文件名,或文件名缩写符号。)

Example:rmfile1删除文件名为file1之文件。

rmfile?删除文件名中有五个字符,前四个字符为file之所有文件。

rmf*删除文件名中,以f为字首之所有文件。

rm-rffile删除名为file的文件夹及其里面的内容

文件名的缩写符号

代表文件名称中之单一字符。代表文件名称中之一字串。

查看文件内容

执行格式:catfilename

Example:catfile1以连续显示方式,查看文件名file1之内容。

执行格式:morefilenamecatfilename|more

Example:morefile1以分页方式,查看文件名file1之内容。catfile1|more同上。

查看目录所占磁盘容量

执行格式:du[-s]directory

Example:dudir1显示目录dir1的总容量及其次目录的容量(以kbyte为容量)。

du-sdir1显示目录dir1的总容量。

查看自己的diskquota使用状况

diskquota:工作站磁盘空间的使用限额。

执行格式:quota-v

Example:quota-v将会显示下列信息Filesystemusagequotalimittimeleftfilesquotalimittimelef.

/home/ice/u0193448192122881.9days16000

栏位解说:

usage:目前的磁盘用量。

quota:你的磁盘使用额度。当你的usage超过quota时,虽然可以继续使用,但是必须七天之内降到quota以下,

否则即使用量没有超limit(最高限额),也无法再写入或复制任何文件。

limit:最高使用额度。当你的usage达到limit时,无法再写入或复制任何文件。

文件传输

拷贝文件或目录至远端工作站

执行格式:rcp[-r]sourcehostname:destination

source可为文件名、目录名或路径,hostname为工作站站名,destination为路径名称.

Example:rcpfile1doc:/home/user将文件file1,拷贝到工作站doc路径/home/user之目录下。

rcp-rdir1doc:/home/user将目录dir1,拷贝到工作站doc路径/home/user之目录下。

自远端工作站,拷贝文件或目录

执行格式:rcp[-r]hostname:sourcedestination

(hostname为工作站名,source为路径名,destination可为文件名、目录名或路径)。

Example:rcpdoc:/home/user/file1file2将工作站doc中,位于/home/user目录下之文件file1,拷贝到目前

工作站之目录下,文件名改为file2。

rcp-rdoc:.将工作站doc中,位于/home/user目录下之目录dir1,拷贝到目前工作站之目录下目录名称仍为

dir1。

文件模式之设定

改变文件或目录之读、写、执行之允许权

执行格式:chmod[-R]modename

(name可为文件名或目录名;mode可为38位元之数字,或利用ls-l命令,列出文件或目录之读、写、执行允

许权之文字缩写。)

mode:rwxrwxrwxr:readw:writex:execute

usergroupother

缩写:(u)(g)(o)

Example:

%chmod755dir1将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改。

%chmod700file1将文件file1,设定只有拥有者可以读、写和执行。

%chmodo+xfile2将文件file2,增加拥有者可以执行之权利。

%chmodg+xfile3将文件file3,增加群组使用者可执行之权利。

%chmodo-rfile4将文件file4,除去其它使用者可读取之权利。

改变文件或目录之拥有权

执行格式:chown[-R]usernamename(name可为文件名或目录名。)

Example:%chownuserfile1将文件file1之拥有权,改为使用者user所有。

%chown-Ruserdir1将目录dir1,及其下所有文件和子目录之拥有权,改为使用者user所有。

检查自己所属之群组名称执行格式:groups

改变文件或目录之群组拥有权

执行格式:chgrp[-R]groupnamename(name可为文件名或目录名)

Example:%chgrpvlsifile1将文件file1之群组拥有权,改为vlsi群组。

%chgrp-Rimagedir1将目录dir1,及其下所有文件和子目录,改为image群组。

2

改变文件或目录之最后修改时间

执行格式:touchname(name可为文件或目录名称。)

文件之连结

同一文件,可拥有一个以上之名称,可将文件做数个连结。

执行格式:lnoldnamenewname(Hardlink)

Example:lnfile1file2将名称file2,连结至文件file1。

执行格式:ln-soldnamenewname(Symblicklink)

Example:ln-sfile3file4将名称file4,连结至文件file3。

文件之字串找寻

执行格式:grepstringfile

Example:grepabcfile1

寻找文件file1中,列出字串abc所在之整行文字内容。

找寻文件或命令之路径

执行格式:whereiscommand(显示命令之路径。)

执行格式:whichcommand(显示命令之路径,及使用者所定义之别名。)

执行格式:whatiscommand(显示命令功能之摘要。)

执行格式:findsearch-path-namefilename-print(搜寻指定路径下,某文件之路径。)

Example:%find/-namefile1-print(自根目录下,寻找文件名为file1之路径。.

比较文件或目录之内容

执行格式:diff[-r]name1name2(name1name2可同时为文件名,或目录名称。)

Example:%difffile1file2比较文件file1file2内,各行之不同处。

%diff-rdir1dir2比较目录dir1dir2内,各文件之不同处。

文件打印输出

使用者可用.login档中之setenvPRINTER,来设定打印资料时的打印机名。

printername:sp1sp2

Example:%setenvPRINTERsp2设定自sp2打印资料。

一般文件之打印

执行格式:lpr[-Pprinter-name]filename

%lprfile1lpr-Psp2file1sp2,打印文件file1。

执行格式:enscript[-Pprinter-name]filename

%enscriptfile3enscript-Psp1file3sp1,打印文件file3。

troff文件之打印

执行格式:ptroff[-Pprinter-name][-man][-ms]filename

%ptroff-man/usr/local/man/man1/ptroff.1troff格式,自Applelaserwriter打印ptroff命令之使用说

明。

%ptroff-Psp2-man/usr/man/man1/lpr1troff格式,自sp2打印lpr命令之使用说明。

打印机控制命令

检查打印机状态,及打印工作顺序编号和使用者名称

执行格式:lpq[-Pprinter-name]

%lpqlpq-Psp1检查sp1打印机之状态。

删除打印机内之打印工作(使用者仅可删除自己的打印工作)

执行格式:lprm[-Pprinter-name]usernamejobnumber

%lprmuserlprm-Psp1user删除sp1中,使用者user的打印工作,此时使用者名称必须为user。

%lprm-Psp2456删除sp2编号为456之打印工作。

ob之控制

UNIXO.S.,可于foregrourdbackground同时处理多个process。

一般使用者执行命令时,皆是在foreground交谈式地执行process,亦可将process置于background中,以非交谈

式来执行process。

查看系统之process

执行格式:ps[-aux]

Example:%psps–x(查看系统中,属于自己的process。)

%ps–au(查看系统中,所有使用者的process。)

%ps–aux(查看系统中,包含系统内部,及所有使用者的process。)

结束或终止process

执行格式:kill[-9]PID(PID为利用ps命令所查出之processID。)

Example:%kill456kill-9456终止processID456process。

background执行process的方式

执行格式:command&(于command后面加入一“&”符号即可。)

Example:%ccfile1.c&将编译file1.c文件之工作,置于background执行。

执行格式:按下ControlZ键,暂停正在执行的process。键入bg命令,将所暂停的process,置入background

中继续执行。

Example:%ccfile2.c^ZStopped%bg

查看正在background中执行的process

执行格式:jobs

结束或终止在background中的process

执行格式:kill%n

(n为利用“jobs”命令,所查看出的backgroundjob编号)

3

Example:%kill%终止在background中的第一个job。

%kill%2终止在background中的第二个job。

shellvariable

查看shellvariable之设定值

执行格式:set查看所有shellvariable之设定值。%set

执行格式:echo$variable-name显示指定的shellvariable之设定值。

%echo$PRINTER0000sp1

设定shellvariable

执行格式:setvarvalue

Example:%settermvt100设定shellvariable“term”VT100终端机之型式。

删除shellvariable

执行格式:unsetvar

Example:%unsetPRINTER删除shellvariable“PRINTER”之设定值。

environmentvariable

查看environmentvariable之设定值

执行格式:setenv查看所有environmentvariable之设定值。

Example:%setenv

执行格式:echo$NAME显示指定的environmentvariable“NAME”之设定值。

Example:%echo$PRINTER

显示environmentvariable“PRINTER”打印机名称之设定值。

设定environmentvariable

执行格式:setenvNAMEword

Example:%setenvPRINTERsp1

设定environmentvariable“PRINTER”打印机名称为sp1。

删除environmentvariable

执行格式:unsetenvNAME

Example:%unsetenvPRINTER

删除environmentvariable“PRINTER”打印机名称之设定值。

alias

查看所定义的命令之alias

执行格式:alias查看自己目前定义之所有命令,及所对应之alias名称。

执行格式:aliasname查看指定之alias名称所定义之命令。

Example:%aliasdir(查看别名dir所定义之命令)ls-atl

定义命令之alias

执行格式:aliasname’commandline’

Example:%aliasdir=’ls-l’将命令“ls-l”定义别名为dir。

删除所定义之alias

执行格式:unaliasname

Example:%unaliasdir(删除别名为dir之定义。)%unalias*(删除所有别名之设定。)

history

设定命令记录表之长度

执行格式:sethistoryn

Example:%sethistory40设定命令记录表之长度为40(可记载执行过之前面40个命令)。

查看命令记录表之内容

执行格式:history

使用命令记录表

执行格式:!!

Example:%!!(重复执行前一个命令)执行格式:!n(n为命令记录表之命令编号。)

Example:%!5(执行命令记录表中第五个命令。)

执行格式:!string(重复前面执行过以string为起始字符之命令。)

Example:%!cat(重复前面执行过,以cat为起始字符之命令。)

显示前一个命令之内容

执行格式:!!:p

更改前一命令之内容并执行之

执行格式:^oldstring^newstring

将前一命令中oldstring的部份,改成newstring,并执行之。

Example:%find.-namefile1.c-print

^file1.c^core

%find.-namecore-print

注:文件core为执行程序或命令发生错误时,系统所产生的文件。作为侦错(debug)之,因其所占空间极大,通常将

之删除。

资料之压缩

为了避免不常用的文件或资料,占用太大的磁盘空间,请使用者将之压缩。欲使用压缩过的文件或资料前,将之反压缩,

即可还原成原来之资料型式。凡是经过压缩处理之文件,会在文件名后面附加.Z之字符,表示此为一压缩文件。

压缩资料

执行格式:compressfilename压缩文件执行格式:compressdirdirectory-name压缩目录

pipe-line之使用

4

执行格式:command1|command2

command1执行结果,送到command2做为command2的输入。

Example:

%ls-Rl|more以分页方式,列出目前目录下所有文件,及子目录之名称。

%catfile1|more以分页方式,列出文件file1之内容。

I/Ocontrol

标准输入之控制

执行格式:command-line<file

file做为command-line之输入。

Example:

%mail-s"mailtest"user@<file1

将文件file1当做信件之内容,Subject名称为mailtest,送给收信人。

标准输出之控制

执行格式:command>filenamecommand之执行结果,送至指定的filename中。

Example:%ls-l>list将执行“ls-l”命令之结果,写入文件list中。

执行格式:command>!filename同上,若filename之文件已经存在,则强迫overwrite。

Example:%ls-lg>!list将执行“ls-lg”命令之结果,强迫写入文件list中。

执行格式:command>&filenamecommand执行时,屏幕上所产生的任何信息,写入指定的filename中。

Example:%ccfile1.c>&error将编译file1.c文件时,所产生之任何信息,写入文件error中。

执行格式:command>>filenamecommand执行结果,附加(append)到指定的filename中。

Example:%ls-lag>>list将执行“ls-lag”命令之结果,附加(append)到文件list中。

执行格式:command>>&filenamecommand执行时,屏幕上所产生的任何信息,附加于指定的filename中。

Example:%ccfile2.c>>&error将编译file2.c文件时,屏幕所产生之任何信息,附加于文件error中。

查看系统中的使用者

执行格式:whofinger

执行格式:w

执行格式:fingerusernameorfingerusername@domainname

改变自己的username进入其他使用者的帐号,拥有其使用权利。

执行格式:suusername

Example:

%suuser进入使用者user之帐号

passwrod:输入使用者user之密码

查看username

执行格式:whoami查看login时,自己的username。

执行格式:whoami查看目前的username。若已执行过“su”命令tchuser),则显示出此userusername。

查看目前本地所有工作站的使用者

执行格式:rusers>结束

与某工作站上的使用者交谈

执行格式:talkusername@hostnametalkusername@ip_address

Example:

1.可先利用rusers指令查看网路上的使用者

2.假设自己的帐号是u84987,在工作站indian上使用,现在想要与doc上的u84123交谈。

%talku84123@doc>此时屏幕上将会出现等待画面

在对方(u84123)屏幕上将会出现下列信息

MessagefromTalk_Daemon@Local_host_nameatxx:xx

talk:connectionrequestedbyu84987@indian

talk:respondwith:talku84987@indian

此时对方(u84123)必须执行talku84987@indian即可互相交谈。最后可按结束。

检查远端电脑系统是否正常

执行格式:pinghostnamepingIP-AddressExample:%pingdoc

电子邮件(E-mail)的使用简介

将文件当做E-mail的内容送出

执行格式:mail-s“Subject-string”username@address<filename

Example

%mail-s"program"user<file.cfile.c当做mail的内容,送至user,subjectnameprogram。

(实际上,在Ubuntu中并不能将邮件发送到邮箱,例如163邮箱,而是在/var/mail文件夹下面生成了一个以当前用户

名为文件名的文件,并在其中指出了错误信息。

传送E-mail给本地使用者

执行格式:mailusername%mailuser

传送E-mail外地

执行格式:mailusername@receiver-address

Example

%mailpaul@Subject:mailtest

键入信文内容

按下ControlD”键或.键结束信文连按两次ControlC”键,则中断工作,不送此信件Cc:(Carbon

copy:复制一份信文,给其他的收信人)

检查所传送之E-mail是否送出,或滞留于本所之邮件伺服站中

5

执行格式:/usr/lib/sendmail-bp

(若屏幕显示为“Mailqueueisempty”之信息,表示mail已送出。

若为其它错误信息,表示E-mail因故尚未送出。)

读取信件

执行格式:mail

常用指令如下:

cd[directory]chdirtodirectoryorhomeifnonegiven

d[messagelist]deletemessages

hprintoutactivemessageheaders

m[userlist]mailtospecificusers

ngotoandtypenextmessage

p[messagelist]printmessages

qquit,savingunresolvedmessagesinmbox

r[messagelist]replytosender(only)ofmessages

R[messagelist]replytosenderandallrecipientsofmessages

s[messagelist]fileappendmessagestofile

t[messagelist]typemessages(sameasprint)

u[messagelist]undeletemessages

v[messagelist]editmessageswithdisplayeditor

w[messagelist]fileappendmessagestofile,withoutfromline

xquit,donotchangesystemmailbox

z[-]displaynext[previous]pageofheaders

!shellescape

==文件编辑器vi之使用方法简介==(???)vi、celvis(cvi)是在工作站上被广大使用的中英文编辑软体。对

初学者而言,常因其特殊的使用方法,而不得其门而入;对已经在使用vi的使用者来说,也常见因对vi的不熟悉或

不够了解,而无法发挥出vi强大的编辑能力,以下将介绍vi之使用方法简介。

本文内容大纲

进入vi

离开vi

输入模式

如何进入输入模式

如何离开输入模式

指令模式

光标的移动

视窗的移动

删除、复制及修改指令介绍(delete、change、yank)

删除与修改(delete、replace)

移动与复制(delete/put、yank/put)

指令重复

取消前一动作(undo)

字串搜寻

资料的连接与分行

环境的设定

ex指令

其它方面

中文编辑

恢复编辑时被中断的文件

编辑多个文件

vivisualeditor的缩写,是UNIX所提供的编辑器之一。它提供使用者一个视窗的编辑环境,在此视窗下,使用

者可编辑所要的文件。

进入vi

直接执行vi编辑程序即可:

%vitest

此刻屏幕上会出现vi的编辑视窗,同时vi会将文件复制一份至记忆体中的缓冲区(buffer)vi会保留在磁盘中

的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。

——————————————————————————–

作者:itvue发布时间:2005-5-1110:17:42

离开vi

若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令

离开vi。

:q!离开vi,并放弃刚在缓冲区内编辑的内容。

:wq将缓冲区内的资料写入磁盘中,并离开vi。

:ZZwq。

:xwq。

:w将缓冲区内的资料写入磁盘中,但并不离开vi。

:q离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。

6

此指令可与:w配合使用。

vi的操作模式

vi提供两种操作模式:输入模式(insertmode)和指令模式(commandmode)。当使用者进入vi后,即处在指令模式下,

此刻键入之任何字符皆被视为指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入模式。

输入模式

如何进入输入模式

la(append)由光标之后加入资料。

lA由该行之末加入资料。

li(insert)由光标之前加入资料。

lI由该行之首加入资料。

lo(open)新增一行于该行之下供输入资料之用。

lO新增一行于该行之上供输入资料之用。

如何离开输入模式

l《ESC》结束输入模式。

指令模式

光标之移动(以下命令区分大小写)

lh向左移一个字符。

lJ向上移一个字符。

lK向下移一个字符。

lL向右移一个字符。

l^移至该行之首

l$移至该行之末。

lH移至视窗的第一列。

lM移至视窗的中间那列。

lL移至视窗的最后一列。

lG移至该文件的最后一列。

l+移至下一列的第一个字符处。

l-移至上一列的第一个字符处。

l(移至该句之首。(注一)

l)移至该句之末。

l{移至该段落之首。(注二)

l}移至该段落之末。

lnG移至该文件的第n列。

ln+移至光标所在位置之后的第n列。

ln-移至光标所在位置之前的第n列。

l会显示该行之行号、文件名称、文件中最末行之行号、光标所在行号占总行号之百分比。

注一:句子(sentence)在vi中是指以『!『.』或『?』结束的一串字。

注二:段落(paragraph)在vi中是指以空白行隔开的文字.

视窗的移动

l^F视窗往下卷一页(front)

l^B视窗往上卷一页(back)

l^D视窗往下卷半页(down)

l^U视窗往上卷半页(up)

l^E视窗往下卷一行

lD以行为单位,删除光标后之所有字符。

lcc修改整行的内容。

lyyyank整行,使光标所在该行复制到记忆体缓冲区。

删除与修改

lx删除光标所在该字符。

lX删除光标所在之前一字符。

ldd删除光标所在该行。

lr用接于此指令之后的字符取代(replace)光标所在字符。如:ra将光标所在字符以a取代之。

lR进入取代状态,直到《ESC》为止。

ls删除光标所在之字符,并进入输入模式直到《ESC》

lS删除光标所在之该行资料,并进入输入模式直到《ESC》

移动与复制

利用deleteput指令可完成资料移动之目的。

利用yankput指令可完成资料复制之目的。

yankdelete可将指定的资料复制到记忆体缓冲区,而藉由put指令可将缓冲区内的资料复制到屏幕上。

例:移动一行.在该行执行dd.光标移至目的地.执行p复制一行.在该行执行yy.光标移至目的地.执行p

指令重复

在指令模式中,可在指令前面加入一数字n,则此指令动作会重复执行n次。

例:删除10行.10dd复制10行.10yy指标往下移10行.10j

取消前一动作(Undo)

即复原执行上一指令前的内容。

u恢复最后一个指令之前的结果。U恢复光标该行之所有改变。

搜寻

vi中可搜寻某一字串,使光标移至该处。

/字串往光标之后寻找该字串。?字串往光标之前寻找该字串。

n往下继续寻找下一个相同的字串。N往上继续寻找下一个相同的字串。

资料的连接

J句子的连接。将光标所在之下一行连接至光标该行的后面。

若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式(可利用a、i等指令)再按《Enter》即可。

环境的设定

:setnu设定资料的行号。:setnonu取消行号设定。

:setai自动内缩。:setnoai取消自动内缩。

自动内缩(automaticindentation)

在编辑文件或程序时,有时会遇到需要内缩的状况,『:setai』即提供自动内缩的功能,用下例解释之:

.vitest

.(进入编辑视窗后)

thisisthetestforautoindent

《Tab》startindent:setai(设自动内缩)

《Tab》data

《Tab》data

《Tab》data:setnoai(取消自动内缩)

theendofautoindent.

.注:可删除《Tab》字符。

ex指令

读写资料

:w将缓冲区的资料写入磁盘中。:10,20wtest将第10行至第20行的资料写入test文件。

:10,20w>>test将第10行至第20行的资料加在test文件之后。

:rtesttest文件的资料读入编辑缓冲区的最后。

删除、复制及移动

:10,20d删除第10行至第20行的资料。:10d删除第10行的资料。

:%d删除整个编辑缓冲区。:10,20co30将第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』

恢复编辑时被中断的文件

在编辑过程中,若系统当掉或连线中断,而缓冲区的资料并还未被写回磁盘时,当再度回到系统,执行下列指令即可回

复中断前的文件内容。

%vi-rfilename

编辑多个文件

vi亦提供同时编辑多个文件的功能,方法如下:%vifile1file2

当第一个文件编修完成后,可利用『:w』将该缓冲区存档,而后再利用『:n』载入下一个文件。

gedit编辑器可以打开多个文件,并直接编辑

8