1、,第,7,章,Linux,系统简介,ARM,原理与应用,上讲知识回顾,1,、,ARM,存储器访问指令(掌握),LDR.STR,本讲学习内容,1,、,Linux,基础知识(熟悉),2,、,Linux,入门(掌握),了解,Linux,内核的基本概念和,Linux,文件结构,掌握和熟练运用,Linux,常用命令以及,Linux,文本编辑,。,什么是操作系统,什么是操作系统,(Operation System,OS),呢?我们先来想一想,计算机是如何工作的?举例来说,您电脑屏幕上面显示的信息,是如何显示出来的呢?是由显示卡与萤幕显像的。那么如果你想要看,VCD,呢?那就需要,1.),有影音资料的光碟片
2、、,2.),可读取光碟片的光碟机、,3.),可以转换影音资料输出的中央处理器,(CPU),、,4.),可以显示影像的显示晶片,(,显示卡,),、,5.),可以传输声音的音效晶片,(,音效卡,),、,6.),可以输出影像的萤幕以,7.),可以发出声音的喇叭!这些东西表示硬件在工作!那么问题来了,现在我们知道,电脑所进行的工作都是电脑硬件帮我们达成的,但是,为什么这些硬件知道如何播放,VCD,呢?这当然是因为有某个东西在正确的控制硬件的工作了,那就是操作系统,如果没有这个操作系统,那么电脑就等于是一堆废铁而已!,7.1.1,什么是,Linux,当设计的嵌入式系统要完成较复杂功能后,简单控制逻辑就不
3、够用了,这时就需要应用嵌入式操作系统了。,随着嵌入式系统的发展,从八十年代末开始相继出现了一些嵌入式操作系统。如:,Vxwork,、,pSOS,、,Neculeus,和,Windows CE,。,7.1 Linux,基础知识,简单地说,,Linux,是一套,免费使用和自由传播,的类,Unix,操作系统。,这个系统是由世界各地的成千上万的程序员设计和实现的。,目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的,Unix,兼容产品。,嵌入式,Linux,是对,Linux,经过小型化裁剪,能够固化在容量相对较小(数百,K,到数百,M,)的存储器芯片中,应用于特定的嵌入式场合,Linux,
4、。,Unix,的历史,早在,Linux,出现之前的二十年,(,大约在,1970,年代,),,就有一个相当稳定而成熟的作业系统存在了!那就是,Linux,的老大哥,Unix,1969,年以前,一个没有完成的梦想,Bell,MIT,与,GE,的,Multics,系统,1973,年,Unix,的正式诞生,,Ritchie,等人以,C,语言写出第一个正式,Unix,核心,1977,年,重要的,Unix,分支,BSD,的诞生,1979,年,一个措手不及的版权宣告!,1991,年,芬兰大学生,Linus Torvalds,的一则简讯:,1991,年,芬兰的赫尔辛基大学的,Linus Torvalds,在,
5、BBS,上面贴了一则消息,宣称他以,bash,gcc,等工具写了一个小小的核心程式,这个核心程式可以在,Intel,的,386,机器上面运作,让很多人很感兴趣!从此开始了,Linux,不平凡的路程!,Linux,是一个,网络操作系统,(,Network Operating System,,,NOS,)。所谓网络操作系统则在一般操作系统的功能上增加了网络功能,具体包括:,1,)实现网络中各计算机之间的通信和资源共享;,2,)提供多种网络服务软件;,3,)提供网络用户的应用程序接口。,Linux,的起源与发展,Linux,内核项目是由芬兰赫尔辛基大学的,Linus Torvalds,创建的,199
6、1,年,10,月,,Linux,第一个公开版,0.02,版发布,1994,年,3,月,,Linux 1.0,版发布,Linus,的标志,是,可爱的企鹅,取自芬兰的吉祥物,Linux,的发展史,1993,年,大约有,100,余名程序员参与了,Linux,内核代码编写,/,修改工作,此时,Linux 0.99,的代码有大约有十万行,用户大约有,10,万左右,1994,年,3,月,,Linux1.0,发布,代码量,17,万行,,Linux,的代码中也充实了对不同硬件系统的支持,大大的提高了跨平台移植性,1995,年,此时的,Linux,可在,Intel,、,Digital,以及,Sun SPARC,
7、处理器上运行了,用户量也超过了,50,万,1996,年,6,月,,Linux 2.0,内核发布,此内核有大约,40,万行代码,并可以支持多个处理器。此时的,Linux,已经进入了实用阶段,1997,年夏,大片,泰坦尼克号,在制作特效中使用的,160,台,Alpha,图形工作站中,有,105,台采用了,Linux,操作系统,1998,年是,Linux,迅猛发展的一年。,小红帽,高级研发实验室成立。,4,月,Mozilla,代码发布,成为,linux,图形界面上的王牌浏览器。,Redhat,宣布商业支持计划,网络了多名优秀技术人员开始商业运作,,Oracle,和,Informix,两家数据库厂商明
8、确表示不支持,Linux,,这个决定给予了,Mysql,数据库充分的发展机会。同年,10,月,,Intel,和,Netscape,宣布小额投资红帽软件,这被业界视作,Linux,获得商业认同的信号。,1999,年,,IBM,宣布与,Redhat,公司建立伙伴关系,以确保,Redhat,在,IBM,机器上正确运行。三月,第一届,LinuxWorld,大会的召开,象征,Linux,时代的来临。,7,月,IBM,启动对,Linux,的支持服务和发布了,Linux DB2,,从此结束了,Linux,得不到支持服务的历史,这可以视作,Linux,真正成为服务器操作系统一员的重要里程碑,2000,年初始,
9、,,Sun,公司在,Linux,的压力下宣布,Solaris8,降低售价。事实上,Linux,对,Sun,造成的冲击远比对,Windows,来得更大。,2,月,Red Hat,发布了嵌入式,Linux,的开发环境,,Linux,在嵌入式行业的潜力逐渐被发掘出来。在,4,月,拓林思公司宣布了推出中国首家,Linux,工程师认证考试,从此使,Linux,操作系统管理员的水准可以得到权威机构的资格认证,此举大大增加了国内,Linux,爱好者学习的热情,2001,年,,,Oracle,宣布在,OTN,上的所有会员都可免费索取,Oracle 9i,的,Linux,版本,从几年前的,绝不涉足,Linux,
10、系统,到如今的主动献媚,足以体现,Linux,的发展迅猛,2003,年,1,月,,,NEC,宣布将在其手机中使用,Linux,操作系统,代表着,Linux,成功进军手机领域,Linux,的发展史,Linux,内核版本有两种:,稳定版和开发版,稳定版,的内核具有工业级的强度,可以广泛地应用和部署。,开发版,内核由于要试验各种解决方案,所以变化很快,这两种版本是相互关联,相互循环的。,Linux,内核版本,内核版本是由,Linux,内核社区统一进行发布的,主版本号,次版本号,末版本号,2.5.7,2.4.23,奇数,偶数,开发版本,稳定版本,XX.YY.ZZ,Linux,发行版有选择使用某个内核版
11、本的权利,开发版本最初是稳定版本的拷贝,稳定版本只修改错误,开发版本继续增加新功能,开发版本趋于稳定后将升级为稳定版本,Linux,内核版本,一个典型的,Linux,发行版包括:,1)Linux,内核,2),一些,GNU,程序库和工具,3),命令行,shell,4),图形界面的,X Window,系统,5),相应的桌面环境,如,KDE,或,GNOME,6),并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。,Red Hat Linux,系列发行版,Red Hat Linux,已停止开发,最高版本为,9.0,Red Hat Linux,企业版,简称,RHEL,(,Red Hat E
12、nterprise Linux,),目前最高版本为,RHEL5,Fedora Core,社区版,2 Linux,应用开发,由于其低廉的成本和高度的可定制性,,Linux,被广泛应用于嵌入式系统。,例如,机顶盒、移动电话及行动装置,等。,在移动电话上,,Linux,已经成为与,Symbian,OS,、,Windows Mobile,系统并列的三大智能手机操作系统之一;,在移动装置上,则成为,Windows CE,之外另一个选择。,有不少硬件式的网络防火墙及路由器,其内部都是使用,Linux,,并采用了操作系统提供的防火墙及路由功能。,在,Linux,应用上,,Linux,确实跟它的竞争对手,Wi
13、ndows,相比还有一定的差距。不过在高端的应用上,,Linux,的市场是越来越大,如:,1,、,Linux,内核开发,1,),PDA,个人掌上电脑;,2,)专用的网络设备;防火墙设备,,VPN,(虚拟专用网络)设备等是用,Linux,编写的,国产的,现在销售的十分不错;,3,)硬件驱动程序。,2,、,Linux,网络编程,1,),php,编程,建立动态站点;,2,),jsp,编程;,3,),perl,,,cgi,编程。,3,、,Linux,系统下数据库的开发,1,),my sql,中小型数据库系统;,2,),oracle,数据库;,3,),DB2,数据库,,IBM,数据库系统。,7.1.3
14、Linux,特点,Linux,特点如下:,1,)自由软件,开放源代码;,2,)真正的多用户、多任务操作系,3,)可灵活裁剪配置;,4,)支持多种硬件平台;,5,)提供强大的管理功能,6,)完全符合,POSIX,标准,7,)具有丰富的图形用户界面,8,)具有强大的网络功能,7.1.4 GNU,与,POSIX,标准,Linux,的发展离不开,GNU,(,GNU,在英文中原意为非洲牛羚,这里是,GNU is Not Unix,的递归缩写),GNU,计划又称革奴计划,是由,Richard Stallman,在,1983,年,9,月,27,日公开发起的,它的目标是创建一套完全自由的操作系统。,GNU,计
15、划开发出了许多高质量的免费软件,如:,GCC,、,GDB,、,Bash Shell,等,这些软件为,Linux,的开发创造了基本的环境,是,Linux,发展的重要基础,因此,严格来讲,,Linux,应该被称为,GNU/Linux,。,为保证,GNU,软件可以自由地“,使用、复制、修改和发布,”,所有,GNU,软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,,GNU,通用公共许可证(,GNU General Public License,,,GPL,)。这个就是被称为“反版权”(或称,Copyleft,)的概念。,开源软件的定义及许可协议,GPL,(,GNU Gene
16、ral Public License,),GPL,许可协议的主要目标是保证软件对所有的用户都是自由的,LGPL,(,Lesser General Public License,),LGPL,相对于,GPL,的条款更加宽松,为使用,Linux,平台开发商业软件提供了更多的空间,OSD,(,The Open Source Definition,),开放源代码软件的定义文本可以从官方网站查阅,www.opensource.org/docs/definition.php,POSIX,表示可移植操作系统接口(,Portable Operating System Interface,,,POSIX,)。,
17、电气和电子工程师协会,(,Institute of Electrical and Electronics Engineers,,,IEEE,)最初开发,POSIX,标准,是为了提高,UNIX,环境下应用程序的可移植性。然而,,POSIX,并不局限于,UNIX,。,Linux,的优势,稳定的系统,Linux,本来就是基于,Unix,概念而发展出来的作业系统,因此,,Linux,具有与,Unix,系统相似的的程式介面跟操作方式,当然也继承了,Unix,稳定并且有效率的特点,免费或少许费用,由于,Linux,是基于,GPL,的基础下的产物,因此任何人皆可以自由取得,Linux,,至于一些安装套件的发
18、行者,他们发行的安装光碟也仅需要些许费用即可获得!不同于,Unix,需要负担庞大的版权费用,当然也不同于微软需要一而再、再而三的更新你的系统,并且缴纳大量费用!,安全性、漏洞的快速修补,Linux,由于参与者很多,有相当多的热心团体、个人参与其中的开发,因此可以随时获得最新的安全资讯,并给予随时的更新,亦即是具有相对的较安全!,多工、多使用者,与,Windows,系统不同的,,Linux,主机上可以同时允许多人上线来工作,并且资源的分配较为公平,比起,Windows,的单人假多工系统要稳定的多!这个多人多工可是,Unix-Like,上面相当好的一个功能,怎么说呢?你可以在一部,Linux,主机
19、上面规划出不同等级的使用者,而且每个使用者登入系统时的工作环境都可以不相同,此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源。,Linux,的优势,使用者与群组的规划,在,Linux,的机器中,档案的属性可以分为可读、可写、可执行 等参数来定义一个档案的适用性,此外,这些属性还可以分为三个种类,分别是档案拥有者、档案所属群组、其他非拥有者与群组者。这就给系统带来了相当良好的系统保密性。,相对比较不耗资源的系统,Linux,只要一部,p-100,以上等级的电脑就可以安装并且使用愉快!还不需要到,P-4,或,AMD K8,等级的电脑呢!不过,如果你要架设的是属于大型的主机(服
20、务上百人以上的主机系统),那么就需要比较好一点的机器了。,适合需要小核心程式的嵌入式系统,由于,Linux,只要几百,K,不到的程式码就可以完成一个完整的作业系统,因此相当适合于目前家电或者是小电子用品的作业系统,,Linux,很适合例如手机、数位相机、,PDA,、家电用品等等的微电脑作业系统,Linux,的缺点,不容易上手操作:,Linux,需要使用命令行 的终端机模式进行系统的管理!虽然近年来有很多的图形介面开发使用在,Linux,上面,但毕竟要熟悉,Linux,还是以指令列来使用是比较好的,因此要接受,Linux,的玩家必须比较要能熟悉对电脑下指令的行为,而不是用滑鼠点一点,icon,就
21、行了!,没有特定的支持厂商,因为在,Linux,上面的所有套件几乎都是自由软件,而每个自由软件的开发者可能并不是公司团体,而是非营利性质的团体。如此一来,在您,Linux,主机上面的软件若发生问题,该如何是好?好在由于目前,Linux,商业界的整合还不错,目前比较具名的,Red Hat,与,SuSE,均有设立了服务点。您可以经由这个服务点来直接向他们购买,/,谘询相关的软硬体问题!即使得不到软件厂商的支持,我们平时遇到的问题几乎在网路上都可以找到答案。,图形介面作的还不够好,7.2.1 Linux,介绍,Linux,一般由,内核、,Shell,、文件结构,和,实用工具,等四个主要部分组成,下面
22、分别介绍:,1,Linux,内核,内核是,Linux,系统的灵魂,负责整个系统的,内存管理,进程调度和文件管理。,它从用户那里接受命令并把命令送给内核去执行。,Linux,内核的容量并不大,并且大小可以裁减。,一般一个功能比较全面的内核也不会超过,1M,。,合理的配置,Linux,内核是嵌入式开发中很重要的一步,对内核的充分了解是嵌入式,Linux,开发的基本功。,7.2 LINUX,入门,Linux,内核的功能大致分成如下几个部分:,1,)进程管理,进程管理功能负责创建和撤销进程以及处理他们和外部世界的连接。不同进程之间的通信是整个系统的基本功能,因此也由内核处理。除此之外,控制进程如何共享
23、,CPU,资源的调度程序也是进程管理的一部分。,概括的说,内核的进程管理活动就是在单个或多个,CPU,上实现多进程的抽象。,2,)内存管理,内存是计算机的主要资源之一,用来管理内存的策略是决定系统性能的一个关键因素。内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间。内核的不同部分在和内存管理子系统交互时使用一套相同的系统调用,包括从简单的,malloc,/free,到其他一些不常用的系统调用。,3,)文件系统,Linux,在很大程度上依赖于文件系统的概念,,Linux,中的每个对象几乎都是可以被视为文件的。内核在没有结构硬件上构造结构化的文件系统。所构造的文件系通在整个系统中广泛使用。
24、另外,,Linux,支持多种文件系统类型,即在物理介质上组织的结构不同。,4,)设备控制,几乎每个系统操作最终都会映射到物理设备上。除了处理器,内存以及其他很有限的的几个实体外,所有的设备控制操作都由与被控制设备相关的代码完成。这段代码叫做,设备驱动程序,内核必须为系统中的每件外设嵌入相应的驱动程序,。,5,)网络功能,网络功能也必须有操作系统来管理,因为大部分网络操作都和具体的进程无关。在每个进程处理这些数据之前,数据包必须已经被收集、标识、和分发。,系统,负责在应用程序和网络之间传递数据,。另外,,所有的路由和地址解析问题,都由,内核,处理。,2,Linux Shell,Shell,是,系
25、统的用户界面,,提供了,用户与内核进行交互操作,的一种接口。它接收用户输入的命令并把它送入内核去执行。,Shell,是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。,Shell,有自己的编程语言用于对命令的编辑,它允许用户编写由,shell,命令组成的程序。,Shell,编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的,Shell,程序与其他应用程序具有同样的效果。,Linux,系统提供多种不同的,Shell,以供选择。,常用的有:,Bourne Shell,(简称,sh,),C-Shelll,(简称,csh,),Korn,Shell,(
26、简称,ksh,),Bourne Again Shell,(,简称,bash),。,(1)Bourne Shell,是,AT&T Bell,实验室的,Steven Bourne,为,AT&T,的,Unix,开发的,它是,Unix,的默认,Shell,,也是其它,Shell,的开发基础。,Bourne Shell,在编程方面相当优秀,但在处理与用户的交互方面不如其它几种,Shell,。,(2)C Shell,是加州伯克利大学的,Bill Joy,为,BSD Unix,开发的,与,sh,不同,它的语法与,C,语言很相似。它提供了,Bourne Shell,所不能处理的用户交互特征,如命令补全、命令别
27、名、历史命令替换等。但是,,C Shell,与,BourneShell,并不兼容。,(3)Korn,Shell,是,AT&T Bell,实验室的,David Korn,开发的,它集合了,C Shell,和,Bourne Shell,的优点,并且与,Bourne Shell,向下完全兼容。,Korn,Shell,的效率很高,其命令交互界面和编程交互界面都很好。,(4)Bourne Again Shell,(,即,bash),是自由软件基金会,(GNU),开发的一个,Shell,,它是,Linux,系统中一个默认的,Shell,。,Bash,不但与,Bourne Shell,兼容,还继承了,C S
28、hell,、,Korn,Shell,等优点。,在启动,Linux,桌面系统后,,Shell,已经在后台运行起来了,但并没有显示出来。,如果想让它显示出来,,按如下的组合键就可以:,+,组合键中的,F2,可以替换为,F3,、,F4,、,F5,、,F6,。,如果要回到图形界面,,则按如下组合键:,+,另外,在图形桌面环境下运行“系统终端”也可以执行,Shell,命令,与用组合键切换出来的命令行界面是等效的。,“,系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是:,【开始】,【应用程序】,【附件】,【系统终端,】,就是系统终端的界面。该软
29、件允许建立多个,Shell,客户端,它们相互独立,可以通过标签在彼此之间进行切换。,3,Linux,文件结构,内核,,Shell,和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。此外,,Linux,操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。,文件结构,是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。,使用,Linux,,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。,Linux,目录采用,多级树形结构,,用户可以浏览整个系统,可以进入任何一个已授权
30、进入的目录,访问那里的文件。,Linux,是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。,Linux,文件结构目录如下:,Linux,采用的是树型结构。,最上层是根目录,其他的所有目录都是从根目录出发而生成的。,微软的,DOS,和,windows,也是采用树型结构,但是在,DOS,和,windows,中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,它们之间的关系是并列的。,在,Linux,中,无论操作系统管理几个磁盘分区,这样的,目录树只有一个,。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。,主要目录含义如下,:,1)/
31、bin,bin,是,binary,的缩写。这个目录沿袭了,UNIX,系统的结构,存放着使用者最经常使用的命令。例如,cp,、,ls,、,cat,,等等。,2)/boot,这里存放的是启动,Linux,时使用的一些核心文件。,3,),/home,用户的主目录,比如说有个用户叫,wang,,那他的主目录就是,/home/wang,也可以用,wang,表示。,4,),/dev,dev,是,device,(设备)的缩写。这个目录下是所有,Linux,的外部设备,其功能类似,DOS,下的,.sys,和,Win,下的,.vxd,。在,Linux,中设备和文件是用同种方法访问的。例如:,/dev/hda,代
32、表第一个物理,IDE,硬盘。,5,),/etc,这个目录用来存放系统管理所需要的配置文件和子目录。,6,),/lib,这个目录里存放着系统最基本的动态链接共享库,其作用类似于,Windows,里的,.dll,文件。几乎所有的应用程序都须要用到这些共享库。,7,),/sbin,这里存放的是系统管理员使用的管理程序。,8,),/tmp,用来存放一些临时文件的地方了。,9,),/lost+found,这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于,DOS,下的,.chk,文件。,10,),/mnt,这个目录是空的,系统提供这个目录是让用户临时挂载别的文
33、件系统。,11,),/proc,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。,12,),/root,系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权,比如单独拥有一个目录。,13,),/var,这个目录中存放着那些不断在扩充着的东西,为了保持,usr,的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在,/var,/log,目录中。,14,),/usr,这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其
34、中包含以下子目录;,(,1,),/usr/X11R6,存放,X-Window,的目录;,(,2,),/usr,/bin,存放着许多应用程序;,(,3,),/usr/sbin,给超级用户使用的一些管理程序就放在这里;,(,4,),/usr,/doc,这是,Linux,文档的大本营;,(,5,),/usr,/include,Linux,下开发和编译应用程序需要的头文件,在这里查找;,(,6,),/usr,/lib,存放一些常用的动态链接共享库和静态档案库;,(,7,),/usr,/local,这是提供给一般用户的,/usr,目录,在这里安装软件最适合;,(,8,),/usr,/man,man,在,
35、Linux,中是帮助的同义词,这里就是帮助文档的存放目录;,(,10,),/usr/src,Linux,开放的源代码就存在这个目录!,4,Linux,实用工具,标准的,Linux,系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。,实用工具可分三类,:,1,)编辑器:,用于编辑文件。,2,)过滤器:,用于接收数据并过滤数据。,3,)交互程序:,允许用户发送信息或接收来自其他用户的信息。,7.2.2 Linux,的启动运行,1.,启动系统,计算机启动后,进入,windows,图形界面,在虚拟机下启动,Linux,。,2.,用户登录,Li
36、nux,是一个真正意义上的多用户操作系统,用户要使用该系统,首先必须登录,使用完系统后,必须退出。用户登录系统时,为了使系统能够识别该用户,必须输入用户名和密码,经系统验证无误后才可以登录系统使用。,Linux,下有两种用户:,1)root,用户,超级权限者,系统的拥有者,在,Linux,系统中有且只有一个,root,用户,它可以在系统中任何操作。在系统安装时所设定的密码就是,root,用户的密码。,2),普通用户,Linux,系统可以创建许多普通用户,并为其指定相应的权限,使其有限地使用,Linux,系统。,用户登录分两步进行:,1),输入用户的登录名,系统根据该登录名来识别用户;,2),输
37、入用户的口令,该口令是用户自己选择的一个字符串,对其他用户完全保密,是登录系统时识别用户的唯一根据,因此每一个用户都应该 保护好自己的口令!,系统在建立之初,仅有,root,用户,其它的用户则是由,root,用户创建的。,由于,root,用户的权限太大了,所以如果,root,用户误操作将可能造成很大的 损失。所以建议系统管理员为自已新建一个用户,只有需要做系统维护、管理任务时才以,root,用户登录。,当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:,rootloclhost,/root#,这时就可以对系统做各种操作了。超级用户(,root,)的提示符是“,#”,,其他用户的提示
38、符是“,$”,。,3.,控制台切换,Linux,是一个多用户操作系统,它可以同时接受多个用户登录。,Linux,还允许一个用户进行多次登录,这是因为,Linux,和,UNIX,一样,提供了虚拟控制台的访问方式,允许用户在同一时间从不同的虚拟控制台进行多次登录。,虚拟控制台的选择可以通过按下,Ctrl+Alt,+,一个功能键来实现,通常使用,F1-F7,例如,用户登录后,按一下,Ctrl+Alt+F2,键,用户又可以看到“,login:”,提示符,说明用户看到了第二个虚拟控制台。然后只需按,Ctrl+Alt+F1,键,就可以回到第一个虚拟控制台。,4.,切换用户,如果不指定用户名,则默认将用户身
39、份换至,root,。从,root,身份切换到其他任何身份都不需要口令。,su,username,(从,root,身份切换到默认用户),su,root,(切换到,root,用户,并将,root,的环境变量同时带入),5.,退出登录,在,Linux,系统中,普通用户是无权关闭系统的!只有,root,用户才能够关闭它。当然如果你是按关机按钮则另当别论。我们可以通过以下几种方法实现:,1),按下,CTRL+ALT+DEL,组合键,这样系统将重新启动,;,2),执行,reboot,命令,这样系统也将重新启动,;,3),执行,shutdown-h now,命令,这样系统将关闭计算机,;,4),执行,hal
40、t,命令,可以关闭计算机。,7.2.3 linux,的文件系统,linux,文件有如下几种:,普通文件:,包括文本文件、数据文件、可执行的二进制程序等。,目录文件:,简称为目录,,Linux,中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件,,“,.,”,表示上一级目录,,“,.,”,表示该目录本身。,设备文件:,设备文件是一种特别文件,,Linux,系统用来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件:字符设备文件和块设备文件。,符号链接:,一种特殊文件,存放的数据是文件系统中通向某个文件的路径。当调用符号链接文件时,系统自
41、动地访问保存在文件中的路径。,对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。可以用,ln,命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。,连接有,软连接,和,硬连接,之分,软连接又叫符号连接。它们各自的特点是:,硬连接:,原文件名和连接文件名都指向相同的物理地址。目录不能有硬连接,硬连接不能跨越文件系统(不能跨越不同的分区),文件在磁盘中只有一个拷贝,节省硬盘空间;,由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。,符号连接:,用,ln,-s
42、,命令建立文件的符号连接。类似,windows,下的快捷方式。可以删除原有的文件而保存连接文件,没有防止误删除功能。,常用文件系统:,ext2,:,支持标准,Unix,文件类型,可用于多种存储介质,向上兼容性好,支持长达,255,个字符的文件名;,ext3,:,ext2,的升级版本,是多数,linux,发行版的默认文件系统类型,其主要优点是在,ext2,的基础上加入了记录数据的日志功能。可方便地从,ext2,迁移至,ext3,且支持异步的日志;,reiserfs,:,一种新型的文件系统,通过完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持。,ReiserFS,还以支持海量磁盘和磁盘阵
43、列,并能在上面继续保持很快的搜索速度和很高的效率;,7.2.4 Linux,常用命令,下面是,Linux,基本操作命令,并进行了分类说明。对名令的学习,最好针对每一个都能亲自练习、掌握。,1.,显示,ls,:,以默认方式显示当前目录文件列表。,ls,a,:,显示所有文件包括隐藏文件。,ls,l,:,显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行。,2.,创建目录,目录是一种特殊类型的文件,如果没有特别指明,文件包括文件和目录。,.,表示上一级目录,,.,表示当前目录,它们是两个特殊目录。,/,目录为文件系统根目录,所有目录都是它的子目录,绝对路径以,/,起始,相对路径以当前所在
44、目录起始。,mkdir,:,创建目录。,例如:,1,),mkdir,/home/workdir,在,/home,目录下创建,workdir,目录,2,),mkdir,p/home/dir1/dir2,创建,/home/dir1/dir2,目录,如果,dir1,不存在,先创建,dir1,。,3.,改变工作目录,cd,dir,:切换到当前目录下的,dir,目录。,cd,./,:切换到到上一级目录。,cd,:切换到用户目录,比如是,root,用户,则切换到,/root,下。,例如:,cd,/home/,进入,/home,目录,4.,查看当前路径,pwd,:查看当前路径。,5.,删除,rm,file,
45、:删除某一个文件,rm-rf,dir,:删除当前目录下叫,dir,的整个目录 例如:,1),rm,/home/test,删除,/home,目录下的,test,文件,2),rm,r /home/dir,删除,/home,目录下的,dir,目录,6.,拷贝,cp,source target,:将文件,source,复制为,target,。,cp,av soure_dir target_dir,:将整个目录复制,两目录完全一样。,cp,fr source_dir target_dir,:将整个目录复制,并且是以非链接方式复制,当,source,目录带有符号链接时,两个目录不相同。,7.,显示,ech
46、o,message,:显示一串字符,cat,file,:显示文件的内容,和,DOS,的,type,相同,cat,file|more,:显示文件的内容并传输到,more,程序实现分页显示,使用命令,less file,可实现相同的功能。,more,:分页命令,一般通过管道将内容传给它,如,:,ls,|more,。,8.,移动或更名,mv,source target,:将文件或者目录,source,更名为,target,。,例如:,1,),mv,/home/test/home /test1,将,/home,目录下的,test,文件更名为,test1,2,),mv,/home/dir1 /tmp/,
47、将,/home,目录下,dir1,目录移动(剪切)到,/tmp,目录下,9.,打包与压缩,tar-xfzv,file.tgz,:将文件,file.tgz,解压,tar-zcvf,file.tgz,:将文件或目录,压缩为,file.tgz,gzip,directory.tar,:将覆盖原文件生成压缩的,directory.tar.gz,gunzip,directory.tar.gz,:覆盖原文件解压生成不压缩的,directory.tar,。,例如:,1,),tar-cvf,tmp.tar /home/tmp,将,/home/tmp,目录下的所有文件和目录打包成一个,tmp.tar,文件。,2,
48、),tar-xvf,tmp.tar,将打包文件,tmp.tar,在当前目录下解开。,3,),tar-cvzf,tmp.tar.gz /home/tmp,将,/home/tmp,目录下的所有文件和目录打包并压缩成一个,tmp.tar.gz,文件。,4,),tar-xvzf,tmp.tar.gz,将打包压缩文件,tmp.tar.gz,在当前目录下解开。,10.,比较,diff,dir1 dir2,:比较目录,1,与目录,2,的文件列表是否相同,但不比较文件的实际内容,不同则列出。,diff,file1 file2,:比较文件,1,与文件,2,的内容是否相同,如果是文本格式的文件,则将不相同的内容显
49、示,如果是二进制代码则只表示两个文件是不同的。,11.,查看目录大小与查找,du,:计算当前目录的容量,du -sm,/root,:计算,/root,目录的容量并以,M,为单位,find-name/path file,:在,/path,目录下查找看是否有文件,file grep-ir,“chars”,:在当前目录的所有文件查找字串,chars,,并忽略大小写,,-i,为大小写,,-r,为下一级目录。,12.,访问权限,系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问文件。有三种不同类型的用户可对文件或目录进行访问:文件所有者,与所有者同组的用户、其他用户
50、。,当用,ls,-l,命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。,例如:,$,ls,l,sobsrc.tgz,例如:,$ls l sobsrc.tgz,-rw-r-r-1 root root 483997 Ju1 l5 17:3l sobsrc.Tgz,注意这里,“,-rw-r-r,1”,共有,10,个位置。,第一个字符指定了文件类型,具体含义如下:,-,:,普通文件,d,:,目录文件,l,:,链接文件,b,:,块设备文件,c,:,字符设备文件,p,:,管道文件,r,代表只读,,w,代表写,,x,代表可执行,横线代表无该项权限。,chmod,:,修改访问权限。,格式:,ch