• 1. 怎样学习!态度决定一切 永远不要说放弃 学会用自己的方式记忆
  • 2. 课程介绍本课程的整体设计思路为从系统的安装入手,按照系统管理、常用命令、局域网服务、广域网服务、系统间集成的顺序进行编写。 由于UNIX—Linux的发展历史比较长,而且开发的厂家和发行版本也比较多,所以,就先从UNIX—Linux的发展历史开始,大家必须对Linux有一个整体的认识 Linux系统的安装是一个比较重要的环节。Linux系统发展到今天,虽然已经很容易安装成功了。但是,还需要大家掌握安装和升级Linux的各种方法和注意事项,这是一个系统管理员所必须知道和熟练掌握的。
  • 3. 课程重点系统管理是网络管理员日常工作的重中之重。而整个Linux系统的配置绝大多数都是通过命令和对配置文件的直接编辑来完成的,所以,熟悉系统管理的常用命令和编辑器的使用对于后续章节的学习意义重大。
  • 4. 课程重难点建立Intranet/Internet服务是本门课程的核心所在,也是Linux系统真正的功能所在。要用大量的授课时间和实验时间来强化知识的掌握。 鉴于现有网络的状况,各种操作系统间的集成应用和网络安全,也是教学中必不可少的部分。但只限于了解,不做过于深入的教学。 操作系统的教学应该是以应用为主,理论为辅。所以,我在授课的过程中,会注意实际应用中的一些注意事项,并多加演示实验,让大家的知识不只停留在书本基础上,做到学有所用。
  • 5. LINUX规划
  • 6. UNIX发展的历史1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。 1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。
  • 7. UNIX发展的历史UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。 第一个UNIX版本是免费给许多知名大学的计算机系使用的。 1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。 1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
  • 8. UNIX发展的历史1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。 同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。 它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release 4.2被许多厂商所采用,例如SUN Microsystem。
  • 9. UNIX发展的历史UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。 到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。
  • 10. UNIX发展的历史AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。 1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release 4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。
  • 11. UNIX发展的历史1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。
  • 12. UNIX发展的历史通过不断发展,UNIX保留下来一个大的、能有效运行在工作站和小型机上的操作系统。UNIX的一些版本主要被设计为工作站环境,Sun Solaris主要是为SUN工作站开发的,AIX是为IBM的工作站开发的。然而,由于PC变得更有效,因此开发UNIX的PC版本就开始了。Xenix和System V/386是为IBM及其兼容机而设计的UNIX商业版本。AUX是运行在Macintosh下的UNIX版本。UNIX固有的可移植性使它几乎能在任何类型的计算机中被找到:工作站、小型机或者大型机。
  • 13. Linux发展历史 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds(本尼迪克特)在一个Usenet新闻(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。大家也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的的源代码。
  • 14. Linux发展历史Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。; Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的
  • 15. Linux发展历史现在,Linux已经是一个完善的UNIX式操作系统了,为世人所关注。近些时候,Linux已经有了各种介质(包括软盘、CDROM、DVD)的许许多多的版本。它被人们视为是吹进操作系统领域的一股新鲜空气。它已经不再是Torvalds最初设想的仅仅是被一部分业余爱好者使用的工具了。不仅仅向其它所谓的主流操作系统下了挑战书,而且事实上已经开始向他们进行挑战了。
  • 16. Linux发展历史Linux实际上已经可以运行所有著名的自由软件,例如GNU这类组织开发的软件等。它的效果已经超过很多昂贵的商业操作系统。虽然Intel的x86主机还是主要的目标平台,但是Linux已经开始吸纳很多其它硬件平台了,包括Sparc、Alpha和Macintosh等。总之,Linux决不是那种希望破解内核源代码的程序员们梦想的主流产品,使他们能够在家里使用一种低价的、公开源代码的操作系统进行破解活动。现在情况完全不是这样了,Linux已经是家喻户晓了。 实际上大多数大型组织已经都使用异构服务器环境,所以把Linux纳入到这个环境里去并非难事,因为它具有低价、公开源代码的特性。
  • 17. UNIX发展的历史1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。 1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。
  • 18. UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。 第一个UNIX版本是免费给许多知名大学的计算机系使用的。 1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。 1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
  • 19. 1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。 同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。 它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release 4.2被许多厂商所采用,例如SUN Microsystem。
  • 20. UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。 到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。
  • 21. AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。 1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release 4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。
  • 22. 1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。
  • 23. 通过不断发展,UNIX保留下来一个大的、能有效运行在工作站和小型机上的操作系统。UNIX的一些版本主要被设计为工作站环境,Sun Solaris主要是为SUN工作站开发的,AIX是为IBM的工作站开发的。然而,由于PC变得更有效,因此开发UNIX的PC版本就开始了。Xenix和System V/386是为IBM及其兼容机而设计的UNIX商业版本。AUX是运行在Macintosh下的UNIX版本。UNIX固有的可移植性使它几乎能在任何类型的计算机中被找到:工作站、小型机或者大型机。
  • 24. Linux发展历史 1991年10月5日,赫 尔 辛 基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这个版本的的源代码。
  • 25. Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。; Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的
  • 26. 一、什么是Linux 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
  • 27. 什么是Linux Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。
  • 28. 什么是Linux Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
  • 29. 什么是Linux Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
  • 30. 为什么使用Linux由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。 操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。一个操作系统是一个复杂的计算机程序集,它提供操作过程的协议或行为准则。没有操作系统,计算机就无法工作,就不能解释和执行用户输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使用。如果用户购买了一个操作系统,他就必须满足供应商所要求的一切条件。因为操作系统是系统程序,用户不能擅自修改或试验操作系统的内核。这对于广大计算机爱好者来说无疑是一种束缚。
  • 31. 为什么使用Linux要想发挥计算机的作用,仅有操作系统还不够,用户还必须要有各种应用程序的支持。应用程序是用于处理某些工作(如字处理)的软件包,通常它也只能有偿使用。每个应用程序的软件包都为特定的操作系统和机器编写。使用者无权修改这些应用程序。使用Linux,可以将操作系统变成一种操作环境。 由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们。这对用户学习、了解Unix操作系统的内核非常有益。 学习和使用Linux,能为用户节省一笔可观的资金。Linux是目前唯一可免费获得的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们要使用它的主要原因。就PC机平台而言,Linux提供了比其他任何操作系统都要强大的功能,Linux还可以使用户远离各种商品化软件提供者促销广告的诱惑,再也不用承受每过一段时间就升级之苦,因此,可以节省大量用于购买或升级应用程序的资金。
  • 32. 为什么使用LinuxLinux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS/2等商品化操作系统来说是无法做到的。 Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。尽管Linux是由计算机爱好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unix操作系统提供了廉价的机会。现在有许多CD-ROM供应商和软件公司(如RedHat和RedHatLinux)支持Linux操作系统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linux就能够完成一些工作任务。
  • 33. 三、Linux纵览Linux一般有四个主要部分:内核、Shell、文件结构和实用工具。 1. Linux内核  内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受命令并把命令送给内核去执行。
  • 34. 2. Linux Shell    Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。 实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。   Linux提供了像Microsoft Windows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。 每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。 同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell:    Bourne Shell:是贝尔实验室开发的。 BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。 Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。    C Shell:是SUN公司Shell的BSD版本。
  • 35. 3. Linux文件结构 文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限,设置文件的共享程度。 使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构,图1.1表示了这种树形等级结构。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。 文件结构的相互关联性使共享数据变得容易,几个用户可以访问同一个文件。Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。图1.1中那些根目录下的目录就是系统目录。 内核,Shell和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。此外,Linux操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。
  • 36. (本页无文本内容)
  • 37. 4. Linux实用工具(一) 标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。 实用工具可分三类: 编辑器:用于编辑文件。 过滤器:用于接收数据并过滤数据。 交互程序:允许用户发送信息或接收来自其他用户的信息。    Linux的编辑器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行编辑器,Vi和Emacs是全屏幕编辑器。
  • 38. 4. Linux实用工具(二)Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检查和处理数据,然后输出结果。从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文件。另外一些过滤器是按模式寻找文件并以这种模式输出部分数据。还有一些执行字处理操作,检测一个文件中的格式,输出一个格式化的文件。 过滤器的输入可以是一个文件,也可以是用户从键盘键入的数据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编写自己的过滤器程序。 交互程序是用户与机器的信息接口。Linux是一个多用户系统,它必须和所有用户保持联系。信息可以由系统上的不同用户发送或接收。信息的发送有两种方式,一种方式是与其他用户一对一地链接进行对话,另一种是一个用户对多个用户同时链接进行通讯,即所谓广播式通讯。
  • 39. 四、Linux的发展(一) Linux是专门为个人计算机所设计的操作系统。它最早是由Linus Torvalds设计的。当时Linux是他的一项个人研究项目,其目的是为Minix用户设计一个比较有效的Unix PC版本。Linus Torvalds称它为Linux。Minix是由Andrew Tannebaum教授开发的,发布在Internet上,免费给全世界的学生使用。Minix具有较多Unix的特点,但与Unix不完全兼容,Linus打算为Minix用户设计一个较完整的Unix PC版本,于1991年发行了Linux 0.11版本,并将它发布在Internet上,免费供人们使用。 以后几年,其他的Linux爱好者根据自己的使用情况,综合现有的Unix标准和Unix系统中应用程序的特点,修改并增加了一些内容,使得Linux的功能更完善。 Linux设计了与所有主要的窗口管理器的接口,提供了大量Internet工具,如FTP,TELNET和SLIP等。
  • 40. 四、Linux的发展(二)Linux提供比较完整的程序开发工具,最常用的是C++编译器和调试器。 尽管Linux拥有了Unix的全部功能和特点,但它却是最小、最稳定和最快速的操作系统。在最小配置下,它可以运行在仅4MB的内存上。 Linux是在Internet开放环境中开发的,它由世界各地的程序员不断完善,而且免费供用户使用。尽管如此,它仍然遵循商业Unix版本的标准,因为前几十年里,Unix版本大量出现,电子电气工程协会(IEEE)开发了一个独立的Unix标准,这个新的ANSI Unix标准被称为计算机环境的可移植性操作系统界面(PSOIX)。这个标准限定了Unix系统如何进行操作,对系统调用也做了专门的论述。PSOIX限制所有Unix版本必须依赖大众标准,现有大部分Unix和流行版本都是遵循POSIX标准的,而Linux从一开始就遵循POSIX标准
  • 41. 五、Linux特性 Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性: 1 开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。 2 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。 3 多任务 多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。
  • 42. Linux特性(二) 4 良好的用户界面 Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。 系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。 Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
  • 43. Linux特性(三)5 设备独立性 设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。 Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。
  • 44. Linux特性(四)6 供了丰富的网络功能 完善的内置网络是Linux的一大特点。 Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。 支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。 文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。 远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效为多个系统服务,即使那些系统位于相距很远的地方。
  • 45. 7 可靠的系统安全 Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。 8 良好的可移植性 可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。 Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。Linux特性(五)
  • 46. 六、Linux与其他操作系统的区别 Linux可以与MS-DOS、OS/2、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。 目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC机用户普遍使用MS-DOS,因为这种操作系统对机器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用Windows、Windows NT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐渐为PC机的用户所接受。那么,Linux与其他操作系统的主要区别是什么呢?下面从两个方面加以论述。
  • 47. Linux与其他操作系统的区别(二)首先看一下Linux与MS-DOS之间的区别。 在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现x86处理器的功能,而Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。Linux可以直接访问计算机内的所有可用内存,提供完整的Unix接口。而MS-DOS只支持部分Unix的接口。 就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价格比较便宜,而且在PC机用户中有很大的占有率,任何其他PC机操作系统都很难达到MS-DOS的普及程度,因为其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从internet上或者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。 就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时运行多个应用程序。
  • 48. Linux与其他操作系统的区别(三)再看一下Linux与OS/2、Windows、Windows NT之间的区别。 从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows NT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。因为Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
  • 49. Linux与其他操作系统的区别(四)从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Linux的版本以及为其开发的应用软件。当我们访问Internet时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。有来自很多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方式推动其标准化,但却没有一个公司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是在封闭的环境下发展的。
  • 50. (本页无文本内容)
  • 51. Redhat linux的概述RedHatLinux是红帽公司最近发行的linux版本,已在日本和中国取得了巨大的成功,在美国也有一定的业绩。 RedHatLinux的优点 简单易用的图形安装程序; 友好的图形桌面界面KDE、GNOME等; 丰富的软件包,包括:系统管理工具、网络分析程序、服务程序包(如:Apache)等等; 提供了完整的源代码程序; 提供了预配置安装功能。 RedHatLinux的特色 所有系统组件都采用RPM软件包管理系统; Xfree86 3.3.3; 一套完整高效的应用程序,包括:
  • 52. Redhat linux的概述GIMP(Photoshop型程序) Xpaint(图形程序) yx (排版工具) WingZ(电子表格) Netscape(通讯程序) Emacs和Xemacs (编辑器) Xessite(电子表格) 多种游戏、屏幕保护程序、仿真程序和其他娱乐性程序; 完整的网络客户程序-除了如tenet、ftp、rsh等标准程序外,RedHatLinux还提供了如tkined、基于SNMP的图形网络管理器的程序。 大量的服务器软件包提供如下的服务: 基本的端口监视服务程序(tenet、ftp、rsh等) Web服务程序(Apache) DNS名字服务器(bind) E-mail RedHatLinux的一般用途 防火墙 路由器 工作站 Intranet或Internet服务器
  • 53. Redhat linux的概述RedHatLinux具有设置服务器、开发者和办公系统所需的一切功能。 1. 对于服务器 RedHatLinux是一套很完整的系统,它具有建立一个商业Internet站点所需的各种软件。您可以将RedHatLinux用作带有限客户的工作组服务器,也可以把它当作成熟的,能够同时接收数百个连接请求的Internet站点。 2. 对于开发者 RedHatLinux为开发者提供了常用的编辑器、编译器、调试器和编程工具。另外,RedHatLinux具有强健的应用程序开发环境,提供了各种开发应用程序的工具,具有对多种语言如:C、C++、Java、Per、Tc/tk、Python和Fortran 77的编译器/解释器以及集成开发环境、调试和其他开发工具。 3. 对于办公系统 RedHatLinux包含了办公室运转所需的一切。如:Netscape Navigator、WordPerfect 8、Wingz(电子表格)、Gimp(Photoshop类程序)和Xpaint(图形程序),一共有几百种程序。    
  • 54. LINUX规划
  • 55. LINUX 功能 文件和打印服务: 数据库服务:MYSQL ,ORACLE等。 网络服务:WWW ,FTP,EMAIL ,NNTP等。 中文处理:缺少全面汉化和内核汉化 应用程序:emacs,gmid字图处理不如word,photoshop强大。 安装,操作,配置易用性不如windows.
  • 56. Linux术语 软件按提供方式和是否盈利分为;商业软件,共享软件,自由软件 商业软件:开发出售,提供技术支持,用户只有使用权不得修改和扩散。 共享软件:开发者提供免费使用,升级,用户只有使用权不得修改和扩散。 自由软件:开发者使用所有源码,用户使用修改,并公开代码。 FSF (free software foundation) 自由软件基金会 GPL(general public license)通用公共许可证 kernel 内核 硬件------内核-------软件 版本:stable 稳定版 //源码不变仅修补BUG development 发展版 //修改源码加入新功能 R.X.Y R(版本) X(偶数为稳定版,奇数为发展版)G(修补bug次数) 6Distribution (发行套件) 系统工具+应用工具+网络工具+编译工具=distribution
  • 57. 开关机操作 #halt 关机 #shutdown (–h –r ) now #reboot 重起 #root 登陆 #rlogin 远程登录 #login 注销 #startx 进入图形界面
  • 58. LINUX文件目录 文件名 要求: A.长度:最大256个字符,与UNIX兼容建 议14个字符以下。 B.组成:通常由字母,数字,点号,下 划线,减号等。
  • 59.  文件类型及其代表字符 文件类型代表字符 普通文件 - 目录文件 d 链接文件 l 块设备文件 b 字符设备文件 c 管道文件 p
  • 60. 文件类型所对应的颜色文件类型颜色 一般文件--------------------白色 目录文件--------------------蓝色 符号链接文件-------------- 紫色 设备文件--------------------黄色 可执行文件-----------------青绿色 图片文件--------------------粉红色 压缩文件---------------------红色
  • 61. 路径名 路径名 A.绝对路径:以根目录开始。 B.相对路径:以当前目录开始。 C.”.”和”..” :”.”当前目录 ”..”上级目录。 [注]用户在对文件进行访问时,要给出文件所在的路 径。路径又分相对路径和绝对路径。绝对路径是指从“根”开始的路径,也称 为完全路径;相对路径是从用户工作目录开始的路径。 应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有 一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断 变化。用户要访问一个文件时,可以通过路径名来引用。并且可以根据要访问的文件 与用户工作目录的相对位置来引用它,而不需要列出这个文件的完整的路径名。
  • 62. 目录结构 root 超级用户目录 包括桌面管理等 home 用户目录 包括用户信息等 bin 执行目录 存放可执行文件 包括常用命令 sbin 执行目录 存放不提供给用户使用的命令 boot 引导目录 存放引导系统时使用的各种文件 etc 配置目录 系统配置时使用 dev 设备目录 通过它访问外设 mnt 安装目录 管理员设备临时安装点 opt 安装目录 管理员软件包放置点 lib 库目录 命令执行时使用 usr 共享目录 存放系统中所有用户的共享文件 var 数据目录 系统运行时要修改数据 tmp 临时目录 proc 虚拟目录 虚构文件系统内存产生不存硬盘 lost+fount 空目录
  • 63. 一般Console 1~6是 Terminal login ,Console 7是 X Window System 内定执行的console。 用户退出登陆:#exit 或#logout退出 考题:用户退出登陆的方式有几种? 关机的方式: 1)#shutdown -fh now 2)#init 0 3)#halt 考题:关机的方式有几种? 重启的方式: 1)#shutdown -fr now 2)#init 6 3)reboot 4) 按组合键
  • 64. 虚拟控制台在安装时可用功能键切换各终端机,查看各种安装信息: Console 1: Ctrl+Alt+F1 installation dialog Console 2: Ctrl+Alt+F2 shell prompt Console 3:Ctrl+Alt+F3 install log (messages from installation program) Console 4: Ctrl+Alt+F4 system-related messages (messages from the kernel ,etc.) Console 5: Ctrl+Alt+F5 other messages Console 7: Ctrl+Alt+F7 X graphical display
  • 65. Linux常用命令分析列出文件列表:ls -a –l  -s 、–S显示每个文件所使用的空间;按占用空间的大小排序 注:“.”表示当前目录 “..”表示上一级目录 “/”系统的根目录 “~”用户的专用目录 切换目录:cd(change directory) 创建目录:mkdir( make directory ) 删除目录:rmdir(remove directory) 复制文件:cp(copy) #cp -afp 〔源文件或目录〕〔目的文件或目录〕 参数:-a 复制所有的目录并包含子目录  -f 强制复制文件   -p 保留原文件的日期 -i / -v -r:覆盖文件前询问用户/显示命令执行过程/递归复制
  • 66. Linux常用命令分析删除文件或目录:rm(remove) #rm -irf [文件或目录〕   例如:#rm * “*”表示删除当前目录下的所有文件     #rm file 删除一个文件  参数:      -f:强迫删除文件      -i:互动模式,删除前再做一次确定      -r:陆续删除目录      -v:显示删除过程 显示画面暂停:more 空格翻页      可单独使用。如:#more data.txt 可以浏览文件:less      可单独使用。如:#less data.txt 除了可用空格翻页;还可用上下键卷动文件; Q退出
  • 67. Linux常用命令分析连接文件:cat(concatenate) 可以显示文件内容或是将一个文件合并成一个文件  例如:显示data.txt的内容。#cat data.txt    #cat data1.txt data2.txt >data.txt 将data1.txt和                   data2.txt合并成data.txt 移动或更改文件、目录名称:mv(move) #mv -if 〔源文件或目录〕 〔目的文件或目录〕 将文件及目录移动到另一个目录下或更改文件及目录的名称  例如:#mv a.txt .. 将a.txt文件移动到上层目录     #mv z1.txt z3.txt 将z1.txt改名为z3.txt 显示当前目录:pwd 查找程序和手册:whereis 可用来寻找源代码、二进制程序、使用手册等文件的位置  例如:#whereis 要查找的字符串
  • 68. Linux常用命令分析查找文件:find 指定搜索目录中文将所在的位置 显示文件类型:file  例如:#file * 显示当前目录所有的文件类型 搜索字符串:grep  搜索特定的字符串并显示出来,一般用来过滤先前的结果  例如:#grep text *.conf 搜索目前目录中的扩展名为.conf且包含“text”字符串
  • 69. Linux常用命令分析显示当前操作系统和机器的信息 #uname -a 显示所有信息 #uname -p 显示处理器类型 #uname -m 显示机器硬件信息 显示机器名 #hostname 更改用户口令 #passwd
  • 70. Linux常用命令分析查看日期 #date 查看某月 #cal 5 2004 查看系统上的用户 #who (信息来自文件 /var/run/utmp) 所有登陆信息保存在 /var/log/wtmp #id Uid=318(hawkeye) gid=300(users)
  • 71. Linux常用命令分析统计文件中的字节数,字数和行数 #wc -c 统计字节数 #wc -l 统计行数 #wc -w 统计字数 建立符号连接: # ln -s 源 目标 注:(重点)符号连接与硬连接有和区别 1):符号连接用命令 #ln -s 源 目标 硬连接 用命令 #ln 2):符号连接删除后,原文件还在,硬连接 把其中任一个 删除都会影响另一个 3):符号连接可跨文件系统,而硬连接不可跨文件系统
  • 72. Linux常用命令分析touch命令 #touch test_file 将文件test_file的日期改为当前日期,如文件不存在,则创建之。 #touch file1 new_file 将创建一个与file1日期一样的空文件 磁盘管理指令 #df (显示文件系统使用空间大小) 注意:文件系统和目录的区别
  • 73. Linux常用命令分析装载命令: # mount -a -t 设备名称 目录名称 -a mount 定义在/etc/fstab中所有的分区 -t 指定文件系统格式(ext2 ,msdos,vfat,iso9660) 常用文件系统格式 Linux : ext3 OS/2 : hpfs Dos : msdos CDROM:iso9660 Windows 9x :vfat FreeBSD:ufs Windows NT :ntfs SunOS :sysv
  • 74. Linux常用命令分析#mount -t iso9660 /dev/hdb /mnt/cdrom 挂接光盘 #mount -t vfat /dev/fd0 /mnt/floppy 挂接软盘 #umount /mnt/cdrom #umount /mnt/floppy /etc/fstab 文件刨析 Partition名称 mount point 文件系统格式 选项 dump fsck /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults 1 2 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 None /proc  proc defaults 0 0 default是mount指令的内定选项为 automount 并为 read/write
  • 75. 重导和管道重导(redirect)可将某命令的结果输出到文件中; 命令有“>” “>>”两种 “>” :可将结果输出到文件中,给文件原有的内容会被删除 “>>”:将结果附加到文件中,原有内容不会清除  例如:#ls –al > dir.txt    #cat data1.txt >> data2.txt 管道“|”(pipe)可将某命令的结果输出给另一个命令  例如:#ls | grep conf 搜索并显示ls命令结果中含有                  “conf”字符串的行
  • 76. 图形操作环境图形用户界面的理念,创始于Xerox公司的实验室,最早出现在20世纪70年代末期,第一个将该理念普及化的公司则是苹果公司。 苹果电脑(Apple Computer)的MacOS Linux的图形界面是 X Window
  • 77. X window 与 XFree86X window出现的年代早与MS Windows,由麻省理工学院与DEC(Digital Equipment Corporation)共同实行雅典娜(Athena)计划,开发了X Window。现在X协会(X Consortium)负责商业版本的开发与维护,免费的版本则由XFree86来管理 X window是Unix环境的标准图形界面,随着个人电脑的普及,Intel x86架构的计算机日益增多,为了把X Window移植到x86架构的平台上,因此成立了XFree86 Project Inc。“XFree86”也成为了注册商标。(86两个字由此而来)
  • 78. X Window的称呼对于X window的称呼有下列四种 1、X或X Window:自从X文件(X-Files)分全球之 后,连带XWindow似乎也边的很流行 2、X11:指X window的第11版 3、X11R6:也就是XFree86的起源,即X Window的 第11版/第6发行版 4、X windows system:这是正式的称呼 因为windows这个名词已被微软公司抢先注册,所以不能以 X window“s”称呼X Window
  • 79. 窗口环境简介 窗口环境简介X window提供所有Unix系统一个标准的图形环境,却没有界定该如何管理出现在在画面中的窗口. 窗口管理程序--桌面环境 负责管理所有出现在画面上的窗口,只要画面上看的见该程序的任 何图形,就归窗口管理程序负责. Red Hat linux提供了多套窗口管理程序 包括Sawfish,window,Maker,Enlightenment,TWM及FVWM等.而默 认的窗口管理程序为Sawfish X window与窗口管理程序一起建立了图形用户界面.
  • 80. 桌面环境  开发商为X window编写各类系统工具与公用程序.这些程序逐渐被一一收集,组合起来就是一种桌面环境. Linux上最常见到的桌面环境分别有以下2种: 1.K桌面环境 (K Desktop Environment,KDE) KDE有属于自己的窗口管理程序,文件管理器,网络工具程序,多媒体 应用程序等.外观上非常亮丽抢眼. 2.GNU网络对象模型环境(GNU Network Object Model Environment,GNOME) GNOME比较偏向于整和已有的Xwindow应用程序,本身并没有内置任 何窗口管理程序,而是采用搭配其他窗口管理程序的方式,让用户得以 在其中挑选最顺手的一种来使用.
  • 81. LINUX文本编辑 功能最强大的编辑器:vi 三种操作模式:命令模式(command mode)        插入模式(input mode)        底线模式(lost line mode) 1、执行与结束 在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入 所要编辑的文件或是开启一个新 文件(如果该文件不存在或缺少文件 名)进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代 表此 列目前是空的。
  • 82. 2、切换不同模式的按键进入VI默认的模式command mode, 从命 令模式下按“i”,”a“,“o”三个键就 可进入input mode; i: 插入,从目前光标所在之处插入   a:增加,目前光标所在下一个字开始输 入文字  o:插入新的一行 
  • 83. 切换不同模式的按键从input mode回到command mode按下ESC键 在command mode下输入“:”到 last line modeCommand modeInput modeLast line modea 、i、o ESC:输入错误命令
  • 84. Command mode的操作1、移动光标位置: h:将光标向左移动一格 l:将光标向右移动一格 j:将光标向下移动一格 k:将光标向上移动一格 o:将光标移到该行的最前面 $: 将光标移到该行的最前面 G:将光标移到最后一行的开头 w或W:将光标移到下一个字
  • 85. Command mode的操作卷动屏幕内容: ctrl+b:将光标向前卷动一页,相当于按page up键 Ctrl+f:将光标向文章后面移动一页,相当于按page down键 Ctrl+u:将光标向前移动半页 Ctrl+d:将光标向后移动半页 ctrl+e:屏幕向下卷动一行 Ctrl+y:屏幕向上卷动一行
  • 86. Command mode的操作5、其他按键 r:在command mode只要将光标停在要修改的位置,然后按r键,就可以修改一个字符 u:按此键可以取消前一次的操作,若再按一次就可回来。 U:还原 ZZ:连按2次Z键,可将当前正在编辑的文件保存并结束vi。 %:将光标移到其中一个括号,按此键来找到对应的括号。
  • 87. Command mode的操作2、复制文件 yy:可将光标当前所在位置的整行复制 yw:可复制光标所在位置到整个单字结束处的字符 P:可将复制的字粘贴在当前光标所在的位置.复制整行文字,粘贴到光标所在位的下一行
  • 88. Command mode的操作3、删除与修改文件的命令: x: 删除光标所在字符。 X:删除光标位置前面的一个字符. dd :删除光标所在的列。 ndd:若按3dd键,表示删除当前光标位置的1行与下    面两行 D:可删除一行中光标所在位置之后的所有字符 r :修改光标所在字元,r 後接著要修正的字符。 R: 进入取替换状态,新增文字会覆盖原先文字,直 到按 [ESC] 回到命令模式下为止。 s: 删除光标所在字元,并进入输入模式。 S: 删除光标所在的列,并进入输入模式。
  • 89. Command mode的操作新增 (append) a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A: 从光标所在列最後面的地方开始新增资料。 插入 (insert) i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I :从光标所在列的第一个非空白字元前面开始插入资料。 开始 (open) o :在光标所在列下新增一列并进入输入模式。 O: 在光标所在列上方新增一列并进入输入模式。
  • 90. Command mode的操作4、显示光标所在行数、移到指定行数 Ctrl+g或G:按此组合键,则会在最下方的last line处显示 光标所在位置的行数,以及文章的总行数。 nG:n为数字,若按下20G键,则可将光标移到第20行
  • 91. Last line mode的操作进入命令行:按ESC键 离开vi及保存文件 在command mode下按:键进入Last line mode :w filename 输入w filename ,将文章存入指定的文件名    filename : wq (保存离开) :q (不保存离开) :q! (强制离开) :e (创建一个新文件,输入e加上指定的文件名) :n (在VI中载入另一个文件,可输入n在加上指定的文件名) :set nu命令(在文件内容每一行的前面加上行号) :set nonu命令(将每一行的行号取消) 搜索字符串:搜索文章中的某一字符串时,可输入“/”后加字符串 替换字符串:例如:g/temp/s//tmp/g :g/temp/s//tmp/gc(将temp替换成tmp)
  • 92. GRUB启动引导器GRUB简介 安装GRUB Grub的操作界面 GRUB的配置文件grub.conf GRUB的安全设置 GRUB的配置使用技巧
  • 93. GRUB简介1、grub与启动引导器 启动引导器是计算机启动过程中运行的第一个真正的软件,通常计算机 启动时在通过BIOS自检后读取并运行硬盘的主引导扇中的启动引导器程 序,启动引导器再负责加载启动硬盘分区中的操作系统。 2、grub的功能 提供了真正的命令行交互界面,能够使用户以最大灵活性使用各种参数引导操作系统和收集系统信息。 支持LBA模式 GRUB能够访问ext2分区
  • 94. 安装GRUB安装GRUB有两个层次的含义: 1、安装GRUB软件包 2、安装GRUB到MBR #grub-install /dev/hda GRUB软件包的安装: 文件名:grub-0.93-4.i386.rpm #rpm –q grub //查询 #rpm –ivh /mnt/cdrom/RedHat/RPMS/grub-0.93-4.i386.rpm//安装
  • 95. GRUB的操作界面1、GRUB的启动菜单界面 作用:可以选择GRUB配置文件中预设的启动菜单项,从 而实现硬盘中多个操作系统的切换引导。此外还可以进 入菜单项编辑界面和GRUB命令行界面 GRUB启动菜单按键: 在启动菜单项间移动 Enter:启动当前的菜单项 e:编辑当前的启动菜单项 a:添加内核的启动参数 c:进入GRUB的命令行模式
  • 96. GRUB的操作界面2、GRUB的启动菜单项编辑界面 在此模式下可以对GRUB配置文件中已经存在的启动项做进 一步的调整. 例如:对现有行进行编辑、添加删除命令行。 GRUB启动菜单编辑界面按键: 选择菜单项中的行 b:启动当前的菜单项 e:编辑当前选中的行 c:进入GRUB的命令行方式 o:在当前行后面插入一行 O:在当前行前面插入一行 d:删除当前行 Esc:返回GRUB启动菜单界面,取消对当前启动菜单项所做的任何修改:
  • 97. GRUB的操作界面3、GRUB命令行界面 Guub命令行界面提供了方便友好的命令行交互方式,其 特点包括: 提供在线帮助命令“help”,并且可以获得每条命令的详细帮助 可使用左右方向键编辑行命令 可以使用上下方向键滚动历史命令 可使用“tab”键补全命令
  • 98. GRUB的配置文件—grub.conf默认的配置文件在/boot/grub/grub.conf 在GRUB成功安装到硬盘主引导扇区后,只要编辑该文件 就可实现对GRUB的配置.无需重写grub到MBR. GRUB配置文件中包括全局配置和菜单项配置两部分: 1、GRUB配置文件的全局命令 使用default命令设置GRUB的默认启动项 命令格式:default 菜单项序号 使用splashimage命令设置GRUB的启动界面 命令格式:splashimage 图象文件全路径名 //用于指定某一个文件作为                               启动菜单的背景图象 例:splashimage (hd0,0)/boot/grub/splash.xpm.gz 使用timeout命令设置菜单的启动延时 命令格式:#timeout 延时秒数
  • 99. GRUB的配置文件2GRUB的菜单项的配置命令 title 菜单项名称 例:#title windows 3 配置linux的启动菜单项 GRUB对于不同的操作系统有不同的引导方式,对linux操作系统 GRUB可以直接引导其内核并启动,典型的linux启动彩单配置为: Title RedHat Linux(2.4.20-8) root(dh0,0) kernel/boot/vmlinuz-2.4.20-8 ro root=LABEL=/ initrd/boot/initrd-2.4.20-8.img linux启动菜单项的配置命令: title:定义linux启动菜单项的名称 root:设置GRUB的根设备(root)为linux内核所在的分区 kernel:使用kernel命令后跟linux内核文件作为参数,加载linux的内核文件 initrd:使用initrd命令加载镜像文件
  • 100. GRUB的配置文件4 配置windows的启动菜单项 GRUB不能够直接加载windows系统的内核文件进行引导,而是通过调用 windows操作系统自身的启动引导器,通常为windows所在分区的引导扇区 典型的windows启动菜单项配置为: title win2kp map(hd0)(hd1) map(hd1)(hd0) root(hd1,0) makeactive chainloader+1
  • 101. GRUB的配置文件Windows启动菜单项配置命令: title:定义windows启动菜单项的名称 map:使用map命令交换磁盘或分区在BIOS中的标志 符,用于启动在第二个硬盘中的windows root:设置真实的windows分区为GRUB的根设备 Makeactive:设置根设备为活动分区(针对windows不 能从非活动分区启动) chainloader:使用chainloader命令调用windows分区的 启动引导器引导windows系统
  • 102. GRUB的安全设置主要功能: 可以针对启动菜单设置全局口令 可对某菜单项使用全局口令 可对某菜单项设置独立口令 对所有的口令都可以使用MD5进行加密
  • 103. GRUB的安全设置1设置全局口令琐定启动菜单 全局口令用于设置只允许用户选择启动菜单项进行启动,如进行其他 操作需输入设置的全局口令. Password命令 命令格式:#password 口令字  //为GRUB 的启动菜单和菜单项设置口令 设置全局口令(设置GRUB的全局口令为12345)  password12345 解锁GRUB启动菜单  在锁定的启动菜单中选者“p”  在 “password:”提示符后输入正确的口令,并按回车键确认  如口令输入正确,启动菜单解锁后恢复正常的状态
  • 104. 2使用全局口令锁定启动菜单项 锁定启动菜单项的步骤为: 设置GRUB全局口令 在菜单项配置中使用lock命令锁定菜单项 3设置独立的口令锁定启动菜单项 4使用MD5加密口令
  • 105. 使用技巧1配置GRUB重复上次启动项 在全局配置中使用default saved,用于指定默认启动项为上次保存值 在各菜单项配置命令的末尾使用savedefault命令,保存当前启动项为默认启动项 2制作GRUB启动软盘 #mke2fs /dev/fd0 #mount /mnt/floppy/ #grub-install –root-directory=/mnt/floppy/`(fd0)` #umount /mnt/floppy/ #reboot 3使用GRUB启动软盘恢复被覆盖的硬盘引导系统 grub>root grub>find /boot/grub/grub.conf grub>root(hd0,0) grub>setup(hd0,0)
  • 106. Linux的启动与服务RedHat Linux9启动过程概述 INIT进程 Linux中的独立服务程序 Xinetd与其管理的服务 服务在启动状态配置命令
  • 107. RedHat linux9启动过程概述主机启动并进行硬件自检后,读取硬盘MBR中的启动引导器程序并进行加载 启动引导器程序负责引导硬盘中的操作系统,直接加载linux内核程序 Linux的内核程序负责操作系统启动的前期工作,并进一步加载系统的INIT进程 INIT进程是linux系统中运行的第一个进程,该进程将根据其配置文件执行相应的启动程序,并进入指定的系统运行级别 在不同的运行级别中,根据系统的设置将启动相应的服务程序 在启动的过程中,将运行控制台程序提示并允许用户输入帐号和口令进行登录
  • 108. INIT进程INIT进程是由linux内核引导运行的,是系统中运行的第一个进程,PID为1。INIT进程运行后将按照其配置文件,引导运行系统所需的其他进程,INIT进程将做为这些进程的父进程 INIT的配置文件—inittab /etc/inittab inittab文件文件中每行的纪录有id、runlevels、action和process四个 字段,各字段用“:”分隔,他们共同确定了某进程在那些运行级别以 何种方式运行。 1、id用于在inittab文件中惟一标示一个配置记录,可以有1-4个字符组成。 2、runlevels用于指定该记录在哪些运行级别中运行,runlevels可以使单个运行级别也可以是运行级别列表
  • 109. INIT进程3、action字段描述记录将执行那种类型的动作,详细设置如下: (1)initdefault:用于标示系统启动后将进入哪个运行级别。 (2)sysinit类进程将在系统启动时在任何boot或bootwait类进程 之前运行 (3)wait类进程将在进入指定运行级别后运行一次,init进程将 等待其结束 (4)ctrlaltdel用于指定用户使用ctrl+alt+del组合键时系统所进 行的操作,如重启进入单用户等。 (5)powerfail和powerokwait用于指定当UPS断电信号时所运行 的命令和指定当供电恢复时所运行的命令 (6)respawn类进程在结束后重新启动运行(如控制台登录程 getty) 4、process字段所设置的是启动进程所执行的命令
  • 110. 系统的运行级别在unix系统中通常有0-6,共7个运行级别: 0 停机 1 单用户模式,用于root用户对系统进行维护,不允许 其他用户使用主机 2 多用户模式,在该模式下不能使用NFS 3 完全多用户模式,主机作为服务器时通常在该模式下 4 未分配使用 5 图形登录的多用户模式,用户在该模式可进行图形登 录界面 6 重新启动
  • 111. 系统的运行级别1、runlevel命令用于显示系统当前的和上一次的运行级别。 #runlevel 2、使用init命令转换运行级别,后面跟相应的运行级别作为参数,可以从当前的运行级别转换为其他运行级别 #init 0123456 注:init 0 和init 6从任何运行级别转换为“0、6”都是进行关系与重启操作
  • 112. 系统初始脚本在RedHat linux9中,inittab文件中指定使用rc.sysinit作为系统的初始化脚本 #grep sysinit /etc/inittab
  • 113. Linux中的独立服务程序Redhat linux服务程序有两种: 独立运行的服务程序 受xinetd管理的服务程序 1、服务器的启动脚本 Redhat linux9中的每个服务都会有相应的服务器启动脚本,所有的服务器启动脚本都放在目录/etc/rc.d/init.d/中,脚本名称与服务器名称相对应。 #ls /etc/rc.d/init.d 2、各运行级别的脚本目录 系统的各运行级别有独立的脚本目录,目录名称格式为rcN.d,其中N为0-6的数字,对应各自的运行级别。 #ll /etc/rc.d/
  • 114. Linux中的独立服务程序3、服务程序的启动与停止 各运行级别目录中的脚本 #ls /etc/rc.d/rc.3.d/ 用于启动服务的脚本 用于启动服务的脚本名格式为“Snn服务” 用于停止服务的脚本 rc0.d中的脚本 rc6.d中的脚本 使用服务脚本 使用service命令
  • 115. Xinetd与其管理的服务Xinetd做为inetd的后续版本,负责管理系统中不频繁使用的服务, 这些服务程序在有请求时才由xinetd服务负责启动运行,一旦完成服 务请求服务程序结束运行 Xinetd的配置文件 Xinetd的配置文件为/etc/xinetd.conf Xinetd的启动配置目录 Xinetd的启动配置目录为/etc/xinetd.d/,在该目录中xinetd管理的每个服务都有独立的配置文件,配置文件的名称与服务名称相同
  • 116. 服务的启动状态和配置命令在对linux主机的管理中会经常需要设置某服务在某运行级别中自动启动或不启动 ntsysv ntsysv程序中可以设置所有服务程序的启动选项,包括受xinetd服务管理的服务 chkconfig 查看服务启动状态#chkconfig –list 服务名称 设置独立服务的启动状态#chkcofig –level 运行级别列表 服务名称 on|off|reset //指定可以设置指定服务在指定与运行级别中的启动状态 设置非独立服务的启动状态#chkonfig 服务器 on|off|reset 重新启动服务
  • 117. 管理员账号1、设置root账号的密码 #passwd 2、变换身份为管理员 #su - 3、只允许root登录#touch /etc/nologin 4、单人模式 编辑/etc/inittab 或single 忘记root密码 在单人模式#passwd -droot
  • 118. 创建用户账号1、添加用户 #useradd 用户名 #passwd 用户名 2、增加用户对环境的修改 (1). # vi /etc/passwd 增加一条 用户名:密码:UID:GID:用户全名:用户HOME目录:用户的SHELL 例:zhy : : 500 : 500 : zhy user:/home/zhy : /bin/bash (2). 在/HOME/下增加一个以用户名命名的目录。 (3).#vi /etc/group 增加一条以用户名命名的组。
  • 119. 两个重要文件:passwd与group 在linux的安全机制里,/etc/passwd与/etc/group这两个文件占着非常重要的地位。它们控制着linux的用户和组一些重要设置。 ◆/etc/passwd文件说明 在passwd的文件里,每一行被冒号(":")分成7个部分,分别是: [用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
  • 120. 两个重要文件:passwd与group ⒈[用户名]是passwd文件里各记录行唯一的有"唯一性"要求的域。也就是说每一行的第一个区域的内容都不能相同,其它区域就无所谓了。 ⒉[密码] 现在由于使用了shadow口令,在密码区域只有一个x字符。  ⒊[UID]系统使用UID来判别用户身份 ⒋[GID]用户默认的组ID,这个ID可以在文件 /etc/group里查到对应 的组名。 ⒌[身份描述]:就是用户的身份说明,默认的是无任何说明,可人工 添加。 ⒍[主目录]:用户的主目录,可以使用前面介绍的命令修改。 ⒎[登录shell]:用户登录时系统提供的shell,请参考前面的有关内容。 <注意>:[UID]和[GID]小于500的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是UID和GID大于500的。
  • 121. 两个重要文件:passwd与group /etc/group文件说明 它总共分四个部分: [组名]:[密码域]:[GID]:[组员列表]
  • 122. 创建用户账号Shadow文件内容格式 每个账号在shadow文件中都有9个字段,分别用8个冒号(:)隔开 字段说明: 用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的 口令:此字段存放加密的口令 最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数 最小时间间隔:两次修改口令之间的最小天数 最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令 警告时间:从系统开始警告到口令正式失效的天数 不活动时间:口令过期多少天后,该账号被禁用 失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算) 标志:未使用
  • 123. 创建用户账号3、删除用户: #userdel 用户名 4、查封用户: #vi /etc/passwd 用分号注释掉用户记录。 在前面加上#号
  • 124. 创建用户账号6、建立用户组 #groupadd 组名 7、删除用户组 # groupdel 组名 8、 将用户加入到组和从组中删除 # gpasswd –a 用户名 组名 //添加用户 # gpasswd –d 用户名 组名 //删除用户 9、查看用户属于某组 #groups 用户名 10、新建用户加入某组 # useradd –g 某组名 用户
  • 125. 创建用户账号更改用户主目录: useradd的参数-d,命令如下: #useradd -d 主目录 用户 #useradd -d /home/goal floatboat 添加用户到有的组 : #useradd -g 用户组 用户 #useradd -g webusers floatboat 注:加参数-G可将用户加入多个组
  • 126. 磁盘空间管理概述在Linux系统中,可以通过quota的设置来 限制用户和用户组的硬盘空间配额。而磁 盘配额技术在Linux操作系统的应用中是十 分广泛的。 例如:各个网站、ICP等为用户设置信箱大 小、磁盘使用空间、虚拟主机等都用到了磁 盘配额技术。
  • 127. 磁盘空间管理在跟分区做配额: 首先,修改/etc/fstab文件: LABEL=/     /      ext3    defaults      1 1 改为: LABEL=/     /      ext3    defaults,usrquota      1 1 或者改为: LABEL=/     /      ext3    defaults,grpquota      1 1 usrquota是基于用户的磁盘配额,grpquota是基于组的磁盘配额,怎么改就看你需要了。 之后你或者重新启动一下,或者remount一下(mount -o remount / )。
  • 128. 磁盘空间管理第二,在 / 中建立aquota.user或aquota.grup 建立在你要实现配额的顶级目录 所谓定级目录,就是比如你要在 / 上实现配额,就要在 / 下建立aquota.user或者aquota.grup;如果你要在/home上实现配额(当然你的/home应该是一个独立的磁盘分区),就在/home下建立这两个文件中的一个。 用touch命令建立,touch aquota.user或aquota.srup。但这时建立好的文件是空的,不符和系统的需要。所以执行下一步。
  • 129. 磁盘空间管理第三,用quotacheck -mc /  将这两个文件(aquota.user或aquota.grup)格式化。 注意一下,除非是/分区,一般不用加-m参数,比如你要在/home上实现配额(当然你的/home应该是一个独立的磁盘分区)就:quotacheck -c /home  就可以了。 -m的意思是强迫在“读、写”模式下检查硬盘的配额。
  • 130. 磁盘空间管理执行“quotacheck -avug”命令 quotacheck这个命令的功能就是对“已经使用过的磁盘空间”做扫描,分析已使用磁盘上的每一个目录和文件属于哪一个用户和组,然后分别在根目录/(root)产生“userquota”和“grpquota”这两种记录文件。其中命令中参数组合“-avug”中各个参数的含义如下所示: -a参数:表示扫描全部的磁盘 -v参数:表示在扫描(scan)磁盘时,显示扫描过程的信息 -u参数:表示扫描记录磁盘上各个用户(User)的使用的文件和目录 -g参数:表示扫描记录磁盘上各个用户组(Group)的使用的文件和目录
  • 131. 磁盘空间管理第四,quotaon /        启动磁盘配额。 第五,edquota 用户名/组名       设置用户/组的配额 例如:edquota user_name       edquota -g group_name (对于用户组)  执行后会打开一个vi编辑窗口。可以设置磁盘空间和节点 数目的配额。 其中soft只是起到警告的作用,并不会真正的限制用户/组。 hard就会强制限制用户/组的磁盘空间和节点数目了。
  • 132. 磁盘空间管理为用户或用户组设置磁盘配额限制。假设在你的系统上有一名为bob 的用户,现在想给他10MB的硬盘配额限制,他所拥有的最大文件数不得超过100个。执行edquota -u dquo,系统将进入编辑环境(具体编辑环境视editor变量设置而定),将如下三行:   Quotas for user bob:   /dev/hda2: blocks in use: 14, limits (soft=0, hard=0)   inodes in use: 12, limits (soft=0, hard=0)   改为:   Quotas for user bob:   /dev/hda2: blocks in use: 14, limits (soft=0, hard=10240)   inodes in use: 12, limits (soft=0, hard=100)   其中:   blocks in use:用户已使用块的大小,单位是kB。   inodes in use:用户现有文件的大小。   这两项都是系统自动给出,不必改动。
  • 133. 软限制(soft limits) 通常设置软限制为一接近硬限制的值,超越此限制时,系统将警告用户将到达最大磁盘配额限制。软限制为0 时没有软限制。结合宽限期使用时,只要用户超越了软限制,一过宽限期,任何对磁盘空间的额外需求将被立即拒绝。 硬限制(hard limits) 磁盘配额的绝对限制,设置了quota的用户不能超越此限制。 宽限期(Grace Period) 用户超越了软限制而没有到达硬限制时的一段放宽期,在这段时间内,用户可以在硬限制范围内自由地使用磁盘空间,超过这段时间,所有对磁盘空间的额外需求将被拒绝,即使用户还在硬限制之内。宽限期的单位可以是秒、分、时、天。执行edquota -t命令设置宽限期。执行该命令后,将系统提示中的两个0 days 改成你认为合适的值即可。
  • 134. 磁盘空间管理第六,设定soft quota和hard quota之间的时间: edquota -t 出现一个 vi 窗口: Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/hda7 7days 7days 按照自己的需要修改吧。重新启动就可以了。磁盘限额就生效了。 第七,如果要成批的复制相同的磁盘配额给不通用户: edquota -p user user1 user2 user3 edquota -g -p group group1 group2 group3 repquota –ag -au 查看所有组及用户的磁盘限制 第八,取消磁盘限额: quotaoff /
  • 135. 磁盘空间管理命令 df命令 功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 语法:df [选项] 说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。   该命令各个选项的含义如下:   -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件 系统。   -k 以k字节为单位显示。   -i 显示i节点信息,而不是磁盘块。   -t 显示各指定类型的文件系统的磁盘空间使用情况。   -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。   -T 显示文件系统类型。   例1:列出各文件系统的磁盘空间使用情况。   $ df
  • 136. 磁盘空间管理命令df命令的输出清单: 第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区)第2列给出分区包含的数据块(1024字节)的数目; 第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。
  • 137. 磁盘空间管理命令du命令 du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。 功能:统计目录(或文件)所占磁盘空间的大小。 语法:du [选项] [Names…] 说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数 据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。 该命令的各个选项含义如下: -s:对每个Names参数只给出占用的数据块总数。 -a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -b:以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。 -k:以1024字节为单位列出磁盘空间使用情况。 -c:最后再加上一个总计(系统缺省设置)。 -l:计算所有的文件大小,对硬链接文件,则计算多次。 X:跳过在不同文件系统上的目录不予统计。
  • 138. 磁盘空间管理命令输出清单: 第一列是以块为单位计的磁盘空间容量, 第二列列出目录中使用这些空间的目录名称。 注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:
  • 139. 磁 盘 操 作 dd命令 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过 程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。   例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时 存储区。把源盘插入驱动器中,输入下述命令: $ dd if =/dev/fd0 of = /tmp/tmpfile
  • 140. 语法:dd [选项]   if =输入文件(或设备名称)。   of =输出文件(或设备名称)。   ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。   skip = blocks 跳过读入缓冲区开头的ibs*blocks块。   obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。   bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。   cbs = byte 一次转换bytes字节。   count=blocks 只拷贝输入的blocks块。   conv = ASCII 把EBCDIC码转换为ASCIl码。   conv = ebcdic 把ASCIl码转换为EBCDIC码。   conv = ibm 把ASCIl码转换为alternate EBCDIC码。   conv = block 把变动位转换成固定字符。   conv = ublock 把固定位转换成变动位。   conv = ucase 把字母由小写转换为大写。   conv = lcase 把字母由大写转换为小写。   conv = notrunc 不截短输出文件。   conv = swab 交换每一对输入字节。   conv = noerror 出错时不停止处理。   conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。
  • 141. 在Linux中安装应用软件 Linux这一新兴操作系统,由于系统核心源代码完全公开的缘故,存在着许多基于GPL协议之下的分发版本。在一片反行业垄断的呼声中,这只小企鹅近年来的发展速度实在令人振奋。   其中较为国人熟知的RedHat Linux中,就已经集成了网络、多媒体、游戏等多方面的相关软件。尽管系统本身提供了甚为丰富的应用软件,很多时候,我们还是需要自己动手安装软件。因此,掌握一些在Linux系统上安装应用软件的基本知识,就显得非常重要了。   从网站或者是光盘上找到的Linux软件包,常见的格式包括有rpm、tar、gz、tgz、bz、bz2等等。
  • 142. RPM文件的安装   RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
  • 143. rpm包管理1、rpm包的名称格式 2、查询rpm包 (1)查询系统中安装的所有rpm包 #rpm –qa (2)查询软件包是否安装  #rpm –q 软件包名称 (3)查询软件包信息   #rpm –qi 软件包名称 (4)查询软件包中的文件 #rpm –ql 软件包名称 (5)查询系统中文件所属的软件包#rpm –qf 文件全路径名 (6)查询rpm包文件中的信息#rpm –qp rpm包文件全路径
  • 144. rpm包管理3、安装rpm包 #rpm –ivh rpm包全路径文件名 4、删除rpm包 #rpm –e rpm包名称 5、升级rpm包 #rpm –U rpm软件包全路径名
  • 145. tar、tar.gz、tar.Z、tgz、bz2软件包的安装  除了rpm文件之外,我们还会经常遇到以tar、tar.gz等格式发布的Linux软件。这几类软件包的实质都是将一堆文件进行打包之后,再经过压缩处理(tar文件未经压缩)而成(压缩类型的丰富程度类似于Windows下的ZIP、RAR、ARJ等)。因此,要安装这几类格式的软件包时,都需要经过相应的解压缩及解包的步骤。
  • 146. tar命令    tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。    语法:tar [主选项+辅选项] 文件或者目录    使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 
  • 147. 主选项:  c: 创建新的档案文件。如果大家想备份一个目录或是一些文件,       就要选择这个选项。  r :把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。  t :列出档案文件的内容,查看已经备份了哪些文件。  u :更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。  x :从档案文件中释放文件。    
  • 148.   辅助选项:   b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。  f 使用档案文件或设备,这个选项通常是必选的。  k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。  m 在还原文件时,把所有文件的修改时间设定为现在。  M 创建多卷的档案文件,以便在几个磁盘中存放。  v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。  w 每一步都要求确认。  z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 
  • 149. 案例例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。    $ tar cvf usr.tar /home  例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。    $ tar czvf usr.tar.gz /home  例3:把usr.tar.gz这个备份文件还原并解压缩。    $ tar xzvf usr.tar.gz  例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。    $ tar tvf usr.tar | more    要将文件备份到一个特定的设备,只需把设备名作为备份文件名。  例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中   所有的文件都拷贝到备份文件中。    $ tar cf /dev/fd0 /home 
  • 150.  gzip命令   减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。   语法:gzip [选项] 压缩(解压缩)的文件名 
  • 151.  各选项的含义:  -c 将输出写到标准输出上,并保留原有文件。  -d 将压缩文件解压。  -l 对每个压缩文件,显示下列字段:   (1)压缩文件的大小   (2)未压缩文件的大小   (3)压缩比   未压缩文件的名字  -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。  -t 测试,检查压缩文件是否完整。  -v 对每一个压缩和解压的文件,显示文件名和压缩比。  -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。     假设一个目录/home下有文件mm.txt、sort.txt、xx.com。 
  • 152. 案例例1:把/home目录下的每个文件压缩成.gz文件。    $ cd /home    $ gzip *    $ ls    m.txt.gz sort.txt.gz xx.com.gz  例2:把例1中每个压缩的文件解压,并列出详细的信息。    $ gzip -dv *    mm.txt.gz 43.1%-----replaced with mm.txt    sort.txt.gz 43.1%-----replaced with sort.txt    xx.com.gz 43.1%-----replaced with xx.com    $ ls    mm.txt sort.txt xx.com 
  • 153. 案例例3:详细显示例1中每个压缩的文件的信息,并不解压。    $ gzip -l *    compressed uncompr. ratio uncompressed_name    277 445 43.1% mm.txt    278 445 43.1% sort.txt    277 445 43.1% xx.com    $ ls    mm.txt.gz sort.txt.gz xx.com.gz  例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz    $ gzip usr.tar    $ ls    usr.tar.gz 
  • 154. unzip命令   用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。  语法:unzip [选项] 压缩文件名.zip 
  • 155. 各选项的含义分别为:  -x 文件列表 解压缩文件,但不包括指定的file文件。  -v 查看压缩文件目录,但不解压。  -t 测试文件有无损坏,但不解压。  -d 目录 把压缩文件解到指定目录下。  -z 只显示压缩文件的注解。  -n 不覆盖已经存在的文件。  -o 覆盖已存在的文件且不要求用户确认。  -j 不重建文档的目录结构,把所有文件解压到 同一目录下。 
  • 156. 案例例1:将压缩文件text.zip在当前目录下解压缩。    $ unzip text.zip  例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。    $ unzip -n text.zip -d /tmp  例3:查看压缩文件目录,但不解压。    $ unzip -v text.zip    zgrep命令    这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令
  • 157. 权限的意义执行ls –l或ls –a命令时所显现的结果,最前面的2—10个字符用来标示权限。第一个字符一般用于区别文件和目录 d:表示这是一个目录。 -:表这是一个普通的文件 L:表示这是一个符号连接的文件,实际上它指向另一个文件 b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件 S、p:这些文件关系到系统的数据结构和管道
  • 158. 文件目录的权限 linux下,每一个文件、每一个目录都有一个属主,并针对用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。 例如,我(假定是webusers组的floatboat帐户的拥有者)使用如下命令建立一个新的文件 #touch mytestfile 然后我们使用 #ls -l mytestfile 这一命令来查看这个文件的权限状态(关于ls命令,以前讲过),可以得到如下的屏幕输出显示: -rw-rw-r-- 1 floatboat webusers 0 Feb 6 21:37 mytestfile 输出由空格分为9个部分,我们比较关心第一、三、四个字段,分别表示文件权限属性、文件所有者帐户、文件所属组。
  • 159. 使用chown命令修改文件的主人 当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如 chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。 chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”floatboat了: #chown floatboat /home/floatboat/thefileisrootcreate.txt (假定该文件是由root创建的) 修改一个目录的所有者也是类似的: #chown floatboat /home/newboat 当然,如果这个目录还有子目录及文件需要同时送给floatboat,chown也是支持-R参数的: #chown -R floatboat /home/newboat 如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的: #chown -R floatboat.ftpusers /home/newboat
  • 160. 修改文件的组属性修改文件的组属性 文件所属组你倒是可以改变,前提是: 1、你的超级用户。 2、你同时属于两个或两个以上的组。 两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd: #chgrp httpd *.html 和chown命令一样,chgrp也可以使用-R参数对一个目录内的所有文件和子目录进行递归的修改组属性。 <提示>:你可以使用不带参数的groups命令查看自己属于哪个组。 文件权限的设定是我们这一小节讨论的核心,我们主要介绍chmod命令的两种用法
  • 161. 使用访问字符串设置文件目录权限 正如前面所说的,每一个文件、目录都针对用户自己、用户所在组、其它所有帐号(组)分别有读、写、执行三种权限及其组合。当一个普通用户新建一个文件的时候,它默认的访问权限显示就如我们刚才所举例子的第一个字段所示。总共十位字符“-rw-rw-r--”,第一位是目录区分标志,如果是d的话,表示这是一个目录。第二到四位分别表示文件所有者的读(r:read)、写(w:write)、执行(x:execute)属性,第五到七位是文件所属组的读、写、执行权限,第八到第十位则是其它用户的读、写、执行权限。如果对应的位是相应的字母,就是有这相应权限,否则为“-”,表示没有获得这个许可。象刚才例子中的文件就是自己可读写,本组可读写,其它用户可读,所有的用户(包括自己)都不能执行它。 我们的用u、g、o分别来指代用户(user)、组(group)、其它帐户(other),就可以方便的设置文件和目录的权限了。当然,我们也可以用a来表示所有的这三项。 例如,我们要对所有perl的脚本文件设定权限,对所有用户都可以读和执行,文件所有者还允许写许可,那么我们可以使用如下命令: #chmod a+rx,u+w *.pl 注意:如果要使用多个访问字符串,它们之间要用逗号隔开,各个许可字符串之间不允许有空格。
  • 162. 使用访问字符串设置文件目录权限正如上例所示。 如果要修改目录中所有文件和子目录的权限属性,可以使用chmod提供的-R参数来递归修改。例如,下列命令将/www/site1目录及其下面的子目录的权限属性设定为所有者和组可读、写、执行,其它用户不可访问: #chmod -R a+rwx,o-rwd /www/site1 注意,不要轻易使用-R选项,这可能会带来安全隐患。 使用字符串方便了理解,单输入那么多字母还是有点累,如果你对8进制有些概念的话,可以使用下面介绍的方法来做权限设置。
  • 163. 用数字表示权限R:对应数值为4 W:对应数值为2 X:对应数值为1 “rwx”合起来就是4+2+1=7,一个“rwxrwxrwx”权限权限全开的文件,用数字来表示就是“777”;而完全不开放权限的文件“---------”,它的数字标示则为“000”。下面再以几个例子说明 -rwx------: 等于数字标示700 -rwxr—r--: 等于数字标示744 -rw-rw-r-x: 等于数字标示665 Drwx—x—x: 等于数字标示711
  • 164. 使用八进制数设置文件目录权限 我们知道,在ls -l的输出中,文件权限表示为“-rw-rw-r--”,前一位只和是否为目录有关,其它九位正好可以分成三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表无效“0”,其它字符代表有效“1”,那么这个文件的权限就是“110”、“110”、“100”,把这个2进制串转换成对应的8进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。我们也可以使用类似这种三位八进制数来设定文件授权,如上边两个例子,就也可以写为: #chmod 755 *.pl #chmod -R 770 /www/site1 是不是很简洁?关键在于你能根据你需要设定的权限正确的选择八进制数(利用八进制数的二进制表示可以非常轻易的做到这一点)。
  • 165. 读、写、执行的权限说明 1、w(Write,写入)所谓写的权限,也就是对文件修改和删除的权限。如果目录的写权限也对你开放了,则可以创建、删除或修改该目录下的任何文件或自目录——即使该文件和子目录并不属于你。 2、 R(Read,读取)对目录有只读许可的用户,不能用cd命令进入该目录;还必须同时有执行许可才可以进入该目录。 3、必须同时拥有读和执行权限才可以使用ls这样的程序列出目录内容清单。 4、x(eXecute)只对目录有执行权限的用户,想访问该目录下的文件有读权限的文件,必须知道该文件名才可以访问。 对文件而言,该用户具有执行文件的权限
  • 166. 创建磁盘阵列1、磁盘阵列简介: 磁盘阵列(Redundant Array of Independent Disks,RAID) 是由美国加州大学柏克菜分校与1987年提出的,其概念是将多个硬盘组成一个逻辑上的虚拟的硬盘。 (1)使用磁盘阵列的好处: 整合多个硬盘 数据具有较高的安全性 提高存取效率 (2)磁盘阵列的分类方式 按硬件设备来区分 按数据存储位置来区分:可分为7种
  • 167. 按数据存储位置来区分Linear:数据会先放在第一个硬盘,当此硬盘空间已经使用完时,在依 次存储至2、3….个硬盘 RAID-0:当写入一份数据时,会将数据切割成多个小区块,并将这些 区块分别存储到每个硬盘中 RAID-1:把数据在每个硬盘中均存储一份,每个硬盘中所存储的数据是一模一样 RAID-2:数据会以位(bit)为单位切割,并分别存储到各硬盘中,但存储时,此方法会额外保留若干数据的硬盘。支持同步校验码; RAID-3:一份数据会以字节(byte)为单位切割,并分别存储到个硬盘中,保留一个固定硬盘存储同位效验码 RAID-4:一份数据会被切割成固定大小的小区块,并分别存储到个硬盘中。保留一个固定硬盘存储同位效验码 RAID-5:一份数据会被切割成固定大小的小区块,并分别存储到个硬盘中。将同步校验码分散储存在所有的硬盘。
  • 168. Linux支持的磁盘阵列Linux支持的磁盘阵列种类数据是否 平均储存在 每个硬盘中是否具有 容错机制容错机制 是什么同步校验 码是否置于同 一个硬盘RAID-0linearRAID-5RAID-1RAID-4否否是同位校验是否是复制
  • 169. 创建linear磁盘阵列Linear模式的磁盘阵列,是将多个硬盘组成一个空间更大的硬盘。当存储数据时,会优先放在第1个硬盘中,直到第一个硬盘的空间用完,才会放到第2个硬盘,然后依次类推。I L A B C .. .. H
  • 170. 硬件需求至少需要2个硬盘 注:由于linear磁盘阵列实际上只具有硬盘 分区合并的效果,所以这2个硬盘分区并不需要有相同的容量的硬盘空间
  • 171. 创建磁盘阵列磁盘阵列的配置文件为/etc/raidtab 注:默认并没有此配置文件,需要自行编辑 1、创建配置文件 Raiddev /dev/md0 raid-level linear nr-raid-disks 2 chunk-size 32 persistent-superblock 1 device /dev/hdb1 raid-disk 0 device /dev/hdc1 raid-disk 1
  • 172. 创建磁盘阵列2、初始化刚刚创建的/dev/md0磁盘阵列 #mkraid /dev/md0 3、重启,系统便会自动启动此磁盘阵列 4、格式化并挂载此磁盘阵列 #mke2fs –j /dev/md0 #mount –t /ext3 /dev/md0 /mnt/raid
  • 173. 查看磁盘阵列状态记录文件,停止或启动磁盘阵列1、停止已启动的磁盘配额: 先卸载已挂载的目录,然后再执行raidstop命令停止指定的磁盘阵列 #umount /dev/md0 #raidstop /dev/md0 注:raidstop命令的作用仅到系统关机为止 2、启动停止中的磁盘阵列 #saidstart /dev/md0 3、查看状态记录文件 可以列出/proc/mdstat状态记录文件的内容
  • 174. 变更磁盘阵列配置情况与删除磁盘阵列一、变更磁盘阵列配置情况 1、先执行raidstop命令停止磁盘阵列 2、修改/etc/raidtab配置文件 3、执行mkraid重新初始化磁盘阵 二、删除磁盘阵列 1、先执行raidstop命令停止磁盘阵列 2、删除/etc/raidtab配置文件(或改名)
  • 175. 容错能力分析1、容错能力测试 Linear模式虽然不具有容错能力,但如果有硬盘发生故障,并不会导致数据全毁。仍然可以挂载其他正常的硬盘分区,并挽回在这些硬盘中的数据 2、不支持配用硬盘 3、空间利用率分析 如有N台硬盘组成linear磁盘阵列,且每台硬盘的容量均为S 则可存储数据的总容量为N*S 4、读写性能分析
  • 176. 创建RAID-5磁盘阵列 ARID-5磁盘阵列存储方式是利用同位校验码的方式来达到数据容错的目的。具体是RAID-5将数据分成大小相同的区块,并分别存储到不同的硬盘中,会保留硬盘的一部分来存储同位校验码。
  • 177. 硬件需求由于RAID-5需要存储同位校验码,因此要创建此模式的磁盘阵列,至少需要3个以上的硬盘。硬盘大小最好一致,否则就算有一个硬盘的容量比较大,RAID-5 也是不会使用那些多出来的。
  • 178. 创建磁盘阵列我们以3个硬盘的分区hdb1、hdc1、hdd1组成RAID-5的磁盘阵列,并讲解如何创建/etc/raidtab磁盘阵列配置文件: raiddev /dev/md0 //指定磁盘阵列名称 raid-level 5 //指定使用的RAID-5磁盘阵列 nr-raid-disks 3 //此磁盘阵列由3个硬盘所组成 nr-spare-disks 0 //此磁盘阵列的备用硬盘数目 chunk-size 32 //当数据要写入磁盘阵列时,每个写入的大小(单位为KB,且必须为2的幂次方).此设置值的大小,会影响磁盘阵列的读写效率,不过理想的设置值,则按每不计算机的使用情况而异,并无绝对的结果.
  • 179. 创建磁盘阵列persistent-superblock 1  //设置是否要写入磁盘的superblock:设成“1”表示写入,否则设成“0”.若将此参数设成“1”则当磁盘阵列中有硬盘损坏时,系统仍可继续启动;若有备用硬盘,也会同时启用备用硬盘 parity-algorithm left-symmetric //指定要用哪一种算法计算同位校验吗,可使用的算法有left-symmetric,left-asymmetric,right-symmetric 及right-asymmetric等4种.一般采用left-symmetric能有最好的存取效率 device /dev/hdb1 //指定所有使用的第1个硬盘分区名称 raid-disk 0 //设置上述的分区是此磁盘阵列所使用的第1个硬盘(编号由“0”开始) device /dev/hdc1 //指定所要使用的第2个硬盘分区名称 raid-disk 1 //设置上述的分区是此磁盘阵列所使用的第2个硬盘 device /dev/hdd1 //指定所要使用的第3个硬盘分区名称 raid-disk 2 //设置上述的分区是此磁盘阵列所使用的第3个硬盘
  • 180. 创建磁盘阵列 创建好配置文件,然后执行mkraid、mke2fs及mount命令
  • 181. 查看磁盘阵列状态记录当初始化或存储大量数据到RAID-5磁盘阵列时,系统会执行硬盘间的同步,以确保数据正确无误。因此,如果发觉计算机的硬盘指示灯闪烁不停,即可列出/proc/mdstat状态记录文件,查看磁盘阵列是否正在同步硬盘的数据
  • 182. 容错能力分析1、容错能力测试 2、支持备用硬盘: 由于RAID-5磁盘阵列具有容错能力,因此也支持了备用硬盘。要加上备用硬盘,可以自行修改/etc/raidtab配置文件 修改完以后保存退出,依次执行raidstop及mkraid命令 3、空间利用率分析 4、读写性能分析
  • 183. Shell简介什么是shell Shell的英文意思是外壳,在linux中,shell实际上也是一个程序,它是用户和操作系统间的命令解释器,负责接受用户输入的命令并将它翻译成操作系统能够理解的指令。 例如: 用户输入“ls -l” shell翻译这条命令 操作系统执行翻译后的指令   shell 首先检查命令是否是内部命令,不是的话再检查是否是一个应用程序,这里的应用程序可以是Linux本身的实用程序,比如ls 和 rm,也可以是购买的商业程序,比如 xv,或者是公用软件(public domain software),就象 ghostview。如果命令被成功的找到的话,shell的内部命令或应用程序将被分解为系统调用并传给Linux内核。
  • 184.  每个用户的缺省shell在系统里的passwd文件里被指定,该文件的路径是/etc/passwd。 Bourne shell (sh) C shell (csh), 和 Korn shell (ksh) sh:UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用。Bourne shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面作得不如其他几种 shell。(在linux中扩展为Bourne Again shell->bash)   csh:用户界面的友好性。它支持象命令补齐(command-line completion)等一些 Bourne shell 所不支持的特性。普遍认为C shell 的编程接口做的不如 Bourne shell, 但 C shell 被很多 C程序员使用因为 C shell的语法和 C语言的很相似,这也是C shell名称的由来。在linux中扩展为tcsh;   ksh:集合了C shell 和 Bourne shell 的优点并且和 Bourne shell 完全兼容;在linux中扩展为 Public Domain Korn shell (pdksh) ; Shell 简介
  • 185. Shell运行命令的捷径 Bourne shell 最大的缺点在于它处理用户的输入方面。在 Bourne shell 里键入命令会很麻烦,尤其当你键入很多相似的命令时。而 bash 准备了几种特性使命令的输入变得更容易。 命令补齐 命令编辑 命令历史 用history命令可以显示shell保存的过去命令的命令的列表,系统内定记录1000次以前的命令。这个记录次数的值放在环境变量HISTSIZE中,可以echo $HISTSIZE看一下。 这些以前的命令被记录在~/.bash_history中; 用↑↓选择调用以前的命令
  • 186. Shell运行命令的捷径命令别名 命令别名允许用户为命令定义别名,例如man命令显示用户手册,为man取一个别名help,可以输入: alias help=“man” 默认的命令别名是放在/etc/profile.d目录下,文件名分别为colorls.sh 和which-2.sh 命令补齐 命令补全的功能可以帮助用户完成还未全部输入的命令。 #mk 如果输入的数据不足,导致bash无法判断可能的命令是什么,系统便会发出警告声响提醒用户.连按两次Tab键,bash就会把所有可能的命令都列出来.
  • 187. 拼写检查这个功能打开后,shell会检查用户输入的命令和参数是否正确,如果出现错误,就会显示最近的答案,让用户决定如何处理.(默认的bash不支持此功能) #tcsh #rmdiz //执行错误的命令,回出现错误的信息 #set correct=cmd (all)//设置对输入的命令进行错误修正.对整个命令修改 #rmdiz //再次执行错误命令 CORRECT>rmdir (y|n|e|a)? //tcsh自动修正,显示出最有可能的命令 注:自动修正时出现的4个英文字母,其代表意义如下   Y(yes):表示以修正过的命令执行,//在上例中会执行rmdir命令   n(no):表示不要修正命令,直接执行它.//会执行rmdir   e(edit):表示不要执行命令,让用户重新修改.//再次显示错误命令       等待用户修改   a(abort):表示放弃执行命令,回到命令提示符
  • 188. Shell运行命令的捷径 bash 支持三种通配符:   *匹配任何字符和任何数目的字符   ?匹配任何单字符   [...]匹配任何包含在括号里的单字符
  • 189. Shell下的特殊字符常用的特殊字符及其意义 #:注释,这些说明不会被当成命令的程序执行。在/etc/zshrc文件中便能看到 &:以后台方式运行。例如执行find / -name –print &命令,会把这个程序放到后台执行 ‘:取代命令字符.例如:执行alias dir=‘ls-al’,定义dir成为ls-al命令的别名 ;:可用它将多个命令分隔开来,让命令依次执行. >:把执行结果输入到一个文件中.若该文件已经存在,则原有内容回被删除.  #ls –al > dir.txt >>:把执行结果附加到一个已存在的文件后面.  #cat data.txt >> result.txt \:跳脱字符(Escape),解除特殊字符的含义 |:创建管线,将一个命令的执行结果输入给下一个命令使用 ||:OR运算,一般用于if 、while 等条件语句判断式中 ~:用户登录后所在的目录,也就是用户的家目录 .:表示当前目录 ..:表示上一级目录
  • 190. Shell配置文件Bash 配置文件: /etc/profile 系统最主要的shell配置文件,每次login,bash都要读取 /etc/profile文件; ~/.bash_profile 是个人的bash配置文件,存在每位用户的$HOME,当系统执行完/etc/profile时就会读取~/.bash_profile内容; ~/.bash_login 用户登陆时,bash会读取这个文件。通常把登陆就要执行的指令放在这; ~/.bashrc 每次打开shell,shell都会读取的文件。每次打开shell,执行一次;
  • 191. Shell配置文件~/.bash_logout 是退出系统时bash在退出时执行的; ~/.bash_history 是历史功能的记录文件;
  • 192. Shell环境变量显示当前使用的shell,可以输入: echo $SHELL 显示预定义的shell环境变量: 用env或set可以列出各种环境变量,常用的有: HOME: 变量HOME指定本用户的主目录,例如root用户的主目录为/root,用户l4的主目录是/home/l4,只要用户一登录,就在自己的主目录下,不管你在哪, 输入:cd cd $HOME cd ~ 可以回到自己的主目录。
  • 193. Shell环境变量PATH 变量PATH列出shell将在哪些些目录下查询命令,shell按列出的顺序查询这些目录(跟dos下的path功能类似) 例如:PATH=/bin:/usr/bin:. 则输入一条命令后,shell都先查找/bin目录,找不到再找/usr/bin,最后找当前目录(.)。 可以把自己的目录加到PATH中: 用PATH=$PATH:$HOME/bin将自己目录下的/bin目录加入PATH中,可以将它放到HOME下的.bash_profile中,这样用户登录后就生效。
  • 194. Shell环境变量PS1:保存当做主要提示符的字符串。 例如:在.profile中: PS1=‘[\u@\h \W]$’ (\u表示username, \h表示hostname,\W表示当前工作路径) 可以自己修改PS1,改为: PS1=‘[\u* \W]%’ 或PS1=‘[$PWD]$’
  • 195. echo和注释echo 语句: 显示它后面的变量的值或者它后面的字符串 Example: echo $PATH echo “Please wait……” 注释: 注释给每个阅读程序的人一种提示,#号标志shell注释的开始,一直到行尾。 Example: #Name:show the date #author:zhangshan
  • 196. (本页无文本内容)
  • 197. 操作系统内核与X window升级内核升级的准备 为何要升级 升级前的注意事项 设置内核 编译内核 更换内核 修补内核升级X window
  • 198. 内核升级的准备1、为何有升级 内核:/boot/vmlinuz,负责控制后整台计算机的运 行,包括硬件外围,应用程序等。 为何升级: 正如它的名字的字面意义,Linux的内核承担着Linux操作系统的最为核心的任务,是其它程序和硬件等运行过程中的仲裁者:它要管理所有进程的内存,保证它们都能平等得到处理器的时隙。此外,它还提供程序和硬件之间的接口等功能。  更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。 
  • 199. 定制linux系统内核1内核的版本序列号使用三个数字表示,如2.2.14,版本号越高表示功能越强。版本号分为两个系列:一种是产品系列,以偶数命名,例如,2.0.x、2.2.x等,运行稳定,已经经过较为周密的测试;另外一种是开发测试(beta)系列,以奇数命名,用以进行最新功能的测试,不建议初学者和生产过程中使用。  Linux内核的最新版本--Kernel 2.4.6 现在已经开通了下载服务。大家可以通过以下两个地址进行下载: HTTP http://www.kernel.org/pub/ FTP ftp://ftp.kernel.org/pub
  • 200. 内核升级的准备2、升级前的注意事项 (1)确认当前版本 (2)下载系统内核 (3)了解硬件环境 (4)解开压缩文件
  • 201. 设置内核Make:控制软件编译过程的实用工具: 1):可把包含多个源文件的项目在编译时长而复杂的命令行保存在makefile中 2):减少重新编译时所需的时间 3):在数据库中维护了当前项目中各文件的相关关系,从而在编译前就可检查是否可找到所有所需文件
  • 202. 设置内核根据用户所执行的命令不同,可以有不同的进程方式。可以用如下的命令: make config:以问答的方式,在文字模式中设置编译内核的选项; make menuconfig:用文字模式的菜单,设置编译内核的选项; make xconfig :在X window 的图形中,设置编译内核的选项;
  • 203. 编译内核1.下载2.6.0的内核 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz 2.在/usr/src目录下解压内核 tar zvxf /下载的路径/linux-2.6.0.tar.gz 3.配置 # make mrproper # make menuconfig make mrproper 是清理代码树的动作,保证源代码是干净的
  • 204. 4.编译 #make dep #make clean #make bzImage #make modules 5.安装 make modules_install make install #depmod -a 看来2。6的编译确实比以前方便多了,以前的make bzImage make modules等步骤都在make一步都搞定,以前还要cp 内核和System.map,修改Grub.conf的步骤,统统make install搞定,方便吧 如果你放心,你可以去/boot目录看看是否已经有最新的vlinuz-2.6.0和System.map-2.6.0还有grub.conf是否已经给你自动配置好了
  • 205. 升级X window1、在XFree86的FTP站台ftp.xfree86.org 下载 /pub/XFree86/4.1.0/binaries/Linux-ix86-glibc22/ 2、此目录共有32个文件(约60MB) 3、执行自动安装脚本 #sh Xinstall.sh
  • 206. 基本的网络配置 1、主机名 2、ip地址 3、网关地址 4、DNS服务器地址
  • 207. 网络配置的相关文件网络配置的全部内容都可以在系统中找到相关的配置文件 1、模块配置文件 /etc/modules.com 2、IP地址配置文件 /etc/sysconfig/network-scripts/ifcfg-网卡类型 以太网卡用“eth”表示网卡序号从零开始
  • 208. DNSDNS客户配置文件 /etc/resolv.conf该文件中指定系统所使用的DNS服务器的IP地址 网络相关命令 (1)显示当前系统的主机名称#hostname (2)设置系统主机名 #hostname 主机名称
  • 209. 网络相关命令Ifconfig命令 显示当前的网卡设置 #ifconfig 显示系统中所有网卡设置 #ifconfig –a 显示指定网卡的设置 #ifconfig 网卡设备名称 启动指定的网卡 #ifconfig 网卡设备名称 up 或#ifup 停止指定的网卡 #ifconfig 网卡设备名称 down 或 #ifdown 设置网卡的ip地址 #ifconfig 网卡设备名称 ip地址
  • 210. Route命令Route命令: 用于显示和动态修改系统当前的路由表信息 1、显示路由信息 #route 2、添加删除路由信息 Route add –net 网络地址 netmask 子网掩码 dev 网卡设备名 Route del –net 网络地址 netmask 子网掩码 3、添加删除默认网关 Route add default gw 网关ip地址 dev 网卡设备名称 Route del default gw 网关ip地址
  • 211. pingPing [–c 发出的报文数 ]目的主机地址 Ping命令通过向被测试的目的主机地址发送ICMP报文并收取回应报文,来测试当前主机到目的主机的网络连接状态
  • 212. nslookupnslookup 用于使用系统设定的DNS服务器解析域名,用该命令可以测试NDS服务器是否工作正常 Nslookup命令有交互方式查询和命令行方式查询 #nslookup #nslookup 主机域名 | ip地址
  • 213. netconfig使用netconfig程序配置网络 #netconfig