文件系统PPT幻灯片.pptx_第1页
文件系统PPT幻灯片.pptx_第2页
文件系统PPT幻灯片.pptx_第3页
文件系统PPT幻灯片.pptx_第4页
文件系统PPT幻灯片.pptx_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

16-1,单元16,Linux文件系统深究,16-2,目标,学习了本单元后,你应该能够:了解硬盘及分区描述文件系统信息的组织方式描述dentry和inode的功能描述cp、mv、和rm这些命令从inode角度的运行方式创建符号链接和硬链接访问可移介质使用tar和gzip创建归档,硬盘的物理组成,我们常见的硬盘都是由圆形的盘片组成的,大部分为单盘的硬盘,盘片描述如下图:,16-3,为什么要进行分区,为什么要进行分区?因为,我们必须要告诉操作系统硬盘的可以访问的区域是由A柱面到B柱面,这样,操作系统才能控制硬盘磁头去AB范围内柱面访问数据,如果没有这个信息,操作系统将无法知道它要去哪里访问数据,分区的要点就是“记录每一个分区的起始与结束柱面”。,16-4,分区信息存储位置,分区的起始与结束柱面这些信息存储在硬盘的什么位置呢?就是我们常说的主引导区(MasterBootRecorder,简称MBR)。MBR就是硬盘的第0号柱面,也是计算机在启动时读取的第一个区域,这个区域记录了硬盘里的所有分区信息,如果MBR损坏,硬盘将无法使用,因为操作系统不知道该去哪个柱面读取数据。,16-5,MBR的限制,MBR仅提供最多4个分区的记忆,这就是主分区(Primary,P)与扩展分区(Extended,E)最多只能有四个的原因。如果要正好使用4个分区,那么势必要使用3P+1E的模式,并将所有剩余空间分配给扩展分区(扩展分区最多只能有一个),否则如果3P+1E之后还有剩余空间,这些空间就会浪费掉。由此我们可以看出,常见的硬盘分区模式如下:3P+1E1P+1E+2P1P+1E(常用)4P,16-6,16-7,文件系统,分区被格式化成文件系统(filesystem),从而使操作系统能够识别,使用户能够保存数据linux默认的文件系统:ext3(最新出的fedora12默认的是ext4),即第三次扩展Linux文件系统(ThirdExtendedLinuxFilesystem)其它常见的文件系统:ext2和msdos(典型用于软盘)iso9660(典型用于光盘)GFS和GFS2(典型用于SAN),ext2/ext3文件系统,标准的ext2/ext3文件系统中,将文件的内容分为两个部分来存储,一个是文件属性,另一个则是文件内容。早在ext2时,就规划出inode与块来分别存储文件的属性(放在inode中)与文件的内容(放置在块中),当一个分区格式化为ext2时,它一定会有inode表与块这两个区域。inode表是记录该文件的相关属性,并为每个文件进行信息索引,于是就有了inode的数值,操作系统根据指令,能通过inode值最快的找到相对应的文件;块则是记录文件内容数据的区域。,16-8,16-9,inode,inode表(inodetable)包含ext2或ext3文件系统中的所有文件的列表inode(indexnode,索引节点)是该表中的项目,所包含的关于文件的信息(元数据,metadata)有:文件类型、权限、UID、GID链接计数(指向这个文件的路径名数量)文件的大小和各类时间戳到文件在磁盘上的数据块的指针其它关于文件的数据,理解inode,为了便于理解inode,我们来做个比喻,我们把一个格式化成ext2文件系统后的分区比作一本书,其中块相当于书正文的每一页,inode表就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。这个比喻可能不是很恰当,但帮助我们理解inode表还是比较形象的。,16-10,16-11,目录,计算机使用inode值(inodenumber)来引用文件用户使用文件名(filename)来引用文件我们常常以为目录是一个容器,包括文件和其他目录,实际上,目录(directory)是文件名和inode值之间的映射表使用ll-i命令来显示inode值,例如:rootlocalhost#ll-itotal1441458729-rw-1rootroot1110Jan322:22anaconda-ks.cfg1458760drwxr-xr-x2rootroot4096Jan314:25Desktop1458722-rw-r-r-1rootroot31716Jan322:21install.log,16-12,inode和目录,名字通过父目录来关联inode报告类型:目录inode元数据权限属性和到磁盘上块的指针块:1链接:4访问时间修改时间内容对目录:name/inode列表具体列表对于文件:任意数据,Linux系统如何读取文件内容,对于目录:在linux系统中建立目录时,ext2会给目录分配一个inode与至少一个块,其中,inode记录目录的相关属性,并指向分配到的那个快,块记录在这个目录下的相关文件(或目录)的关联性对于文件:建立文件时,ext2会给文件分配至少一个inode与相对于该文件大小的块数量,例如:假设一个块为4KB,要建立一个100KB的文件,linux将分配一个inode和25个块来存储文件注意,inode本身并不记录文件名,而是记录文件的相关属性,文件名则记录在目录所属的块区域中,16-13,续上页,文件的相关连接会记录在目录的块区域中,因此,要读取一个文件的内容时,linux会先从跟目录/获取该文件的上层目录所在的inode,再由该目录所记录的文件关联性所获取该文件的inode,最后通过inode内提供的块指针来获取最终的文件内容。我们以/etc/crontab这个文件的读取为例,它的读取过程如下图:,16-14,续上页,读取/etc/crontab的流程描述如下:1、操作系统根据根目录/的相关数据可获取/etc目录所在的inode,并读取/etc这个目录的所有相关属性2、根据/etc的inode数据,可获取/etc块中的数据,即该目录下所有文件的关联数据,并读取文件的关联性内容3、由上一个步骤中的块,可以知道crontab文件的inode值,并前往该inode4、由上一个步骤的inode中,可获取crontab文件的所有属性,并前往有inode所指向的块区域,从而获取crontab文件的内容,16-15,16-16,cp和inode,cp命令:1.分配一个未用的inode号码,在inode表中添加一个新项目2.在目录中创建一个dentry(目录项),关联文件名和inode号码3.把数据复制到新文件中简单的说,当文件复制到同一目录中的一个新文件中时,目录和inode表中都会新增一个项目,cp命令举例,redhatlocalhost$ll-itotal41653231-rw-rw-r-1redhatredhat0Jun1023:07123redhatlocalhost$cp123456redhatlocalhost$ll-itotal81653231-rw-rw-r-1redhatredhat0Jun1023:071231653232-rw-rw-r-1redhatredhat0Jun1023:08456,16-17,16-18,mv和inode,如果mv命令的目标和源文件所在的文件系统相同,mv命令就会:1.使用新文件名新建目录项目2.删除带有原文件名的原有目录项目对inode表无影响(除了时间戳以外),对数据在磁盘上的位置也无影响:不会移动任何数据!如果目标是不同的文件系统,mv命令的行为就是复制和删除,mv命令举例,redhatlocalhost$mkdirtestredhatlocalhost$cdtest/redhatlocalhosttest$touch123redhatlocalhosttest$ll-i1231653234-rw-rw-r-1redhatredhat0Jun1023:13123redhatlocalhosttest$mv123456redhatlocalhosttest$ll-i4561653234-rw-rw-r-1redhatredhat0Jun1023:13456,16-19,16-20,rm和inode,rm命令:1.减少链接数量,从而释放inode号码,这个号码可以被重新利用2.把数据块放在可用空间列表中3.删除目录项目底层数据实际上没有被删除,但是当数据块被另一个文件使用时,原来的数据就会被覆盖,16-21,硬链接,硬链接添加了一个额外的路径名来指代某个文件文件系统上的一个物理文件每个目录都引用相同的inode号码增加链接数量rm命令减少链接数量只要至少有一个链接存在,文件就存在当链接数量减少到零时,文件就会被删除无法跨越驱动器或分区语法:ln文件名链接名,硬链接举例,rootlocalhost#cd/etc/rootlocalhostetc#lncrontab/root/crontabrootlocalhostetc#ll-i/etc/crontab/root/crontab1912710-rw-r-r-2rootroot255Jul152006/etc/crontab1912710-rw-r-r-2rootroot255Jul152006/root/crontab从例子中可以看出,其实/root/crontab与/etc/crontab是同一个文件,只是有两个目录记录了crontab文件的关联数据,也就是说,由/etc目录所记录的关联数据可知,crontab的inode放在A处,而/root目录所记录的关联数据中的crontab同样也指向A处的inode,所以crontab文件inode与块都没有改变,只是有两个目录记录了关联数据硬链接的最大好处就是安全,不管删除哪一个文件,其实仅删除了目录下的文件关联数据,并没有更改源文件的inode与块数据由此我们可以得出结论:硬链接不会用掉inode号码与磁盘空间,16-22,16-23,符号链接(软链接),指向另一个文件的符号链接lsl显示链接名称和它所指的文件lrwxrwxrwx1joejoe11Sep2518:02pf-/etc/passwd文件类型:l表示符号链接符号链接的内容是它所指的文件的名称语法:lns文件名链接名软链接会占用inode与块数据,16-24,七种基本文件类型,16-25,检查空闲空间,df:报告磁盘空间用量报告每个文件系统上的磁盘空间总量、已用空间总量和空闲空间总量(以千字节为单位)-h或-H选项以更易懂的单位显示用量大小du:报告磁盘空间用量报告每个目录的磁盘用量包括每个目录的总量-s选项只列出总量,不列出每个目录占用量-a选项列出所有的文件与目录容量也接受-h和-H选项应用程序系统工具磁盘用量分析器或baobab:图形化地显示磁盘用量,16-26,可移介质,挂载(Mounting)意味着使外来的文件系统看起来如同是主目录树的一部分。访问前,介质必须被挂载摘除时,介质必须被卸载按照默认设置,非根用户只能挂载某些设备(光盘、DVD、软盘、USB等等)挂载点通常在/media下,16-27,挂载光盘和DVD,在Gnome/KDE中自动挂载否则就必须被手工挂载CD/DVD读取器mount/media/cdromCD/DVD写入器mount/media/cdrecordereject命令卸载并弹出磁盘,16-28,挂载USB介质,被内核探测为SCSI设备/dev/sdaX、/dev/sdbX、或类似的设备文件在Gnome/KDE中自动挂载图标在计算机窗口中创建挂载在/media/设备ID下设备ID被厂商内建到设备中,16-29,归档文件和压缩归档,归档会把很多文件放在一个目标文件中易于备份、贮存、和传输tar:标准的Linux归档命令归档通常被压缩压缩文件时应用算式解压会恢复原始文件tar命令原始支持使用gzip或gunzip,或者bzip2和bunzip2的压缩,16-30,创建、列举、和抽取文件归档,行动参数(需要一个):-c创建归档-t列举归档-x从归档中抽取文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论