ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:272.74KB ,
资源ID:3776969      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3776969.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux课件 第4章 linux文件系统管理.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

linux课件 第4章 linux文件系统管理.docx

1、linux课件 第4章 linux文件系统管理第4章 文件系统管理4.1.1 Linux文件系统概述文件系统对于任何一种操作系统来说都是非常关键的。Linux中的文件系统是Linux下所有文件和目录的集合。Linux系统中把CPU、内存之外所有其他设备都抽象为文件处理。文件系统的优劣与否和操作系统的效率、稳定性及可靠性密切相关。从系统角度看,文件系统实现了对文件存储空间的组织和分配,并规定了如何访问存储在设备上的数据。文件系统在逻辑上是独立的实体,它可以被操作系统管理和使用。Linux系统自身的文件系统称为ext2,它是Linux默认的文件系统。通常把ext2及Linux支持的文件系统称为逻辑

2、文件系统。系统中所有的设备,包括字符设备、块设备和网络设备,都按照某种方式由逻辑文件系统统一管理。一般不同的逻辑文件系统具有不同的组织结构和文件操作函数,相互之间差别很大。Linux的内核使用了虚拟文件系统VFS(Virtual File System)技术,即在传统的逻辑文件系统的基础上,增加了一个称为虚拟文件系统的接口层,如图4-1所示。虚拟文件系统用于管理各种逻辑文件系统,屏蔽了它们之间的差异,为用户命令、函数调用和内核其他部分提供访问文件和设备的统一接口,使得不同的逻辑文件系统按照同样的模式呈现在使用者面前。对于普通用户来讲,觉察不到逻辑文件系统之间的差异,可以使用同样的命令来操作不同

3、逻辑文件系统所管理的文件。图4-1 Linux文件系统结构示意图从用户角度看,文件系统也是操作系统中最重要的组成部分。因为Linux系统中所有的程序、库文件、系统和用户文件都存放在文件系统中,文件系统要对这些数据文件进行组织管理。Linux下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统VFS,三是挂载到VFS中的各种实际文件系统,例如ext2,jffs等。VFS是一种软件机制,称它为Linux的文件系统管理者更确切,与它相关的数据结构只存在于物理内存当中。所以在每次系统初始化期间,Linux都首先要在内存当中构造一棵VFS的目录树(在Linux的源代码里称之为na

4、mespace),实际上便是在内存中建立相应的数据结构。VFS目录树在Linux的文件系统模块中是个很重要的概念,VFS中的各目录其主要用途是用来提供实际文件系统的挂载点。Linux不使用设备标志符来访问独立文件系统,而是通过一个将整个文件系统表示成单一实体的层次树结构来访问它。Linux在使用一个文件系统时都要将它加入到文件系统层次树中。不管是文件系统属于什么类型,都被连接到一个目录上且此文件系统上的文件将取代此目录中已存在的文件。这个目录被称为挂载点或者安装目录。当卸载此文件系统时这个安装目录中原有的文件将再次出现。磁盘初始化时(fdisk),磁盘中将添加一个描述物理磁盘逻辑构成的分区结构

5、。每个分区可以拥有一个独立文件系统如EXT2。文件系统将文件组织成包含目录、软连接等存在于物理块设备中的逻辑层次结构。包含文件系统的设备叫块设备。Linux文件系统认为这些块设备是简单的线性块集合,它并不关心或理解底层的物理磁盘结构。这个工作由块设备驱动来完成,由它将对某个特定块的请求映射到正确的设备上去。每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或VFS来通讯。Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux的VFS允许用户透明地安装许多不同的文件系统。虚拟文件系统的设计目标是为Linux用户提供快速且高效的文件访问服务。同

6、时它必须保证文件及其数据的正确性。这两个目标相互间可能存在冲突。当安装一个文件系统并使用时,Linux VFS为其缓存相关信息。此缓存中数据在创建、写入和删除文件与目录时如果被修改,则必须谨慎地更新文件系统中对应内容。4.1.2 Linux文件系统类型Linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分以下几类。 磁盘文件系统。指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、Ext4、VFAT、ISO9

7、660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(Network Technology File System)等。 网络文件系统。是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS(Network File System,网络文件系统)、Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等。 专有/虚拟文

8、件系统。不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。Linux最早的文件系统是Minix,它受限甚大且性能低下。其文件名最长不能超过14个字符(虽然比8.3文件名要好)且最大文件大小为64M字节。64M字节看上去很大,但实际上一个中等的数据库将超过这个尺寸。第一个专门为Linux设计的文件系统被称为扩展文件系统EXT。它出现于1992年四月,虽然能够解决一些问题但性能依旧不好。1993年扩展文件系统第二版或EXT2被设计出来

9、并添加到Linux中。将EXT文件系统添加入Linux产生了重大影响。每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或VFS来通讯。但随着Linux在关键业务中的应用,ext2非日志文件系统的弱点也逐渐显露出来了。为了弥补其弱点,在ext2文件系统基础上增加日志功能开发了升级的ext3文件系统。目前Ext3是Linux系统广泛使用的一种文件格式。在Ext2基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。Ext3最大特点是:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。从2.6.28版本开始,Linux

10、Kernel开始正式支持新的文件系统EXT4,在EXT3的基础上增加了大量新功能和特性,并能提供更佳的性能和可靠性。EXT3其实只是在EXT2的基础上增加了一个日志功能,而EXT4的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等等。需要说明的是,FAT16、FAT32、NTFS是Windows NT、Windows 2000、Windows XP系统主要的文件系统格式。Linux系统同样可以很好

11、的支持这些文件系统格式。不过,以往版本的Linux系统需要单独挂载Windows文件系统,而RHEL 6可以自动识别这些文件格式,以只读方式访问计算机磁盘中Windows系统上的文件。1.ext3文件系统由于ext4还未作为标准文件系统,在此先介绍ext3文件系统,其把磁盘划分为4个部分:引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统。超级块:用来记录文件系统的配置方式,其中包括i-node数量、磁盘区块数量、未使用的磁盘区块,以及i节点表、空闲块表在磁盘中存放的位置信息。由于超级块保存了极为重要的文件信息,因此系统将超级块冗余保存。系统在使用fsck等命令

12、修复处于严重瘫痪状态的文件系统时,实际上是在对超级块进行恢复操作。i-nide(索引节点):索引节点是一个结构,它包含了文件大小、用户UID、用户组GID、文件存取模式(包括读、写、执行)、链接数(每创建一个连接,链接数加1;删除一个链接,链接数减1)、文件最后修改时间、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,系统给每个索引节点分配了一个索引节点号,就是该节点在数组中的索引号。一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。索引节点之后的数据块用于存放文件内容。文件系统采用了一对一映射的方法来实现文件名到i节点的转换。Linux文件系统将文件索引节点号和文

13、件名同时保存在目录中。因此,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中的每文件,在目录表中都会有一个入口项,入口项中含有文件名和与文件相应的i节点号。目录中每一对文件名称和索引节点号称为一个链接。对于一个文件来说,有唯一的索引节点号与之对应,而对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。可以用ln命令对一个已经存在的文件再创建一个新的链接,而不必复制文件的内容,后面详细介绍ln命令的用法。链接分为硬链接(hard link)和符号链接(symbolic link)两种,符号链接又称为软链接(soft link)。它们

14、各自的特点如下: 硬链接:(1)原文件名和链接文件名都指向相同的物理地址。(2)目录不能有硬链接,硬链接不能跨越文件系统(不能跨越不同的分区)。(3)文件在磁盘中只有一个复制,以节省硬盘空间。(4)删除文件时要在同一个索引节点属于唯一的链接时才能完成。每删除一个硬链接文件只能减少其硬链接数目,只有当硬链接数目为1时才能真正删除,这就防止了误删除。 符号链接:(1)用ln s命令创建文件的符号链接。(2)可以指向目录或跨越文件系统。(3)符号链接是Linux特殊文件的一种,作为一个文件,它的内容是它所链接的文件或目录的路径,类似于Windows系统中的快捷方式。可以删除原有的文件或目录而保存链接

15、文件,这是链接文件就没有应用价值了。因而它没有防止误删除功能。2.Linux日志文件系统日志文件系统是在传统文件系统的基础上,加入文件系统更改的日志记录,它的设计思想是:跟踪记录文件系统的变化,并将变化内容记录入日志。日志文件系统在磁盘分区中保存有日志记录,写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,系统重启时,会根据日志记录来恢复中断前的写操作。在日志文件系统中,所有的文件系统的变化都被记录到日志,每隔一定时间,文件系统会将更新后的元数据及文件内容写入磁盘。在对元数据做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,然后它

16、修改元数据。目前Linux的日志文件系统主要有:在Ext2基础上开发的Ext3,以及在Ext3基础上开发的Ext4,根据面向对象思想设计的ReiserFS,由SGI IRIX系统移植过来的XFS,由IBM AIX系统移植过来的JFS,其中EXT4完全向下兼容Ext3、EXT2。3.实践指南(1)在小型系统,如:邮件系统或小规模的电子商务系统应用时,ReiserFS和Ext3的性能是比较好的。但由于Ext3的目录项是线型的,而ReiserFS的目录项是树型的,故当目录下文件较多时,ReiserFS的性能更优。(2)在对于上G的这种大文件做I/O时,各种文件系统间的性能差距很小,性能瓶颈往往在磁盘

17、上。(3)虽然XFS和JFS在设计结构上都比较好,但它们主要是针对大中型系统的,在小型系统中由于硬件的原因性能发挥不明显。(4)全日志模式和预定、写回这两种模式相比,性能差距是比较大的;而预定和写回之间的性能差距不大。所以性能和安全兼顾时,文件系统的缺省安全模式,即预定模式是比较好的选择。4.2 Linux文件组织结构一直使用微软Windows操作系统的用户似乎已经习惯了将硬盘上的几个分区,并用A、B、C、D等符号标识。采取这种方式,在存取文件时一定要清楚文件存放在哪个磁盘的哪个目录下。Linux的文件组织模式犹如一棵倒挂的树。Linux文件组织模式中所有存储设备作为这棵树的一个子目录,存取文

18、件时只需确定目录就可以了,无需考虑物理存储位置。这一点其实并不难理解,只是刚刚接触Linux的读者会不太习惯。4.2.1 文件系统结构计算机中的文件可以说是不计其数,如何组织和管理文件,及时响应用户的访问需求,就需要构建一个合理、高效的文件系统结构。1文件系统结构某所大学的学生可能在一万人到两万左右,通常将学生分配在以学院-系-班为单位的分层组织机构中。若需要查找一名学生,最笨的办法是依次询问大学中的每一个学生,直到找到为止。如果按照从学院到系,再到班的层次查询下去,必然可以找到该学生,且查询效率高。如果把学生看作文件,院-系-班的组织结构看作是Linux文件目录结构,同样可以有效地管理数量庞

19、大的文件。这种树形的分层结构就提供了一种自顶向下的查询方法。Linux文件系统就是一个树形的分层组织结构,根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。Linux的全部文件按照一定的用途归类,合理地挂载到这棵“大树”的“树枝”或“树叶”上,如图4-2所示,而这些全不用考虑文件的实际存储位置是在硬盘上,还是在CD-ROM或USB存储器中,甚至是在某一网络终端里。图4-2 文件系统此时,读者应该明白Linux的文件系统的组织结构类似于一棵倒置的树。那么如何知道文件存储的具体硬件位置呢?在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备

20、等。为了能够按照统一的方式和方法访问文件资源,Linux提供了每种硬件设备相应的设备文件。一旦Linux系统可以访问到某种硬件,就将该硬件上的文件系统挂载到目录树中的一个子目录中。例如,用户插入USB移动存储器,RHEL 6自动识别USB存储器后,将其挂载到“/media/”目录下,而不像Windows系统将USB存储器作为新驱动器,表示为“F:”盘。2绝对路径和相对路径Linux文件系统是树形分层的组织结构,且只有一个根节点,在Linux文件系统中查找一个文件,只要知道文件名和路径,就可以惟一确定这个文件。例如“/usr/games/gnect”就是位于“/usr/games/”路径下的4子

21、连线游戏应用程序文件,其中第一个“/”表示根目录。这样就可以对每个文件进行准确的定位,并由此引出两个概念: 绝对路径。指文件在文件系统中的准确位置,通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路径。 相对路径。指相对于用户当前位置的一个文件或目录的位置。例如用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。其实,绝对路径和相对路径的概念都是相对的。就像一位北京人在中国作自我介绍时,不必在强调“中国/北京”。若这个人身在美国,介绍时就有必要强调“中国/北京”了。因此,在什么场合使用绝对路径和相对路径,要看用户当前在文件系统所处的位置。

22、4.2.2 基本目录由于Linux是完全开源的软件,各Linux发行机构都可以按照自己的需求对文件系统进行裁剪,所以众多的Linux发行版本的目录结构也不尽相同。为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS,File Hierarchy Standard),2004年发行最新版本FHS 2.3。RHEL 6系统同样遵循这个标准。表4-1列出了RHEL 6基本目录。表4-1 RHEL 6基本目录目录名描述/Linux文件系统根目录/bin存放系统中最常用的可执行文件(二进制)/boot存放Linux内核和系统启动文件,包括Grub、lilo启动器程序/cgroup存放被cgco

23、nfig服务控制的资源分配情况,如CPU time,系统内存, 网络带宽等/dev存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等/etc存放系统的所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等/home用户主目录的默认位置/lib存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件/lost+found存放由fsck放置的零散文件/mediaLinux系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件/mnt该目录通常用于作为被挂载的文件系统的挂载点/opt作为可选文件和程序的存放目录,主要被第3方开发者用来简易地安装

24、和卸装他们的软件包/proc存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识。以下是/proc目录中部分内容/proc/数字/每一个进程在/proc下面都有一个以其进程号为名称的目录。/proc/cpuinfo有关处理器的信息,如它的类型、制造日期、型号以及性能。/proc/devices配置进当前运行内核的设备驱动程序的列表/proc/meminfo物理内存和交换区使用情况的信息/proc/modules此时哪些内核模块被加载/proc/net/网络协议的状态信息/proc/uptime系统启动的时间/proc/version内核版本/root根用户(超级用户)的主目录

25、/sbin存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件/selinux是Secure Enhance Linux(SELinux)的执行目录/srv存放系统所提供的服务数据/sys该目录用于将系统设备组织或层次结构,并向用户程序提供详细的内核数据信息/tmp存放用户和程序的临时文件,所有用户对该目录都有读写权限/usr(unix software resource)用于存放与Unix操作系统软件资源直接有关的文件和目录,例如应用程序及支持它们的库文件。以下是/usr中部分重要的目录/usr/bin/存放用户和管理员的自行安装的软件/usr/etc/存放的系统配置文件/u

26、sr/games/存放游戏文件/usr/include/C/C+等各种开发语言环境的标准include文件/usr/lib/应用程序及程序包的连接库、目标文件等/usr/libexec可执行的库文件/usr/local/系统管理员安装的应用程序目录/usr/sbin/存放非系统正常运行所需要的系统命令/usr/share/存放使用手册等共享文件的目录/usr/src/存放一般的原始二进制文件/usr/tmp/存放临时文件/var通常用于存放长度可变的文件,例如日志文件和打印机文件。以下是/var中部分重要的目录/var/cache/应用程序缓存目录/var/crash/系统错误信息/var/g

27、ames/游戏数据/var/lib/各种状态数据/var/lock/文件锁定记录/var/log/日志记录/var/mail/电子邮件/var/opt/opt目录的变量数据/var/run/进程的标示数据/var/spool/存放电子邮件、打印任务等的队列目录/var/www存放网站文件需要说明两点。首先,Linux系统是严格区分大小写的,这意味着文件和目录名的大小写是有区别的。例如File.txt、FILE.TXT和file.txt文件是3个完全不同的文件。通常按照惯例,Linux系统大多使用小写。其次,Linux系统中文件类型与文件后缀没有直接关系。这一点与Windows不同,例如Wind

28、ows将“.txt”作为文本文件的后缀,应用程序依此判断是否可以处理该类型文件。4.2.3 Linux文件系统与Windows文件系统比较文件系统是任何操作系统中最重要的核心部分之一。从UNIX采用树形文件系统结构到Linux的出现,依然延续使用了这种文件系统。尽管Linux文件系统与Windows文件系统很多方面相似,但两者是各有特点,表4-2将两者进行了比较。表4-2 Linux文件系统与Windows文件系统的比较比较项目Linux文件系统Windows文件系统文件格式使用的主要文件格式有EXT2、EXT3、Ext4、RerserFS、ISO9660、vfat等使用的主要文件格式有FAT

29、16、FAT32、NTFS等存储结构逻辑结构犹如一棵倒置的树。将每个硬件设备视为一个文件,置于树形的文件系统层次结构中。因此,Linux系统的某一个文件就可能占有一块硬盘,甚至是远端设备,用户访问时非常自然逻辑结构犹如多棵树(森林)。将硬盘划分为若个分区,与存储设备一起(例如CD-ROM、USB存储器等),使用驱动器盘符标识,例如A:代表软驱、C:代表硬盘中的第一个分区等文件命名Linux文件系统中严格区分大小写,MyFile.txt与myfile.txt指不同的文件。区分文件类型不依赖于文件后缀,可以使用程序file命令判断文件类型Windows文件系统中不区分大小写,MyFile.txt与

30、myfile.txt是指同一个文件。使用文件后缀来标识文件类型,例如使用“.txt”表示文本文件路径分隔符Linux使用斜杠“/”分隔目录名,例如“/home/usr/share”,其中第一个斜杠是根目录(/),绝对路径都是以根目录作为起点Windows使用反斜杠“”分隔目录名,例如“C:programusername”,绝对路径都是以驱动器盘符作为起点文件与目录权限Linux最初的定位是多用户的操作系统,因而有完善文件授权机制,所有的文件和目录都有相应的访问权限Windows最初的定位是单用户的操作系统,内建系统时没有文件权限的概念,后期的Windows逐渐增加了这方面的功能4.3 使用Na

31、utilus文件管理器作为GNOME默认的文件管理器Nautilus,它为用户提供了一个漫游文件系统的图形化工具。使用Nautilus可以高效地查看文件夹、管理用户文件(剪切、复制、删除、发送到、重命名)、根据文件类型使用正确的应用程序打开,同时,还可以显示网页、访问网络资源(FTP、samba、NFS)。而其中大部分操作,使用拖拽就可以实现。4.3.1 使用Nautilus浏览文件系统Nautilus使用左侧栏中的树形目录,帮助用户在文件系统中快速查找目标文件。单击目录树节点,右侧栏中即可显示该目录中的内容。图4-3显示了根目录的内容,读者可以与表4-1作对照,建议读者最好能实际打开每个文件夹看一看其中的内容。图4-3 使用Nautilus浏览文件系统若用户明确要查找的文件夹位置,可以单击位置按钮打开【位置栏地址框】,在【位置地址框】中输入目录地址,直接打开文件夹。也可使用【Ctrl】+【L】快捷键打开【位置栏地址框】,如图4-4所示。图4-4 使用位置栏定位文件表4-3列出其他特殊目录的地址标识符。表4-3 特殊目录标识符地址描述burn:/打开CD/DVD刻录机文件夹computer:/装载主机的文件系统、光盘、可移动设备、软盘驱动器file:/目录

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2