收藏 分销(赏)

ARM存储器访问指令.ppt

上传人:精**** 文档编号:6249859 上传时间:2024-12-03 格式:PPT 页数:110 大小:1.08MB 下载积分:20 金币
下载 相关 举报
ARM存储器访问指令.ppt_第1页
第1页 / 共110页
ARM存储器访问指令.ppt_第2页
第2页 / 共110页


点击查看更多>>
资源描述
,第,7,章,Linux,系统简介,ARM,原理与应用,上讲知识回顾,1,、,ARM,跳转指令(了解),B,BL,BX,BLX,2,、,ARM,数据处理指令(熟悉),算术运算指令;,(,ADD,ADC;SUB,SBC,MUL,),逻辑运算指令;,(AND,ORR),数据传送指令;,(MOV),本讲学习内容,1,、,ARM,存储器访问指令(掌握),LDR.STR,2,、,Linux,基础知识(熟悉),3.4.3,存储器,访问指令,ARM,微处理器用,加载,/,存储,指令访问存储器,实现在寄存器和存储器之间传送数据。,加载,指令,用于将存储器中的数据传送到寄存器;,存储,指令,则完成相反的操作。,由于,ARM,处理器对外设寄存器、,I/O,映射空间与存储器统一编址,因此,对外围设备的,I/O,操作也用此类指令。,基本,的加载,/,存储指令仅有,5,条,分为,3,种:,LDR,和,STR,,单寄存器加载,/,存储指令,LDM,和,STM,,多寄存器加载,/,存储指令,SWP,,寄存器和存储器数据交换指令,1),、,LDR/STR,指令,单,寄存器,加载,/,存储,指令是,ARM,在寄存器和存储器间传送单个字节和字的最灵活方式。,根据,传送数据的类型不同,单个寄存器存取指令又可以分为以下两类:,单字和无符号字节的加载,/,存储指令,半字和有符号字节的加载,/,存储指令,1),单字,和无符号字节的加载存储指令,LDR,:,指令从内存中取,32,位字或,8,位无符号字节数据放入寄存器;,STR,:,指令将寄存器中的,32,位字或,8,位无符号字节数据保存到存储器中。,注意:,无符号字节加载时,用,0,将,8,位的操作数扩展到,32,位。,指令格式,LDRcondT Rd,,,;加载指定地址上的字数据,放入,Rd,中。,STRcondT Rd,,,;存储,Rd,中字数据,到指定地址的存储单元。,LDRcondBT Rd,,,;加载字节数据到,Rd,中,Rd,最低字节有效,,高,24,位为,0,。,STRcondBT Rd,,,;存储,Rd,中字节数据,,Rd,中最低字节为传送数据。,T,后缀,T,为可选后缀,若指令有,T,,那么即使处理器是在特权模式下,存储系统也将访问看成是处理器是在用户模式下。,用于存储器保护。,不能与前变址模式、自动变址模式一起使用(即不能改变基址寄存器值)。,T,在用户模式下无效。,PC(即R15)使用的几个问题,使用PC作为基址时,,使用的数值是指令的地址加8个字节(取指与执行相差8个字节)。,PC不能用做偏移寄存器,,,也不能用于任何变址寻址模式。,把一个字加载到PC,将使程序转移到所加载的地址,这是一个公认的实现跳转的方法。,但是应当避免将一个字节加载到PC。,把PC存到存储器的操作在不同体系结构的处理器中产生不同的结果,应尽可能避免。,2),半,字和有符号字节的加载存储指令,这类,LDR/STR,指令可实现半字(有符号和无符号)、有符号字节数据的传送。,特点:,偏移量格式、寻址方式与加载存储字和无符号字节指令基本相同。,立即数偏移量限定在,8,位,寄存器偏移量不可经过移位得到。,指令格式,如下,LDR condH Rd,,,;,加载无符号半字数据到,Rd,的低,16,位,高,16,位清零。,LDR condSB Rd,,,;,加载指定地址上有符号字节到,Rd,中,高,24,位用符号位扩展,LDR condSH Rd,,,;,加载指定地址上的有符号半字到,Rd,中,高,16,位用符号位扩展。,STRcondH Rd,,,;,存储,Rd,中的低,16,位半字数据。,存储有符号数据和无符号数据之间没有差别。,两,点说明:,符 号 位,有符号字节或有符号半字的加载,用“符号位”扩展到,32,位;无符号半字传送是用,0,扩展到,32,位。,地址对齐,对半字传送的地址必须为偶数。非半字对齐的半字加载将使,Rd,内容不可靠;非半字对齐的半字存储将使指定地址的,2,字节存储内容不可靠。,(,3,)指令举例,LDRSB R1,,,R0,,,R3,;,将,R0+R3,地址上的字节数据读到,R1,高,24,位用符号位扩展。,LDRSH R1,,,R9,;将,R9,地址上的半字数据读出到,R1,,高,16,位用符号位扩展。,LDRH R6,,,R2,,,#2,;,将,R2,地址上的半字数据读出到,R6,,高,16,位用零扩展,然后修改,R2=R2+2,。,STRH R1,,,R0,,,#2!,;,将,R1,的数据保存到,R0+2,地址中,只存储低,2,字节数据,并且修改,R0=R0+2,。,LDM和STM指令,可以实现在一组寄存器和一块连续的内存单元之间存/取数据。,LDM为加载多个寄存器;STM为存储多个寄存器。,这两条指令,允许传送16个寄存器R0-R15的任何子集或所有寄存器。,指令格式,LDMcond Rn!,,STMcond Rn!,,2),、,LDM/STM,指令,指令格式,说明,(,1,),Rn,:,表示基址寄存器,装有传送数据的初始地址,,Rn,不允许为,R15,(即,PC,),。,(,2,),Rn,后缀“,!”,:,表示最后的地址写回到,Rn,中。,(,3,),Reglist,:,表示寄存器列表,可包含多个序号连续的或者分离的寄存器,用“,”分开。,格式例子:,R1,,,R2,,,R6R9,列表寄存器和存储器地址的关系规则:,编号低的寄存器对应于存储器中低地址单元,编号高的寄存器对应于存储器中高地址单元。,后缀,“,”,说明,寄存器列表不包含,PC,:,使用后缀“,”,进行数据传送且时,加载存储的是用户模式的寄,存,器,而不是当前模式的寄存器。,寄存器列表包含有,PC,:,除了,正常的多寄存器传送外,还要将,SPSR,拷贝到,CPSR,中。,该,用法可用于异常处理返回。,禁用情况:,后缀,“,”,不允许在用户模式或系统模式下使用。,(因为它们没有,SPSR,),当,Rn,在寄存器列表中且使用后缀“,!”,对于,STM,指令,若,Rn,为寄存器列表中的最低数字的寄存器,则会将,Rn,的初值保存;,其它情况下,Rn,的加载值和存储值不可预知。,地址,字对齐,这些指令寻址是字对齐的,即忽略地址位,1:0,。,第,7,章,Linux,系统简介,本章学习要求,熟悉与了解,Linux,的一些基础知识,了解,Linux,内核的基本概念和,Linux,文件结构,掌握和熟练运用,Linux,常用命令以及,Linux,文本编辑。,7.1.1,什么是,Linux,当设计的嵌入式系统要完成较复杂功能后,简单控制逻辑就不够用了,这时就需要应用嵌入式操作系统了。,随着嵌入式系统的发展,从八十年代末开始相继出现了一些嵌入式操作系统。如:,Vxwork,、,pSOS,、,Neculeus,和,Windows CE,。,7.1 Linux,基础知识,简单地说,,Linux,是一套,免费使用和自由传播,的类,Unix,操作系统。,这个系统是由世界各地的成千上万的程序员设计和实现的。,目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的,Unix,兼容产品。,嵌入式,Linux,是对,Linux,经过小型化裁剪,能够固化在容量相对较小(数百,K,到数百,M,)的存储器芯片中,应用于特定的嵌入式场合,Linux,。,Linux,是一个,网络操作系统,(,Network Operating System,,,NOS,)。所谓网络操作系统则在一般操作系统的功能上增加了网络功能,具体包括:,1,)实现网络中各计算机之间的通信和资源共享;,2,)提供多种网络服务软件;,3,)提供网络用户的应用程序接口。,Linux,最早是,Linus Torvalds,于,1991,年在芬兰赫尔辛基大学原创开发的,并在,GNU,(,GNUs,Not Unix,)的,GPL,(,General Public License,)原则下发行。,Linux,继承了,Unix,,他们相似和相同的东西好多,所以,Linux,还是类,Unix,的操作系统。有一种说法是,Linux,是,Unix,的一个变种版本。,Linux,内核版本有两种:,稳定版和开发版,稳定版,的内核具有工业级的强度,可以广泛地应用和部署。,开发版,内核由于要试验各种解决方案,所以变化很快,这两种版本是相互关联,相互循环的。,Linux,内核的命名机制:,num.num.num,其中,:,第一个数字是,主版本号,第二个数字是,次版本号,第三个数字是,修订版本号,如果次版本号是偶数,那么该内核就是稳定版的;若是奇数,则是开发版的。头两个数字合在一齐可以描述内核系列。如稳定版的,2.6.0,,它是,2.6,版内核系列。,一个典型的,Linux,发行版包括:,1)Linux,内核,2),一些,GNU,程序库和工具,3),命令行,shell,4),图形界面的,X Window,系统,5),相应的桌面环境,如,KDE,或,GNOME,6),并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。,发行版有:,(,1,),Debian,;,(,2,)红帽(,Redhat,);,(,3,),Ubuntu,;,(,4,),Suse,;,(,5,),Fedora,。,7.1.2 Linux,应用开发,由于其低廉的成本和高度的可定制性,,Linux,被广泛应用于嵌入式系统。,例如,机顶盒、移动电话及行动装置,等。,在移动电话上,,Linux,已经成为与,Symbian,OS,、,Windows Mobile,系统并列的三大智能手机操作系统之一;,在移动装置上,则成为,Windows CE,之外另一个选择。,有不少硬件式的网络防火墙及路由器,其内部都是使用,Linux,,并采用了操作系统提供的防火墙及路由功能。,在,Linux,应用上,,Linux,确实跟它的竞争对手,Windows,相比还有一定的差距。不过在高端的应用上,,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,数据库系统。,android,(,Google,公司开发的操作系统),Android,是一种基于,Linux,的自由及开放源代码的,操作系统,,主要使用于,移动设备,,如,智能手机,和,平板电脑,,由,Google,公司和,开放手机联盟,领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“,安卓,”或“,安致,”。,Android,操作系统最初由,Andy Rubin,开发,主要支持,手机,。,2005,年,8,月由,Google,收购注资。,2007,年,11,月,,Google,与,84,家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良,Android,系统。随后,Google,以,Apache,开源许可证的授权方式,发布了,Android,的源代码。第一部,Android,智能手机发布于,2008,年,10,月。,Android,逐渐扩展到,平板电脑,及其他领域上,如,电视,、,数码相机,、,游戏机,等。,2011,年第一季度,,Android,在全球的市场份额首次超过,塞班系统,,跃居全球第一。,2013,年的第四季度,,Android,平台手机的全球市场份额已经达到,78.1%,。,12013,年,09,月,24,日谷歌开发的操作系统,Android,在迎来了,5,岁生日,全世界采用这款系统的设备数量已经达到,10,亿台。,2014,第一季度,Android,平台已占所有移动广告流量来源的,42.8%,,首度,超越,iOS,。但运营收入不及,iOS,。,7.1.3 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,计划开发出了许多高质量的免费软件,如:,GCC,、,GDB,、,Bash Shell,等,这些软件为,Linux,的开发创造了基本的环境,是,Linux,发展的重要基础,因此,严格来讲,,Linux,应该被称为,GNU/Linux,。,为保证,GNU,软件可以自由地“使用、复制、修改和发布”,所有,GNU,软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,,GNU,通用公共许可证(,GNU General Public License,,,GPL,)。这个就是被称为“反版权”(或称,Copyleft,)的概念。,GNU,包含,3,个协议条款,它们是:,GPL,:,GNU,通用公共许可证(,GNU General Public License,),LGPL,:,GNU,较宽松公共许可证,(GNU Lesser General Public License,),旧称,GNU Library General Public License(GNU,库通用公共许可证,),;,GFDL,:,GNU,自由文档许可证,(,GNU Free Documentation License,)的缩写形式。,POSIX,表示可移植操作系统接口(,Portable Operating System Interface,,,POSIX,)。,电气和电子工程师协会(,Institute of Electrical and Electronics Engineers,,,IEEE,)最初开发,POSIX,标准,是为了提高,UNIX,环境下应用程序的可移植性。然而,,POSIX,并不局限于,UNIX,。,7.2.1 Linux,介绍,Linux,一般由,内核、,Shell,、文件结构,和,实用工具,等四个主要部分组成,下面分别介绍:,1,Linux,内核,内核是,Linux,系统的灵魂,负责整个系统的,内存管理,进程调度和文件管理。,它从用户那里接受命令并把命令送给内核去执行。,Linux,内核的容量并不大,并且大小可以裁减。,一般一个功能比较全面的内核也不会超过,1M,。,合理的配置,Linux,内核是嵌入式开发中很重要的一步,对内核的充分了解是嵌入式,Linux,开发的基本功。,7.2 LINUX,入门,Linux,内核的功能大致分成如下几个部分:,1,)进程管理,进程管理功能负责创建和撤销进程以及处理他们和外部世界的连接。不同进程之间的通信是整个系统的基本功能,因此也由内核处理。除此之外,控制进程如何共享,CPU,资源的调度程序也是进程管理的一部分。概括的说,内核的进程管理活动就是在单个或多个,CPU,上实现多进程的抽象。,2,)内存管理,内存是计算机的主要资源之一,用来管理内存的策略是决定系统性能的一个关键因素。内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间。内核的不同部分在和内存管理子系统交互时使用一套相同的系统调用,包括从简单的,malloc,/free,到其他一些不常用的系统调用。,3,)文件系统,Linux,在很大程度上依赖于文件系统的概念,,Linux,中的每个对象几乎都是可以被视为文件的。内核在没有结构硬件上构造结构化的文件系统。所构造的文件系通在整个系统中广泛使用。另外,,Linux,支持多种文件系统类型,即在物理介质上组织的结构不同。,4,)设备控制,几乎每个系统操作最终都会映射到物理设备上。除了处理器,内存以及其他很有限的的几个实体外,所有的设备控制操作都由与被控制设备相关的代码完成。这段代码叫做设备驱动程序,内核必须为系统中的每件外设嵌入相应的驱动程序。,5,)网络功能,网络功能也必须有操作系统来管理,因为大部分网络操作都和具体的进程无关。在每个进程处理这些数据之前,数据报必须已经被收集、标识、和分发。系统负责在应用程序和网络之间传递数据。另外,所有的路由和地址解析问题都由内核处理。,2,Linux Shell,Shell,是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。,Shell,是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。,Shell,有自己的编程语言用于对命令的编辑,它允许用户编写由,shell,命令组成的程序。,Shell,编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的,Shell,程序与其他应用程序具有同样的效果。,Linux,系统提供多种不同的,Shell,以供选择。,常用的有:,Bourne Shell,(简称,sh,),C-Shelll,(简称,csh,),Korn,Shell,(简称,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,所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,,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 Shell,、,Korn,Shell,等优点。,在启动,Linux,桌面系统后,,Shell,已经在后台运行起来了,但并没有显示出来。,如果想让它显示出来,按如下的组合键就可以:,+,组合键中的,F2,可以替换为,F3,、,F4,、,F5,、,F6,。,如果要回到图形界面,则按如下组合键:,+,另外,在图形桌面环境下运行“系统终端”也可以执行,Shell,命令,与用组合键切换出来的命令行界面是等效的。,“,系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是:,【开始】,【应用程序】,【附件】,【系统终端,】,就是系统终端的界面。该软件允许建立多个,Shell,客户端,它们相互独立,可以通过标签在彼此之间进行切换。,3,Linux,文件结构,内核,,Shell,和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。此外,,Linux,操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。,文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。,使用,Linux,,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。,Linux,目录采用多级树形结构,用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。,Linux,是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。,Linux,文件结构目录如下:,Linux,采用的是树型结构。,最上层是根目录,其他的所有目录都是从根目录出发而生成的。,微软的,DOS,和,windows,也是采用树型结构,但是在,DOS,和,windows,中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,它们之间的关系是并列的。,在,Linux,中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。,主要目录含义如下,:,1)/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,代表第一个物理,IDE,硬盘。,5,),/etc,这个目录用来存放系统管理所需要的配置文件和子目录。,6,),/lib,这个目录里存放着系统最基本的动态链接共享库,其作用类似于,Windows,里的,.dll,文件。几乎所有的应用程序都须要用到这些共享库。,7,),/sbin,这里存放的是系统管理员使用的管理程序。,8,),/tmp,用来存放一些临时文件的地方了。,9,),/lost+found,这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于,DOS,下的,.chk,文件。,10,),/mnt,这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。,11,),/proc,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。,12,),/root,系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权,比如单独拥有一个目录。,13,),/var,这个目录中存放着那些不断在扩充着的东西,为了保持,usr,的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在,/var,/log,目录中。,14,),/usr,这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;,(,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,在,Linux,中是帮助的同义词,这里就是帮助文档的存放目录;,(,10,),/usr/src,Linux,开放的源代码就存在这个目录!,4,Linux,实用工具,标准的,Linux,系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。,实用工具可分三类,:,1,)编辑器:,用于编辑文件。,2,)过滤器:,用于接收数据并过滤数据。,3,)交互程序:,允许用户发送信息或接收来自其他用户的信息。,7.2.2 Linux,的启动运行,1.,启动系统,计算机启动后,进入,windows,图形界面,在虚拟机下启动,Linux,。,2.,用户登录,Linux,是一个真正意义上的多用户操作系统,用户要使用该系统,首先必须登录,使用完系统后,必须退出。用户登录系统时,为了使系统能够识别该用户,必须输入用户名和密码,经系统验证无误后才可以登录系统使用。,Linux,下有两种用户:,1)root,用户,超级权限者,系统的拥有者,在,Linux,系统中有且只有一个,root,用户,它可以在系统中任何操作。在系统安装时所设定的密码就是,root,用户的密码。,2),普通用户,Linux,系统可以创建许多普通用户,并为其指定相应的权限,使其有限地使用,Linux,系统。,用户登录分两步进行:,1),输入用户的登录名,系统根据该登录名来识别用户;,2),输入用户的口令,该口令是用户自己选择的一个字符串,对其他用户完全保密,是登录系统时识别用户的唯一根据,因此每一个用户都应该 保护好自己的口令!,系统在建立之初,仅有,root,用户,其它的用户则是由,root,用户创建的。,由于,root,用户的权限太大了,所以如果,root,用户误操作将可能造成很大的 损失。所以建议系统管理员为自已新建一个用户,只有需要做系统维护、管理任务时才以,root,用户登录。,当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:,rootloclhost,/root#,这时就可以对系统做各种操作了。超级用户(,root,)的提示符是“,#”,,其他用户的提示符是“,$”,。,3.,控制台切换,Linux,是一个多用户操作系统,它可以同时接受多个用户登录。,Linux,还允许一个用户进行多次登录,这是因为,Linux,和,UNIX,一样,提供了虚拟控制台的访问方式,允许用户在同一时间从不同的虚拟控制台进行多次登录。,虚拟控制台的选择可以通过按下,Ctrl+Alt,+,一个功能键来实现,通常使用,F1-F7,例如,用户登录后,按一下,Ctrl+Alt+F2,键,用户又可以看到“,login:”,提示符,说明用户看到了第二个虚拟控制台。然后只需按,Ctrl+Alt+F1,键,就可以回到第一个虚拟控制台。,4.,切换用户,如果不指定用户名,则默认将用户身份换至,root,。从,root,身份切换到其他任何身份都不需要口令。,su,username,(从,root,身份切换到默认用户),su,root,(切换到,root,用户,并将,root,的环境变量同时带入),5.,退出登录,在,Linux,系统中,普通用户是无权关闭系统的!只有,root,用户才能够关闭它。当然如果你是按关机按钮则另当别论。我们可以通过以下几种方法实现:,1),按下,CTRL+ALT+DEL,组合键,这样系统将重新启动,;,2),执行,reboot,命令,这样系统也将重新启动,;,3),执行,shutdown-h now,命令,这样系统将关闭计算机,;,4),执行,halt,命令,可以关闭计算机。,7.2.3 linux,的文件系统,linux,文件有如下几种:,普通文件:,包括文本文件、数据文件、可执行的二进制程序等。,目录文件:,简称为目录,,Linux,中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件,,“,.,”,表示上一级目录,,“,.,”,表示该目录本身。,设备文件:,设备文件是一种特别文件,,Linux,系统用来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件:字符设备文件和块设备文件。,符号链接:,一种特殊文件,存放的数据是文件系统中通向某个文件的路径。当调用符号链接文件时,系统自动地访问保存在文件中的路径。,对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。可以用,ln,命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。,连接有,软连接,和,硬连接,之分,软连接又叫符号连接。它们各自的特点是:,硬连接:,原文件名和连接文件名都指向相同的物理地址。目录不能有硬连接,硬连接不能跨越文件系统(不能跨越不同的分区),文件在磁盘中只有一个拷贝,节省硬盘空间;,由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。,符号连接:,用,ln,-s,命令建立文件的符号连接。类似,windows,下的快捷方式。可以删除原有的文件而保存连接文件,没有防止误删除功能。,常用文件系统:,ext2,:,支持标准,Unix,文件类型,可用于多种存储介质,向上兼容性好,支持长达,255,个字符的文件名;,ext3,:,ext2,的升级版本,是多数,linux,发行版的默认文件系统类型,其主要优点是在,ext2,的基础上加入了记录数据的日志功能。可方便地从,ext2,迁移至,ext3,且支持异步的日志;,reiserfs,:,一种新型的文件系统,通过完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持。,ReiserFS,还以支持海量磁盘和磁盘阵列,并能在上面继续保持很快的搜索速度和很高的效率;,7.2.4 Linux,常用命令,下面是,Linux,基本操作命令,并进行了分类说明。对名令的学习,最好针对每一个都能亲自练习、掌握。,1.,显示,ls,:,以默认方式显示当前目录文件列表。,ls,a,:,显示所有文件包括隐藏文件。,ls,l,:,显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行。,2.,创建目录,目录是一种特殊类型的文件,如果没有特别指明,文件包括文件和目录。,.,表示上一级目录,,.,表示当前目录,它们是两个特殊目录。,/,目录为文件系统根目录,所有目录都是它的子目录,绝对路径以,/,起始,相对路径以当前所在目录起始。,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,:删除某一个文件,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.,显示,echo,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/,将,/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,),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,的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的。,11.,查看目录大小与查找,du,:计算当前目录的容量,du -sm,/root,:计算,/root,目录的容量并以,M,为单位,find-name/path file,:在,/path,目录下查找看是否有文件,file grep-ir,“chars”,:在当前目录的所有文件查找字串,chars,,并忽略大小写,,-i,为大小写,,-r,为下一级目录。,12.,访问权限,系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问文件。有三种不同类型的用户可对文件或目录进行访问:文件所有者,与所有者同组的用户、其他用户。,当用,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,:,修改访问权限。,格式:,chmod,who+|-|=mode,文件名。,参数说明:,who:,u,表示文件的所有者,g,表示与文件所有者同组的用户,o,表示“其他用户”,a,表示“所有用户”,它是系统默认值,mode:,+,添加某个权限,-,取消某个权限,=,赋予给定权限,mode,所表示的权限可使用下述字母,(,数字,),的任意组合:,r,可读,(4),、,w,可写,(2),、,x,可执行,(1),。,例如
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服