




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux实验和编程环境1.1 Linux 操作系统基础简介 一、总论1、Linux发展史 Linus Torvalds 芬兰赫尔辛基大学学生1990年秋天学习操作系统,用Minit开始练手。1994年3月14日发布了它的第一个正式版本1.0版。2、Linux与Unix实际上Linux就是Unix克隆(CLONE),只不过Linux一般用于PC机,而大多数商业Unix则主要用于工作站或大型机,Linux吸收了许多商业Unix的优点,但还具有很多其他Unix所不具有优点,例如Linux源代码是公开的! IBM、富士公司的策略调整,都和Linux的快速发展有关。有人称Linux为PC机上的UNIX。 3、Linux与GNU 、GPL(1)什么是GNUGNU就是GNUs Not Unix ,简单的说GNU是一种自由软件体系。(2)GPL(GNU General Public License) 通用公共版权协议,即用户获得GNU软件后可以自由使用、修改,也可以自由散布GNU软件,但是必须让下一个用户也有获得源代码的权利并且必须告诉他这一点,其目的是要让GNU软件永远是自由和公开的.(3)Linux是按 GPL来发行的4、Linux的版本 (1)内核(Kernel) /内核版中,第二个数字是偶数,则说明这种版本是稳定的产品化版本,如是奇数,则为实验版本beta。目前,最新内核稳定版2.6.20(2007-02-20发布)。 (2)发行版本(distribution)LINUX 主要发行版有:国内公司有中软、蓝点、红旗、Xteam等。国外的有Redhat ,Slackware,SuSe,Turbolinux,Mandrake Linux等。5、Linux的好处 1) 免费的OS,不用付高昂的软件版权费。2) 相比Window,源码开放,用户可以进行任意修改,系统安全漏洞可以迅速得到改正,Window正常有安全之虑,关系到国家安全、金融等敏感部门不采用Window;Window不稳定,Linux稳定性高。3) 强大的网络功能(服务器市场Linux 占有率高)。4) Linux本身就是在Internet上成长起来的,提供了全面的网络支持,如TCP/IP。5) 多任务,多用户。 多任务是指计算机在同一时间内运行多个应用程序的能力,多用户是指多个用户可以在同一时间内使用一台机器。6) 应用软件丰富,Linux的应用软件也是免费的。7) 软件移植性好。8 )Linux 潜在的商业价值不可限量。Linux 与Windows的区别 1,从发展的背景看, Linux来源于Unix这个比较成熟的操作系统,Windows则是自成体系,无对应相依托的操作系统。 2,从使用费用上看, Linux是一种免费的操作系统,运行于其上的软件也大多是免费的。 Windows则是有偿使用的,我们要使用它就必须支付一定的费用,而这笔费用往往很高。 3,从开发标准来看, Linux是一套开放操作系统,其代码向用户开放。 Windows操作系统的接口和设计标准只有微软公司才有权对其进行修改,它是在封闭的环境下发展的。6、Linux的应用前景展望 Linux目前大有后来者居上之势,因为它是免费的公开源代码的操作系统,特别受到中小企业及个人的青睐,虽然它的用户界面不如Windows友好,但由于它是免费的,不用支付高昂的软件使用费,而且运行其上的工具软件已越来越丰富,不象则开始出现时那样界面较差,只有专业人员才能使用,现在的Linux发行版本中,安装和使用采用了图形化,越来越简单,使用越来越方便,已有数百万的用户在使用它,其应用前景一片光明。基于安全的考虑,国家重要部门、金融及军队等敏感部门,一般不采用微软的Windows操作系统,我国政府大力提倡使用Linux。北京市政府招标采用的是红旗Linux操作系统。二、Linux的安装 安装前的准备事项(1)硬件要求硬盘的分区(建议用RedHat自带的Disk Druid手动分区),文件系统类型(可选EXT2,EXT3),SWAP交换区的设置(一般为内存容量的二倍)。(2)软件准备(3)设置BIOS(4)选择安装方式 a、文本方式安装b、图形方式安装(建议选用)c、专家方式安装三、Linux的应用简介1、Linux 在网络服务领域的应用2、Linux在嵌入式系统中的应用3、Linux在传统的桌面PC上的应用1.2 Linux目录结构Linux文件系统是个树型结构,系统的每个分区都是一个文件系统,都有自己的目录层次。Linux将这些不同分区的、独立的文件系统按树型的方式形成一个系统总目录,简称/根目录。目录提供了一个管理文件的方便而有效的途径最上层是根目录,其他的所有目录都是从属于根目录的。总的目录结构如图1所示:图1.1:Linux目录结构通常我们可以为Linux定义四个分区: swap分区类型为swap(交换空间), 概略地相当于两倍于内存大小。swap分区是不可见分区。根: /它是最重要的分区。它不仅包含系统最重要的数据和程序, 也将当作其他分区的挂接点。根分区的大小需求是有限制的,通常 300MB 足够了。然而,如果你计划安装商业的应用程序, 它们通常会放在/opt, 那么你将需要增加根分区大小。 另外也可以为 /opt 创建独立的分区。静态数据: /usr大多数安装包将把其大部分可执行程序和数据文件安装在 /usr 目录下。 把它放在独立分区上的好处是,你能容易地与网络上的其他机器共享它。分区大小依赖于你需要安装的包大小和数目。 它可以从 100MB(为一个轻量级安装)到几个 GB (为完全安装)变化。通常一或二个GB ( 依赖于你的磁盘大小) 的一个折中是足够的。Home目录: /Home这里为登陆本机所有用户保留了个人的目录。 它通常也作为 HTTP 或 FTP 提供服务的目录(分别为网页浏览和文件传输)。这里分区大小依赖于注册的用户(或服务)数目和它们的需要。解决的一个变通是不使用独立分区存放 /usr 文件: /usr 将仅仅是根/ 分区之内的一个目录。其他主要的目录还有:二进制命令:/bin 它存放常用的二进制可执行命令,如ls、cd、cp、mv、rm、 mkdir、ftp、telnet等命令。通常它与/usr/bin的内容是一致的。系统管理命令:/sbin这里存放的是系统管理员使用的管理程序,如fdisk, fsck, mount等的命令。标准程序设计库:/lib也称动态链接库,在Linux执行或编译内核时均会用到。系统管理和配置文件:/etc存放系统管理和配置文件,如网络配置、文件系统管理、引导程序参数以及其他的系统主要设置。系统内存映像:/proc这是一个虚拟的目录,可直接访问这个目录来获取系统信息。系统工作目录:/var这是系统在工作时预先设置的工作目录,比如各种服务的日志文件、快速缓存文件、数据库文件、收发的邮件等。内核启动和关闭文件目录:/boot,设备文件目录:/dev,临时挂载目录:/mnt,公用临时文件目录:/tmp,系统管理员的主目录:/root,非正常关机遗留文件目录:/lost+found等等。1.3 Linux常用基本命令这里仅列出部分常用命令,其它常用命令见相关参考书。1)文件处理命令1. ls命令:英文原义:list (显示目录文件及其属性)执行权限:all user 语法:ls 选项-alFR 文件或目录-a 显示所有文件包括隐藏文件-l 使用长格式(long format)显示-F 附加文件类别符号在文件名最后-R 显示目录及其下的子目录内容示例:$ ls a$ ls l说明:“.” 代表当前目录,“. .”代表上一层目录,长格式显示的目录或文件属性包括下列七项:文件权限(r-可读, w-可写, x-可执行)、文件数目、所有者、文件大小、建立日期、文件名。2cd命令英文原义:change directory (切换目录)执行权限:all user 语法:cd 目录 示例:$ cd . 回到上层目录$ cd . 在原目录$ cd 回到user的home directory$ cd / 切换到根目录$ cd ./usr 切换到上一层目录的usr目录3.pwd命令英文原义:print work directory(显示当前所在目录)执行权限:all user 语法:pwd 示例:$ pwd说明: 由于Linux系统的树状目录结构颇为庞大,若没有使用Shell环境变量指定在Shell提示符显示当前的工作目录,则不断地使用cd切换目录之后,可能会忘记当前所在的目录是哪里,例如在:/usr/bin和/usr/local/bin。一般Shell提示符只显示最后的目录名称bin,所以会对所在目录产生混淆,因此可以随时用pwd命令了解当前的工作目录usrX11R6bin显示当前工作目录为usrX11R6bin4cp ,rm, mv,mkdir 命令英文原义:copy,remove,move, make directory (复制、删除、移动文件,创建目录)执行权限:all user 语法:cp -afpx 源文件或目录目地文件或目录 -a archive的意思相当于-dpR,也就是复制所有目录并包括子目录 -f 强制复制文件 -p 保留原始文件的日期 -x 指定文件复制后属于目地磁盘的文件系统,如:ext2-fat32语法:rm -irf文件或目录 -r 删除目录及其下的所有目录内容 -f 强制删除-I 交互模式,删除前再做一次确认语法:mv if 源文件或目录目地文件或目录51n命令英文原义:link (产生连接文件)执行权限:All User语法:ln s 源文件目录文件 ( -s symbolic link, 符号连接)示例:1n s /bin/less /usr/local/bin/less说明:当需要在不同的目录用到相同的文件时,不需要在每一个需要的目录下都放一个相同的文件,只要在某个固定的目录中,放上该文件,然后在其他的目录用ln命令连接它即可,不必重复占用硬盘空间。2)文件权限管理命令1 chmod命令英文原义:change file or directorys mode(改变文件或目录的权限)执行权限:All User语法:chmod -R mode=4,2,1 ora,u,g,o+,-,=,r, w, x, s,t文件或目录示例:$chmod a+r stuff $chmod 755 file 说明: Linux将文件的权限分成Readable(r)、Writable(w)、executable(x)、Set UserID、Setuid(s)、Set Group ID Setgid(s)、Sticky bit(t),而将文件的用户分成All(a)、User(u)、Group(g)、Other(o)等四种。可以使用chmod加上这些代号规范文件权限。第一个示例赋予所有用户对stuff有读的权利。第二个示例赋予所有者对file文件可读可写可执行,同组用户和其他用户可读可执行的权利。2chown命令英文原义:Change file or directorys Owner(改变文件或目录的所有者)执行权限:All User语法:chown R 用户.群组文件或目录功能描述:改变文件或目录的所有者3.chgrp名称英文原义:Change file or directorys Group(改变文件或目录的所属群组)执行权限:All User语法:chgrp R 文件或目录 3)文件查找命令1.whereis命令英文原义:where is file? (显示文件或目录的所在位置)执行权限:All User语法:whereis 文件或目录2find命令英文原义:find (查找文件或目录)执行权限:A11 User语法.find查找路径查找关键字表答式-type 指定查找文件的文件类型,如下: o block (buffered) special c characher (unbuffered,special) d directiry p named pipe(FIF0) i regular file 1 symbolic link s socket -gid n 指定查找群组id为n的文件-group grpname 指定查找群组名称为grpname的文件-iname filename 指定查找与filename类似的所有文件另外还可以使用通配符,例如:find ./ -iname f* -print 查找所有以f开头的文件名find ./ -iname c?-print 查找以c开头且后面有两个字节的文件名说明:-name和-iname选项类似,差别在于-name会区分大小写,-iname和-ignore则不区分大小写。-iname查找文件为连接文件的文件或目录4)磁盘管理命令1df,du命令英文原义:disk filesystem space usage (显示文件系统)disk file space usage (显示文件使用的空间大小)执行权限:All User语法:df km, du -sbkm -b bytes -k kilobytes -m megabytes -s summarize示例:dfFilesystem 1k-blocks Used Available Use Mounted On/dev/hddl 796033 250353 504556 33 /dev/hdd5 1190014 882595 245933 78 /usr/dev/hdd6 796033 421213 333696 56 /home/dev/hdd7 199047 130048 58719 69 /var/dev/hdal 2044240 1281436 762804 63 /win98 2fdisk 命令 英文原义:format disks/partitions(修改、显示磁盘/磁盘分区格式)执行权限:root语法:fdisk -b SSZ -u DISK 修改磁盘分区表 fdisk -l -b SSZ -u DISK 列表显示磁盘分区表 fdisk -s PARTITION 获取指定分区尺寸(以块为单位)说明:这里DISK 是指 /dev/hdb 或 /dev/sda磁盘设备文件之类的参数,PARTITION 是指 /dev/hda7 某磁盘指定分区之类的参数。-u:获取磁盘分区起始扇区单元和终止扇区单元;-b 2048:(对于特定MO 磁盘) 每扇区大小为 2048-字节。示例:fdisk lDisk /dev/sda: 5368 MB, 5368709120 bytes255 heads, 63 sectors/track, 652 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 522 4192933+ 83 Linux/dev/sda2 523 555 265072+ 82 Linux swap/dev/sda3 556 652 779152+ 83 Linux3mount umount命令英文原义:mount/umount a filesystem(挂接/拆除文件系统)执行权限:root语法:mount a-t fstype -ooptions 设备名称 目录名称 -a mount定义在etcfstab中的所有分区 -t 指定文件系统格式(ext2,msdos,vfat,is09660 ) -o 指定loop device umount目录名称(mount point)说明:Linux使用磁盘的方式是必须将这些设备挂在系统的某一个目录,才可能让用户存取。若是Linux系统没有挂接,用户无法直接对硬盘设备操作,所以mount命令非常重要。如挂载U盘到/mnt/usb子目录: mount /dev/sda1 /mnt/usb然后,通过命令cd /mnt/usb,以后对/mnt/usb子目录上的所有操作,都是针对U盘操作。注意:在拔下U盘之前,应执行卸载umonut 操作: cd / umount /mnt/usb5)程序管理命令1 ps,kill命令英文原义:process status, kill执行权限:All User语法:ps auxa显示所有用户的线程u显示用户名称x显示不由tty控制的线程kill(-HUP or -1) -9 -HUP or-1重新启动某个线程 -9强制删除线程说明:执行ps时,加的选项前面不需要“-”,请特别注意! aux选项可以显示出系统当前的所有线程2 top 命令英文原义:display top CPU processes执行权限:All User语法:top 说明: 除了使用ps监视系统执行程序外,可以使用top同时监视系统效能与执行程序。6)显示文本文件与字符串查找命令1 cat,more,less命令英文原义:concatenate,file perusal filter,opposite of more (显示文件内容)执行权限:A11 User语法:cat:文件或输出,more 文件或输出,less文件或输出示例1:$cat filel file2file3 说明:上述命令将file1,file2的内容一起输出到file3中,达到合并文件的效果。另外,more和less功能是一样的,都可以一页页地查看命令输出或内容的文件内容。唯一的不同在于less可以做上下卷轴的操作,而more就只能向下输出内容,不能再回头输出已经出现过的内容。示例2: cat interrupts说明:列出当前中断占用情况示例3: cat ioports说明:列出设备的硬件IO占用情况示例4: cat pci说明:列出pci设备的情况。2 grep命令英文原义:GNU regular expression print (查找字符串)执行权限:All User语法:grep pattern 文件或输出示例:$grep world file.txt (查找file.txt中含有world关键字的内容)$grep -e “HellO World!” file.txt (查找file.txt中含有Hello World!字符串的内容)$grep -c world file.txt (计算“world”在filetxt中出现的次数)7) 压缩与解压缩命令1 gzip命令英文原义:GNU zip (使用Lempel-Ziv coding-LZ77技术压缩文件)执行权限:All User语法:gzip 选项-19r文件 -1表示快速压缩 -9表示最佳状况压缩 -r 压缩时包含所有子目录2. gunzip命令英文原义:GNU unzip (解压缩以gzip压缩的gz文件)执行权限:A1l User语法:gunzip:选项-r 文件或目录说明:使用gzip d -r filename.gz和gunzip r filename.gz功能一样,-d是decompress的意思)。3.tar命令 英文原义:tar (压缩文件目录) 执行权限:All User 语法:tar 选项zcvf文件或目录 -z 使用gzip压缩.tar文件 -c 产生一个tar文件-v 观看压缩过程-f 指定压缩成的文件(或压缩到磁带设备) 说明:一般都是四个选项全加,这样马上可以将一个目录下所有的文件压缩成一个压缩文件。压缩后文件格式:.tar.gz or .tgz。tar的功能和其他压缩工具不太一样,tar可将一个目录所有的文件压缩成一个文件,但是tar没有空间压缩的功能。因此大家用tar都会配合gzip一起使用,以达到前面介绍gzip时的压缩目录需求-将一个目录下所有的文件压成一个压缩文件。 -x 选项解压。 1.4 I/O管道和重定向Linux系统有一个非常有趣的概念就是“I/O重定向(Redirection)”。可以利用大于符号()进行输出重定向,也可以利用小于符号() $1s -1list 正常情况执行ls -l后,应该会有目录和文件的输出结果到屏幕上,但是经过输出重定向符后,输出结果会存储到list文件中,而屏幕上则无任何结果。所以当一些命令运行并需要将结果记录下来时,输出重定向会是一项好工具。cat命令没有参数,所以会等待用户的输入,接着用户输入的每个字节,都会经由输出重定向()被导引到list文件中,最后按CtrlC就可以中断cat程序,然后执行cat list,就是刚才输入的文字,所以cat加上输出重定向(),俨然就成为一个新型的文件。附加输出重定向符() $cat list2 listl如果是两个符号,就是将输出重定向结果附加到输出文件的后面,cat显示list2,然后将结果附加到listl的文件尾,所以这样的操作可将两个文件合并成一个文件。若只有输出重定向符(),则1ist2会把1istl内容覆盖。2) 输入重定向符() $cat list $catlist 上面这两个命令的结果是一样的,但是真正执行的意义确是不同的。cat list是list当作cat的标准输入文件,结果会将list的内容显示到屏幕上,但是catlist则是cat并无标准输入文件,而是使用输入重定向()将文件list定向给cat当标准输入,最后才显示list的内容。这样的输入重定向对于可以接受“参数(argument)”的命令没有太大用处,但对于设计成不能接受参数的命令就非常有用。$patch patch2213$patchpatch2. 2. 13patch这个用来做源程序补钉的程序并不能接受参数,所以执行patch patch-2213这样的操作是没有任何反应的,但是若通过输入重定向符将修补文件输入给patch,就会开始执行源程序修补的操作。附加输入重定向符(STRING)STRING表示输入会一直持续,直到遇到STRING字符串后才终止。$cat)$ls -l dir1file_list$ls -1 dir1&file_list 错误输出重定向(&)与输出重定向()仅差一个&符号,它们之间的差别在于使用输出重定向()时,当目录dirl存在时,输出当然会记录到file 1ist中,但假若dirl不存在,则ls命令会显示无法列出目录dirl的错误信息到屏幕上。此时为错误输出,所以正常的重定向并无任何输出结果,因此file_list会是空文件。而错误输出重定向&则不管是正常的输出信息还是命令执行错误的错误信息,都记录到file_list文件中。通常错误输出重定向会应用在源程序的编译过程中,程序员可利用(&)将编译的过程以及错误的信息全部记录下来,以利调试。4) 管道符( | ) 输出重定向、输入重定向都非常的实用,还有一个更加实用的符号就是管道符。管道的功用是将程序的输出结果引导为另一个程序的输入。ls l /usr | more/usr目录文件众多,使用ls -l查看并无法一页显示完毕,为了看清楚前面的文件,输出结果由管道 | 定向给more命令,当作more命令的输入,而使得可以一页一页地观看1s的输出结果。1.5 man 在线帮助系统1man,info命令英文原义:manual,information(查找帮助手册,查找帮助信息) 执行权限:All User 语法:man任何关键字,info任何关键字说明:任何命令或重要文件都可以使用man来查询使用方法,这也是Linux最可爱之处和最完整的在线查询系统。通常man在介绍一个命令的格式时,是按照:NAME (命令名称)SYNOPSIS (语法)DECSRIPTION (描述)OPTIONS (选项)等四大部分来介绍一个命令,然后会有几个示例教用户如何使用该命令。不过需要注意的是,最后面可能还会出现SEE ALSO的信息,例如:SEE ALSO vi(1) less(1) ls(1L)。这是说请再参考别的命令帮助的意思,命令后面括号里的数字是代表第几节的意思。 如vi(1)是代表vi这个命令帮助的第一节,可执行下面的命令读取: man 1 vi 而less(1)和ls(1L)也是用相同的方式man 1 less或man 1L ls查找在线信息。至于man的文件放在哪里,执行manpath命令就会告诉用户完整的MAN PATH,例如:/usr/man; /usr/X11R6/man; /usr/local/man; /usr/lib/perl5/man;man固然是最强大的在线查询工具,但对于想打印出来阅读的用户就有点麻烦了,因为man的格式不是一般的Text文件,用户并不能直接读取存放在?usr/man、/usr/X11R6/man下的文件,必须靠man才能阅读,这里提供一个命令可将man转成一般的Text file,这样就可以使用任何的Editor来读取man文件。 man ls | col -blsTxt还有一个非常有用的命令man2html可以将man在线帮助文件装换为html格式的超文本。 而除了man之外,类似的在线查询工具还有info这个命令,它的用法与man一样。当使用man查询不到某命令或设置文件的相关信息时,可以改用info试试看。1.6 Linux的多线程多用户能力Linux具有多线程多用户能力。在启动完成之后,可以按Ctrl-Alt-Fx组合键切换Linux的各个虚拟控制台(Virtual Console)(称为虚拟控制台的原因是真正的控制台只有一个实体的屏幕,所以切换到别的控制台都是虚拟的)。 Ctrl-A1t-F1 Console 1 Terminal Ctrl-A1t-F2 Console 2 Terminal Ctrl-A1t-F3 Console 3 Terminal Ctrl-A1t-F4 Console 4 Terminal Ctrl-A1t-F5 Console 5 Terminal Ctrl-A1t-F6 Console 6 Terminal Ctrl-A1t-F7 Console 7 Xll 一般Console 16是Terminal login,Console 7则是X Window System缺省执行的控制台。所以若使用runlevel 3 Terminal login,则启动Linux后,登录在Console 1, 若是使用runlevel 5 X11 login,则登录在Console 7。Linux提供这么多控制台。 登录系统:$login: 用户名 password: 不回显的密码 退出系统:$logout, exit (注销登录)$halt (关机)$reboot (重新启动)$init 0 (以runlevel 0 启动及重新启动)按Ctrl-A1t-Del 强制重新启动1.7 GNOME gedit 文本编辑器在REDHAT LINUX9.0图形界面启动后的界面如下图所示:当前用户主目录入口处也是文件管理器的入口处开始菜单工具栏警告标志任务切换区面板日期时间图1.2 GNOME 桌面点中“开始菜单” “附件”或“accessory”“文本编辑器”,其图形化的界面如下图所示,GNOME gedit 文本编辑器与Windows 的notepad文本编辑器功能相似,快捷键也大部分相同,又有Windows 的wordpad写字板的风格,比之notepad 和wordpad,gedit 功能更全面,操作更便利。图1.3 gedit 文本编辑器1.8 vi 、vim用法vi 是Linux/Unix 世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Linux/Unix 机器都会提供这个软件。vi 有三种状态,即编辑方式、插入方式和命令方式。在命令方式下,所有命令都要以:开始,所键入的字符系统均作命令来处理,如:q 代表退出,:w 表示存盘。当你进入vi 时,会首先进入命令方式(同时也是编辑方式)。按下I就进入插入方式,用户输入的可视字符都添加到文件中,显示在屏幕上。按下ESC 就可以回到命令状态(同时也是编辑方式)。编辑方式和命令方式类似,都是要输入命令,但它的命令不要以:开始,它直接接受键盘输入的单字符或组合字符命令,例如直接按下u 就表示取消上一次对文件的修改,相当于WINDOWS 下的Undo 操作。编译方式下有一些命令是要以/开始的,例如查找字符串就是:/string 则在文件中匹配查找string 字符串。在编辑模式下按下:就进入命令方式。基本命令解释:1光标命令k、j、h、l上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4 个光标键,但是记住这4 个命令还是非常有用的。这4 个键正是右手在键盘上放置的基本位置。nG跳转命令。n 为行数,该命令立即使光标跳到指定行。Ctrl+G光标所在位置的行数和列数报告。w、b使光标向前或向后跳过一个单词。2编辑命令i、a、r在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。cw、dw改变(置换)/删除光标所在处的单词的命令(c=change、d=delete)。x、d$、dd删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。3查找命令- /string、?string从光标所在处向后或向前查找相应的字符串的命令。4拷贝复制命令- yy、p拷贝一行到剪贴板或取出剪贴板中内容的命令。常用操作: 无论是开启新档或修改旧文件,都可以使用vi,所需指令为:$vifilemane如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。如果文件早已存在,vi 则会显示文件的首廿四行,用户可再用光标(cursor)上下移动。上面是一个经vi 开启的模拟文件,一行开始处的波折号()表示文件的结尾。指令i 在光标处插入正文指令I 在一行开始处插入正文指令a 在光标後追加正文指令A 在行尾追加正文指令o 在光标下面新开一行指令O 在光标上面新开一行在插入方式下,不能打入指令,必需先按Esc键,返回命令方式。假若户不知身处何态,也可以按Esc键,不管处於何态,都会返回命令方式。在修改文件时,如何存档及退出指定文件都非常重要。在vi 内,行使存档或退出的指令时,要先按冒号(:),改变为命令方式,用户就可以看见在荧幕左下方,出现冒号(:),显示vi 已经改为指令状态,可以进行存档或退出等工作。:q!放弃任何改动而退出vi,也就是强行退出:w 存档 :w! 对于只读文件强行存档:wq 存档并退出vi:x 与wq 的工作一样:zz 与wq 的工作一样删除正文删除或修改正文都是利用编辑方式,故此,下面所提及的指令只需在编辑方式下,直接键入指令即行。x 删除光标处字符(Character)nx 删除光标处後n 个字符nX 删除光标处前n 个字符ndw 删除光标处下n 个单词(word)dd 删除整行d$或D 删除由光标至该行最末u 恢复前一次所做的删除当使用vi 修改正文,加减字符时,就会采用另一组在编辑方式下操作的指令。rchar 由char 代替光标处的字符RtextEsc由text 代替光标处的字符cwtextEsc由text 取代光标处的单词CtextEsc由text 取代光标处至该行结尾处cc 使整行空白,但保留光标位置,让你开始打入如删除指令一样,在指令前打入的数,表示执行该指令多少次。要检索文件,必需在编辑方式下进行。strReturn向前搜寻str 直至文件结尾处?strReturn往後搜寻str 直至文件开首处n 同一方向上重复检索N 相反方向上重复检索vi 缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。全程替换命令::%s/string1/string2/g 在整个文件中替换“string1”成“string2”。如果要替换文件中的路径:使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin 换成/bin。也可以使用命令“:%s/usr/bin/bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。同时编辑2 个文件,拷贝一个文件中的文本并粘贴到另一个文件中,命令如下:- vi file1 file2- yy 在文件1 的光标处拷贝所在行- :n 切换到文件2 (n=next) 或者按ctrl+ww,就在两个文件间切换。- p 在文件2 的光标所在处粘贴所拷贝的行- :n 切换回文件1将文件中的某一部分修改保存到临时文件,例如仅仅把第2059 行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。- vi file- :20,59w /tmp/1如果要在vi 执行期间,转到shell 执行,使用惊叹号(!)执行系统指令,例如在vi 期间,列出当前目录内容,可以键入::!ls另一方面,用户可以在主目录中创建.exrc 环境文件,用set打入选项,每次调用vi 时,就会读入.exrc 中的指令与设置。下面是.exrc 环境文件的实例:setwrapmarging8setshowmodesetautoindent1.9 Emacs编辑器Emacs编辑器是Stallman的杰作,也可以称为集成环境。Emacs可以用来编辑文本文件,也可以用它来编辑程序代码,用来调试程序,更可以在Emacs里面寄信,读news,还可以编辑HTMLSGML文件等等,它真的是无所不能,还有它的多语言版本MULE,也支持中文代码,emacs在输入程序时排得整整齐齐,又提供自动查找正确变量的功能,emacs真的是太神奇了,但是它真的相当不易使用。也就是说,必须记非常多的命令才能使用它。目前emacs有terminal和X Window版本,terminal版本是比较难操作使用的,而X Window System版因为有鼠标辅助,所以显得较易上手,所以下面的emacs介绍以terminal版本为主,这样一来,两个版本的emacs都可学会。1) 符号说明Cx 表示按住Ctrl键,然后按x,再把Ctrl、x一起放开。C-x 5 2 表示按住Ctrlx后放开,接着再依次按5和2。M-x M代表Meta键,在PC上可以是Esc或是IAlt键,所以Mx在PC上按Alt-x或是Esc-x都可以。所有emacs功能键没有大小写分别,CX等于Cx。而当按超过两个以上的按键命令时,Emacs会在屏幕最下面一行显示按过什么组合键,这一行叫作mini buffer。2) 调用Emacs 在提示符号下执行emacs:$/usr/bin/emacs newfile(X Window emacs)$/us/bin/emacs -nw newfile (No X Window mode)$/usr/bin/emacs -nox newfile (标准Terminal emacs)3) 打开新文件若启动emacs时没有加入文件名,可以键入:CtrlxCtrlf打开新文件,当键入CtrlxCtrlf后,emacs上方的功能菜单会出现minibuf选项,在屏幕的最下面则出现Find file:/ 请输入文件名,Find file:newfile。4)打开旧文件按Ctrlxd会让用户输入目录名称,输入后会在窗口内显示目录与文件名,可以使用光标选择要打开的文件。5) 启动功能菜单Fl0 启动Emacs后,最上面emacs有功能菜单:Buffers Files Tools Edit Search Mule Minibuf Help 要使用里面的功能必须按Fl0,接着屏幕下方会出现菜单功能键, b=Buffers f=Files t=Tools e=Edit S=Search m=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动端健康医疗应用开发
- 职教数学复习 第7章简单几何体与立体几何 第34讲简单几何体的三视图 课件
- 甲状腺次全切除术课件
- 天津市河东区2024-2025学年高二下学期7月期末物理试题(含答案)
- 用电安全知识培训课件开场白
- 新解读《GB-T 36041-2018压水堆核电厂安全重要变量监测准则》
- 生药学课件-大黄
- 2024垃圾清理协议合同
- 2024建设用地使用权出租合同(8篇)
- 2025年考研英语(一)阅读理解模拟试卷 真题解析与训练
- 办公室文秘岗试题带答案
- 2025年河南疾控中心考试题库
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 2025年【高压电工】模拟试题及答案
- 养老护理员竞赛理论试卷答案(含答案)
- 2025年四川省能源投资集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 广东省公路服务区管理系统升级及运维项目
- 造林后续管理办法
- 市政施工安全培训课件
- 培训完总结做个课件
- 幼儿园6S管理培训
评论
0/150
提交评论