已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UNIT 1UNIX于1969年诞生在伟大的Bell实验室,是操作系统中的贵族,是软件领域中的常青树。Linux是UNIX的PC克隆(clone),实现了UNIX的全部功能。Linux是一种类UNIX的操作系统,是GNU(古努类UNIX的自由软件)发展中最著名的软件。1991年,GNU发烧友芬兰人林纳斯托瓦兹 (Linus Torvalds)在赫尔辛基大学计算机系上学时出于个人爱好并参考Minix(开放的UNIX的教学版本)用C语言奇迹般地编写出了一个与UNIX兼容的操作系统内核,取名为Linux(Linus的Unix),并遵循GPL协议在因特网上发布。Linux一经发布便在网上广泛流传,立即引起了许多GNU发烧友的极大兴趣,一些黑客们自发地加入了Linux的开发行列,形成了一个以林纳斯托瓦兹为首的Linux虚拟开发团队,Linux被不断完善和成熟,不断有新的版本推出。Linux内核版本有两种:稳定版和开发版。稳定版具有工业级的强度,可以被广泛地应用和部署,新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。而开发版由于要试验各种解决方案,所以变化很快。这两种版本是相互关联,相互循环的。 Linux内核版本号的命名格式: num.num.num其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订次数,如果次版本号是偶数,那么该内核就是稳定版的,如2.6.4:若次版本号是奇数,则是开发版的,如2.5.1。最新版本是:2.6.28 Linux内核的标志和吉祥物是一只名字叫做Tux的企鹅,这个穿着黑色燕尾服的可爱小家伙充分表达了自由软件事业无忧、无虑、无畏的态度。 Linux内核是完全免费的,其官方网站是:。人们常把Linux内核和Linux操作系统混为一谈。实际上,Linux只是托瓦兹开发出的一个OS内核(kernel),其并不是一个完整的操作系统。内核是操作系统的心脏,完整的Linux操作系统还应该具备以下构成要素:系统引导程序、Shell、设备驱动程序等组件。这些组件由世界各地的不同组织或个人开发维护,其中绝大部分遵循GPL协议并以源代码的形式自由发布。正是由于Linux系统各部分中的绝大多数软件都是以源代码形式发布的,所以,安装和使用它们显得非常困难。尽管到今天为止仍有许多高手热衷于LFS,尽情享受DIY的乐趣,可这要求较高的专业知识和丰富的Linux使用经验对于侧重于实际应用的大部分普通用户来说是无法胜任的。针对这种情况,Linux产业中出现了一批专业的发行商,他们专门在因特网上搜集各种Linux的最新软件,连同他们自己开发的各种管理和应用软件,打包成易于安装和使用的完整的Linux操作系统光盘以“成本价”出售,人们也可以登录他们的网站合法地下载这些光盘镜像或其中单独的文件。这种公开发行的版本被称为“Linux发行版(Distribution)”,也就是我们通常习惯上所说的“Linux操作系统”。Linux发行版除了拥有Linux优秀的技术优势外,还具备安装简便、界面美观、易于配置和使用等诸多优点。各种不同的Linux发行版本之间无论是外观还是功能往往有不小的差别,适合不同的用户群,但它们的内核都是Linux。著名的Linux发行版如Slackware、Redhat、Debian、SuSE、Redflag等等。需要指出的是,Linux发行版事实上不单纯是一个Linux操作系统,其中除了Linux操作系统外,还打包了众多的其他系统软件和应用软件,如C/C+编译器、Java编译器、文本编辑器、DBMS、Office套件、因特网浏览器、E-mail软件等等,甚至还提供了一些娱乐软件。所以说:Linux发行版实际上提供了一个Linux操作系统开发环境。 操作系统是覆盖在“裸机”上的第一层软件,是计算机软件系统的核心,它管理计算机系统中所有的软、硬资源,有效地组织和控制程序的运行,是计算机系统中最关键的系统软件。Linux系统(Linux发行版)主要由Linux内核、Shell(外壳)和应用程序三部分所构成。Linux内核和Shell构成了Linux操作系统。Linux系统的构成(图自画)内核是Linux操作系统的核心,它负责所有系统资源的管理工作和程序运行控制工作。内核的五大基本功能是:进程和线程管理(处理器管理);内存管理;设备管理;文件管理;网络管理。Shell是Linux操作系统的用户界面,提供了用户与内核进行交互操作的一种接口。Shell是命令语言和命令解释器的统称。用户可使用Shell语言直接输入操作命令,也可以用Shell语言编制Shell程序(Shell语言具有普通高级语言的控制流结构) 。Shell解释器接收并解释用户输入的Shell命令或Shell程序,再转给内核去执行,并将内核反馈的信息再次解释给用户。内核对应用程序和用户是“透明”的。Linux的基本特点 自由软件Linux的内核及大多数组件都是GPL的,用户可以从因特网上自由下载和使用,进行二次开发。这大大激发了GNU发烧友的热情和创造力。多用户多个用户(6个)能同时从相同或不同的终端上使用同一个应用程序的副本进行工作,还允许远程用户联网登录,每个用户都可以构建自己独立的用户界面,互不影响。多任务Linux是抢占式多任务操作系统,具有优异的内存和多任务管理能力。系统可同时执行数十个应用程序,各程序之间相互户独立,互不妨碍。设备独立性Linux把外部设备统一当作文件来处理,用户可以像使用文件一样,操纵和使用各种外部设备。用户可以自行开发新的或特殊设备的驱动程序,并把它连接到内核或发行版本中,也可以通过修改内核源代码来实现。 丰富的文件系统Linux支持的文件系统很多,例如:EXT3、NFS、FAT、XFS、ISO9660、HPFT、MSDOS等等。强大的网络功能Linux是在因特网基础上产生并发展起来的,因此完善的内置网络是Linux的一大特点,它较全面的实现了PPP、 TCP/IP、SLIP、PLIP协议,功能强大,性能稳定。Linux不仅可以作为网络工作站使用,更适于作为各类网络服务器。可靠的系统安全Linux采取了许多安全技术措施,这为网络多用户环境中的用户提供了必要的安全保障。良好的可移植性(多平台)Linux能在X86硬件平台上运行,也能平滑移植到其他平台。完整的开发平台Linux支持一系列的开发工具,几乎所有的主流编程语言都已移植到Linux上,如C、C+、Java、Ada、PHP、Fortran等。Linux 的三大支柱(1) UNIX 操作系统UNIX是操作系统领域中唯一的常青树,其重要性毋用置疑。 1987年由Andrew S. Tanenbaum(坦鲍姆)教授开发完成了Minix,它是UNIX 的克隆系统,作为Unix的教学版。由于MINIX的出现并且提供源代码(只能免费用于大学内),致使在全世界的大学中刮起了学习UNIX旋风。 Linux刚开始是参照Minix开发的,因此 Linux就是UNIX的一种克隆系统,Linux的兴盛很大程度上得益于UNIX的光罩。(2) GNU计划GNU的Open Source和Copyleft大大促进了Linux的发展。开发Linux 操作系统,以及Linux上所用大多数软件基本上都出自GNU计划。Linux只是操作系统的一个内核,没有GNU 软件环境(比如说bash shell),则Linux将寸步难行。 (3) 因特网如果没有Intenet,没有遍布全世界的无数Linux发烧友的无私奉献,那么Linux不可能走得这么远。从软件工程的角度看,Linux有着一个庞大的遍布全世界的虚拟开发团队和测试团队(其中不乏真正的极客Geek),使得它的健壮性和可靠性有着绝对的支撑力。 Linux文件系统文件系统一是指操作系统内核中实施文件管理的程序集合,二是指文件在存储介质上的组织结构和存储格式。(这里主要是指后者)在Linux中,每个盘分区(主分区和逻辑分区)都是一个文件系统,都可有自己的目录树结构。Linux的最重要特征之一就是其内核支持多种文件系统Ext2 Ext2是GNU/Linux系统中标准的文件系统,是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上,其最大容量为6384GB。2000年以前Ext2是各种Linux发行版的默认文件系统。 Ext3 Ext3是Ext2的升级版,是一种日志式文件系统,也就是在保留了Ext2格式的同时再加上日志(Journal)功能。Ext3最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。Ext3是当前各种Linux发行版的默认文件系统。Linux swap它是Linux中一种专门用于交换分区的文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是内存容量的2倍。ISO9660 ISO9660是标准CDROM文件系统。VFATVFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,可以作为Windows与Linux交换文件的分区。Linux目录结构Linux系统是一个庞大的软件系统,包含有许许多多各种各样的文件,所有的文件被安置在一个统一的倒挂的目录树结构的存储空间中。“目录”在Windows中称之为“文件夹”。Linux系统安装完成后,会创建一些默认的系统目录,每个目录依照不同的用途放置特定的文件。下面是一些常用的目录。 根目录。该目录下包含Linux系统的所有目录和文件。/binbin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着用户最经常使用的命令程序,它们常驻内存,类似于DOS的内部命令 。例如cp、ls、cat等等。/boot这里存放的是启动Linux时使用的引导程序等文件。 /devdev是device(设备)的缩写。这个目录下是所有的设备文件,这些文件用于访问系统中所有不同类型的硬件。其功能类似Windows下的.vxd。在Linux中设备和文件是用同种方法访问的。/etc这个目录用来存放系统管理所需要的配置文件。/home所有普通用户的主目录。每个普通用户在该目录下建立一个自己的主目录。比如说有个用户叫wang,那他的主目录就是/home/wang(也可以用wang表示)。/root根用户(即系统管理员超级用户)的主目录。/sbins就是Super User的意思,也就是说这里存放的是超级用户使用的命令程序。/lib这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。/tmp存放程序运行时生成的临时文件。/lost+found这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。/mnt临时文件系统的安装点。这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。/var存放要经常动态改变大小的文件。系统的日志文件就在/var/log目录下。/usr这是最庞大的一个目录,用户要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;/usr/X11R6存放X-Window的目录;/usr/bin存放着许多应用程序;/usr/sbin给超级用户使用的一些管理程序就放在这里;/usr/doc这是Linux文档的大本营;/usr/includeLinux下开发和编译应用程序需要的头文件,在这里查找;/usr/lib存放一些常用的动态链接共享库和静态档案库;/usr/local这是提供给一般用户的/usr目录,在这里安装软件最适合;/usr/manman在Linux中是help的同义词,这里就是帮助文档的存放目录;/usr/srcLinux开放的源代码就存在这个目录! =我是分割线=UNIT 2在Linux中设备与文件统一处理,设备被认作是特殊的文件设备文件,设备名的命名规则与数据文件的命名规则相同,所有的设备都“挂载”(mount)在系统目录“/dev”下。一台PC机一般最多可安装3块IDE硬盘(通常只安装1块硬盘)。而一台服务器则可安装十块以上的SCSI硬盘。 Linux对硬盘的命名规则为: IDE硬盘:/dev/hda|b|c SCSI硬盘: /dev/sda-z 例如:/dev/hda 第一块IDE硬盘/dev/sdb 第二块SCSI硬盘由于硬盘容量很大,为提高使用效率,硬盘在使用前要进行分区。硬盘分区主要分为主分区(Primary Partition)和扩展分区(Extension Partition)两种。主分区可以马上被使用,而扩展分区必须再分为若干逻辑分区后才能使用,即扩展分区必须进行二次分区。一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区,在这个扩展分区内的逻辑分区数目没有限制。在Windows中每个主分区和逻辑分区对应一个盘符,用户可以使用盘符来访问特定分区上的文件和文件夹,每个分区上的文件夹结构都是独立的。Linux对硬盘分区的命名与Windows完全不同。它是在硬盘名后面添加一个数字编号来表示分区,编号14为主分区号,逻辑分区编号从5开始。例如:/dev/hda1是第1块IDE硬盘的第1个主分区;/dev/hda5是第1块IDE硬盘的第1个逻辑分区;/dev/sdb1是第2块SCSI硬盘的第1个主分区;/dev/sdb6是第2块SCSI硬盘的第2个逻辑分区。分区告诉操作系统“在哪个区域里读写信息”,而文件系统则告诉操作系统“按哪种格式读写文件”。Linux支持多种文件系统。Red Hat Linux支持的两种基本文件系统是ext3和swap。在安装Linux系统时,至少要创建一个ext3分区和一个swap分区。 ext3是一种日志(Journal)式文件系统,是专为Linux设计的。其最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。ext3用于存放系统文件,是当前各种Linux发行版的默认文件系统。swap是Linux中一种专门用于交换分区的文件系统。交换分区是Unix所采用的一种虚拟内存实现技术。Linux使用这一整个分区作为交换空间。一般,这个swap格式的交换分区是内存容量的2倍。各种Linux发行版一般都做成镜象(Mirror image)文件提供给用户。 镜象是一种特定的文件形式,可以把一个软件系统中的许多文件集成为一个镜象文件。镜象是压缩文件,镜象中记录着每个文件的安装路径。当打开镜象时,可以快速地还原出一个完整的原系统来,就像照镜子一样精确。 镜象文件的应用范围比较广泛,常见的应用就是用镜象来装系统以及进行数据备份。镜象文件的格式有iso、bin、img、tao、dao、fcd等。镜像文件可以直接刻录到光盘上,也可以用ghost、虚拟光驱等软件打开。 linux主要有两种方法:光盘安装和虚拟机安装。所谓虚拟机(Virtual Machine)是指利用现有物理计算机固有的强大的计算处理能力,通过软件技术模拟出一台虚拟的计算机,就相当于在真正的物理计算机上再创造出一台计算机,这台计算机对使用者来说跟一台物理计算机没有什么区别,它有自己独立的操作系统以及该操作系统支持的各种软件,但它实际使用的是物理计算机的硬件资源,是物理计算机系统的一个应用程序。目前流行的虚拟机软件有VMware和Virtual PC通常情况下,需要创建三个分区:根分区、交换分区及引导分区。引导分区(/boot):存放Linux内核及一些启动的配置文件,只需100MB足够了,类型为ext3。根分区(/):存放整个系统中除内核以外的所有文件。容量越大越好,一般不小于5GB,类型为ext3。交换分区:用于支持虚拟内存,类型为swap。其大小一般为物理内存的2倍,如果运行大型系统,则需更大,例如安装和运行Oracle数据库,交换分区最小应为1GB。=我是分割线=UNIT 3X Windows是Unix / Linux系统支持的GUI(图形用户界面)系统。它不是Unix / Linux操作系统的组成部分,而是在它们上面运行的一个应用程序。X Windows的开发目标是多用户网络环境的GUI,它不仅要考虑每一个用户界面的元素及组合,还需要考虑多用户共用的资源。因此,它采用了Client/Server(客户服务器)结构,也就是有一个服务器提供所有用户对图形设备资源的访问,各个用户通过客户端来使用系统图形资源。 GNOME桌面环境的各种操作都通过图形界面组件来完成,主要的3个组件是:控制面板、桌面、文件管理器。=我是分割线=UNIT 4Linux操作系统提供两种用户操作界面:一种是基于X Windows的图形用户界面(如GNOME和KDE桌面环境);另一种是基于Shell的文本(非图形)用户界面,也称Shell界面或命令行界面。Shell是Linux重要的组成部分,也是学习Linux必不可少的一部分。对于Linux用户来讲,深入了解和熟练掌握Shell的特性和使用方法是用好Linux系统的关键。可以说,Shell使用的熟练程度反映了用户对Linux使用的熟练程度。 Shell的原意是外壳,用来形容物体外部的架构。Linux的Shell作为操作系统的外壳,为用户提供了使用操作系统的界面,它是命令语言程序设计语言语言解释器的统称,负责用户与操作系统内核之间的沟通。 首先,Shell是一种功能丰富的交互式命令语言,它提供有几十条基本的控制台操作命令(如bash提供有40条基本命令)。所谓交互式,就是用户从键盘每输入一条命令,就可以立即得到Shell解释器 的响应,Shell解释器解释用户输入的Shell命令然后传送给内核执行,并把内核反馈的结果信息经解释后显示在屏幕上。Shell交互界面非常简单,它通常包含提示用户输入命令行的提示符,并且以回车键结束命令行。其次,Shell也是一种非交互式的解释型编程语言。它具有编程语言的语法,可定义变量,执行赋值等;并提供了通常高级编程语言所具有的控制流结构(包括循环和分支)。用户可使用Shell语言编写出具有复杂算法的Shell脚本(script)程序,从本质上讲,Shell script是将若干Shell命令行按某种算法组合到一个文件中。Shell解释器可连续解释执行Shell脚本,在执行过程中Shell解释器通常与用户不进行交互,直到该脚本执行完再输出结果信息。 Bourne Again Shell (bash):bash是大多数Linux系统(包括Red Hat Linux)的默认Shell。它是Bourne Shell的扩展,并且与Bourne Shell完全向后兼容,而且在Bourne Shell的基础上增加和增强了很多特性,提供有40条基本命令。本课程采用的是bash。进入Linux的Shell界面有两种基本方式:直接进入方式和间接进入方式。直接进入方式:在安装系统时选择文本界面(text mode),则在系统启动时直接进入Shell界面;间接进入方式:在安装系统时选择图形界面(graphics mode),系统启动后进入的是图形桌面环境,再在桌面环境中切换进Shell界面。虚拟控制台(黑屏)是Linux提供的多用户并发使用系统的方式,它提供的是文本式Shell界面。默认情况下,Linux有6个虚拟控制台,分别名为tty1tty6。如果在安装系统时选择的是文本界面模式,则系统启动时默认进入Shell界面的虚拟控制台。在图形桌面环境下,超级用户(root)可以通过编辑/etc/inittab文件,把系统启动后的初始界面改为虚拟控制台。方法如下:在主菜单中选择【附件】【文本编辑器】,弹出文本编辑器窗口;打开/etc/inittab文件;找到语句“id:5:initdefault: ”,将该语句中的5改为3。用户注销及关机也都是在Shell提示符下直接进行。注销命令是:logout /当前账号注销关机命令是:shutdown -h now /立刻关机 shutdown -r now /重新启动计算机 reboot /重新启动计算机进入Shell界面后,用户可在Shell提示符(串)后输入各种Shell命令。Shell提示符的格式为:用户登录名主机名 当前目录名用户类例如:rootfylRHL9 etc#zhangsanfylRHL9 zhangsan$其中,“#”表示超级用户,“$”表示普通用户。Shell命令行的一般格式为:命令名 选项 参数(1)命令行中的字母严格区分大小写。命令名由小写英文字母组成,往往是表示相应功能的英文单词或单词的缩写。例如,date表示日期,cp是copy的缩写。(2)方括号括起的部分表明该项是可缺省的。(3)选项是对命令的特别定义,用单个英文字母表示,并以减号(-)引导,多个选项可以只用一个减号引导。如du -k-c du -kc 。 (4)参数提供命令运行的信息或者是命令执行过程中所使用的文件名。(5)在命令名和选项及参数之间必须用空格或Tab键隔开。Shell具有命令自动补全功能,对某些记不清楚的命令或命令过长的情况很有用。对于能唯一确定的命令,输入该命令的前若干字符。然后按下键盘上的Tab键,就可以自动补全该命令的剩余部分。【例1】要输入hostname命令来查看当前主机的名称,可以输入hostn后按下Tab键,这时Shell会自动在后面补全为hostname。【例3】如果输入的命令前缀不能唯一标识某个命令时,则按下Tab键时,系统将发出警告声,再按下Tab键时,系统会给出可用来补全的命令清单。如,当输入host时,第一次按Tab键时系统发出警告声,再按Tab键时,系统会给出所有以host开头的命令,如下所示:$ hosthost hostid hostname hoststatShell命令允许使用通配符作为特殊结构的字符串模式。下面是常用的通配符。*星号用于匹配任意多个字符。例如,要查找当前目录中所有扩展名为.doc的文件,可以使用如下命令:ls *.doc? 问号用于匹配单个字符。例如,要显示/bin目录下所有文件名为三个字符的文件,可使用如下命令:ls /bin/? X-X 用于匹配字符范围。例如,要列出当前目录中所有名字中包含有数字字符的文件,可以使用如下命令:ls *0-9*输入重定向符“”的作用是把命令(或执行程序)的标准输入重新定向到指定文件。输入重定向的一般形式是:命令文件名【例5】有一个可执行程序prog,其源程序用C语言编写,为了输入数据,程序中使用了scanf()函数调用语句。如果所需数据(例如成绩表)预先已录入一个文件date1,那么就可以让prog执行时直接从date1文件中读取相应数据,而不必交互式地从键盘录入。执行prog的命令行可以是:$prog”的作用是把命令(或执行程序)的标准输出重新定向到指定文件,而不再在屏幕上显示其输出。输出重定向的一般形式是:命令文件名【例6】一个简单的例子是: $ls l /bintmp管道是由符号“”分隔的若干命令组成的序列。在管道中,每个命令执行时都有一个独立的进程,前一个命令的输出是下一个命令的输入。而管道中有一类命令也称作“过滤器”,过滤器首先读取输入,然后将该输入以某种简单方式进行变换(相当于过滤),再将处理结果输出,例如grep、tail、sort和wc等命令都属于过滤器。使用管道可以在一个命令行中完成复杂的任务,显示在屏幕上的是管道中最后一个命令的输出。 【例7】ls |grep m?.c|wc -l该管道输出当前目录中文件名是以m打头,后随一个字符的所有C源程序文件的数目。使用man命令每个Shell命令都有一份称为man的联机帮助信息。如果觉得help帮助信息不够详细,可以使用man命令来查看任何命令的联机帮助信息,只要将需要查询的命令名作为man命令的参数即可。如$man cat把所有用户划分为三种身份:文件主(user)、同组用户(group)、其他用户(other)。文件主即文件的创建者,对本文件具有最大的存取权限。每种用户对一个文件可拥有读、写和执行的权限。r(read,读)权限:对普通文件而言,指用户可打开并读取文件的内容;对目录而言,指用户可浏览目录的内容;对I/O设备而言,则指用户可使用设备进行数据的输入。w(write,写)权限:对普通文件而言,指用户可修改文件的内容;对目录而言,指用户可删除或移动目录内的文件;对I/O设备而言,则指用户可使用设备进行数据的输出。x(execute,执行):对普通文件而言,指用户可执行该文件;对目录而言,指用户可进入该目录。 用3组每组3个共9个二进制位(bit)表示文件的存取控制方式,依次是:文件主存取控制方式、同组用户存取控制方式、其他用户存取控制方式。每组中的顺序依次是:读、写、执行。例如,某文件的存取控制方式设置为:111101100 (对应的八进制数表示为754 )表示文件主对该文件可读、可写、可执行;同组用户可读、可执行;其他用户只可读。用字符形式表示上述文件存取控制方式,就是rwxr-xr-vi 编辑器是世界第一黑客Richard M.Stallman开发的vi是visual interface的缩写,是Unix和Linux中最有名的文本编辑器,几乎所有的Linux系统都将它作为默认的文本编辑器,是Linux开发人员必须掌握是一个基本工具(考试和面试必考内容!)。vi可以执行输入、删除、查找、替换、块操作等各种文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑器所没有的。但是vi不是一个排版软件,它不像Word或WPS那样可以对字体、格式、段落等属性进行编排,它只是一个文本编辑器(相当于windows中的笔记本)。vi有三种基本工作模式:命令模式、文本输入模式和末行模式。1. 命令模式这是进入vi编辑器时的默认工作模式。在该模式下用户可以输入各种合法的vi编辑命令,此时从键盘上输入的任何字符都被当作编辑命令来解释。需注意的是,命令模式的命令是隐式命令,即所输入的命令并不在屏幕上显示出来,若输入的字符不是合法的vi命令,vi会响铃提示用户。 2. 文本输入模式在该模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。3. 末行模式该模式用于查找、替换、退出、定位光标及保存文件等。末行命令是显式命令,“:”(冒号)作为末行命令的提示符,在其后输入命令,并按回车键结束。末行命令执行完后,vi自动回到命令模式。 三种模式之间的切换:命令模式文本输入模式,键入命令a或i。文本输入模式命令模式,按Esc键。命令模式末行模式,键入冒号。 启动vi 编辑器在Shell提示符后输入:vi 文件名如果所输入的文件名已经存在,vi自动打开此文件编辑,否则将建立一个新文件;然后进入Vi窗口。例如,建立并编辑一个新文件test1.c,命令可如下:$vi test1.c执行该命令,将弹出Vi窗口(图)各行开头都有一个波浪号,表示该行为空行。进入vi后就处于命令模式,等待用户输入命令。进入文本输入模式要输入数据,用户可使用以下三种方法进入输入模式:(1)添加(append)命令a:从光标所在位置后面开始输入新文本,光标后的文本随新增文本向后移动。A:从光标所在行的行尾开始输入新的文本。(2)插入(insert)命令i:从光标所在位置后面开始插入新文本,光标后的文本随新增文本向后移动。I:从光标所在行的行首开始插入新的文本。打开(open)命令o:在光标所在行之下新增一行并进入输入模式。O:在光标所在行之上新增一行并进入输入模式。 保存文件并退出vi在编辑完文件准备退出vi返回到Shell时,先按ESC键,再输入冒号进入末行模式,然后可使用w命令、q命令或wq命令。(1)w命令w:vi保存当前所编辑的文件,但并不退出,而是继续等待用户输入命令。w 新文件名:相当于“另存为”,即把当前文件的内容保存到指定的文件中,而原有文件保持不变。 q命令q:退出vi返回到Shell,此时会在末行显示提示信息:“E37:已修改但尚未保存(可用!强制执行)”。vi等待用户继续输入命令。q!:放弃所作修改直接退回到Shell。(3)wq命令wq:保存文件,然后退出vi返回到Shell 。这是最常用的命令。步骤:1. 输入命令vi hello.cpp/进入vi,编辑hello.cpp2. 输入vi命令i /进入插入模式3. 编辑源程序,如include int main() prinf(“Hello, world!n”); return 0; 4. 输入:wq /保存并退出vi 输入gcc hello.cpp /编译并连接,在当前目录下生成可执行程序文件 /a.out(默认) 或 输入gcc o my1 hello.cpp /编译并连接,生成可执行程序文件my1(自指定) 输入./a.out /运行a.out或输入./my1 /运行my1=我是分割线=UNIT 5cd命令 功能:改变当前目录,使指定目录成为当前目录。语法:cd 目录路径名该命令有三种典型的使用方法:cd . /移到父目录cd /返回到本用户的主目录cd 目录路径名 /切换到指定目录为了能够进入指定的目录,用户必须拥有对指定目录的执行和读权限。例:studentRHLinux9 student$cd / /用户进入根目录studentRHLinux9 / $cd var/进入根目录下的var子目录studentRHLinux9 var$cd tux/进入目录/var/tuxbash:cd: /var/tux: 权限不够studentRHLinux9 var$cd /usr/src/进入目录/usr/var/dbstudentRHLinux9 src$cd ./返回到上一级目录(父目录)studentRHLinux9 usr$cd studentRHLinux9 student$/返回到自己的主目录,相当于cd studentRHLinux9 student$cd usr/src studentRHLinux9 src$cd ./. studentRHLinux9 /$ /返回到父目录的父目录ls命令 功能:列出指定目录下的文件和子目录清单语法:ls 选项 目录路径名若缺省目录名,则表示当前目录。常用的选项及其含义如下:-l:以长格式来显示文件的详细信息。这个选项最常用。-a:显示指定目录下的所有子目录和文件,包括隐藏文件。 -c:按文件的修改时间排序。 -i:在输出的第一列显示文件的i 节点号。Unix和Linux把文件控制块(FCB)称为i 节点(索引节点)。 -F:在每个文件或目录后面加上一个标记,用来表示文件或目录的类型。其中,标记“/”表示目录,“*”表示可执行文件,“”表示符号链接文件,“|”表示管道或FIFO,“=”表示socket文件,没有任何标记表示普通文件。 -R:递归式地显示指定目录下各级子目录中的文件和目录。第1栏为文件的类型(1个符号)和用户的存取权限(9个符号),共10个符号。文件类型符号:d: 目录 :普通文件l : 链接文件b: 块设备文件,如磁盘c:字符设备文件,如打印机第2栏为该文件的链接个数第3栏为文件所有者的用户名第4栏为用户所在的用户组第5栏为文件的大小。对于设备文件,显示的是主、次设备号。第6栏为创建或最后修改的日期与时间第7栏为文件或目录的名称。对于符号链接文件,显示的文件名后面有-和被链接的文件路径名。pwd命令 功能:显示当前目录的绝对路径语法:pwd【例5.3】studentRHLinux9 pub$pwd/var/ftp/pubmkdir命令 功能:建立新目录或目录结构语法:makdir 选项 新目录名1 新目录名2 常用的选项及其含义:-m:对新建目录设置存取权限-p:新目录名可以是一个路径名。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。例:studentRHLinux9 student$mkdir dir1 /在当前目录下建立一个子目录studentRHLinux9 student$mkdir dir2 dir3 /建立两个并行的子目录studentRHLinux9 student$mkdir -p music/pop/建立子目录music及其下一级目录poprmdir命令 功能:从指定目录中删除一个或多个空的子目录。语法:rmdir 选项目录名1 目录名2常用的选项及其含义:-p:递归删除目录,当子目录删除后其父目录为空时,也一并被删除。【说明】该命令不能删除当前目录。目录被删除前应该是空目录。例:$rmdir dir1 /删除子目录dir1 $rmdir music /rmdir: music: 目录非空$rmdir -p music/pop/递归删除pop目录和music目录touch命令功能:建立文件及更新文件建立的日期与时间语法:touch 文件名 选项例:$touch f1/在当前目录下建立一个名为f1的空文件(长度为0字节)$touch f1 -t 0903150000/将文件f1的创建时间修改为2009年3月15日。-t是“日期与时间设置”选项,后随所要设置的日期与时间。【说明】日期与时间格式按:年、月、日、时、分各2位数字,如果不设置时间,则一定要用4位0来补齐。mv命令功能:将目录或文件改名;将文件从一个目录中移到另一个目录中,或将一个目录及其所有内容移到另一个目录下。形式1:mv 文件名1文件名2执行文件更名,文件名1改为文件名2。 形式2:mv 文件名目录名执行文件移动,将文件移到指定目录中。形式3:mv 目录1目录2若目录2为新目录,执行目录更名;否则执行目录移动,将目录1及其所有内容移到目录2下。 常用的选项及其含义:-i:交互式操作,若目标文件名或目录名与现有的某个文件或目录同名,则给出提示要求确认。-f:非交互式操作,若目标文件名或目录名与现有的某个文件或目录同名,则直接覆盖现有的文件或目录。 例: $mv f1 file1 /将f1更名为file1$mv file1 dir1/将文件file1从当前目录下移到dir1目录中。$mv dir2/*.txt ./将目录dir2中的所有.txt文件移到当前目录下。$mv dir3 dir4/将dir3目录子树整体移动到dir4目录下,dir4是已有目录。$mv dir1 newdir/将目录dir1更名为newdir,newdir是新名字。cp命令功能:复制文件或目录语法:cp 选项 源目录或文件目标目录或文件常用的选项及其含义:-i:交互式复制,若目标文件已存在,则给出提示要求覆盖确认。-f:非交互式复制,若目标文件已存在,则直接覆盖目标文件而不作提示。-p:不仅复制源文件的内容,还复制其各种属性,如最后修改时间、存取权限、用户ID、组ID等。-r:递归复制目录子树,包括该目录自身。 例:$cp f1 dir1/f11/将当前目录中的文件f1复制到子目录dir1下,并取名为f11$cp /usr/share/magic ./将文件/usr/share/magic复制到当前目录下。$cp /usr/share/*.txt dir1/将目录/usr/share下的所有.txt文件复制到dir1目录中。$cp -r music/ Mydocument/将music子树递归复制到子目录Mydocument下。 rm命令功能:删除文件或目录语法:rm 选项 文件名或目录名常用的选项及其含义:-i:交互式删除,删除时给出提示要求确认。-f:非交互式删除,不给出提示而直接删除。-r:递归删除目录子树。被删除的目录必须是空目录!cat命令(必考)看课件图!这是一条具有多种功能的十分灵活的命令。功能1:显示一个或多个文本文件的内容。这是该命令的基本功能(但不能分屏显示,当文件内容多于一屏时,只能看到其末尾部分)。语法1:cat -n 文件1 文件2 使用选项-n将对文本中所有的输出行进行数字编号,这还可以使用nl命令来完成。甚至可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多模态生物识别白皮书2026
- 第七章 了解地区 单元练习 湘教版地理七年级下册
- 县医院精神文明活动总结
- 果树种质资源普查技术规程
- 音乐专业技能教学标准
- 农业技术推广对农户农业收入多样化的影响研究意义
- 包装倾翻试验台挡板高度调节作业指导书
- 家庭铜火锅(景泰蓝)保养指南
- 《Linux系统管理与服务配置》教学大纲
- 2026年中国研学旅游市场景气调查报告
- (正式版)T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 悬灸技术课件
- 在线网课知道智慧《无人驾驶车辆(北理)》单元测试考核答案
- 小学三年级下册数学每日计算练习
- 求欧普照明员工手册
- 小学语文文言文教学策略研究
- 中医肺病科普养生知识讲座
- ECMO基础讲课课件精
- JB-T 4088.1-2022 日用管状电热元件 第1部分:通用要求
- 钢管材质证明书
- 2022年张掖市甘州区招聘中小学幼儿园教师笔试试题及答案
评论
0/150
提交评论