第六章UNIX文件系统可从两个角度观察文件系统的性能:•用户--是否便捷易用且文件访问效率高;•内部结构--是否组织合理,可扩展,易实现。6.1UNIX文件概念•一般文件--是字节序列,无结构约束;•特殊文件--对硬件设备、管道、链接进行描述。系统用同样的管理机制管理各种文件。6.2UNIX的文件类型1.普通文件——以字节为单位的数据流,包括:文本文件、源码文件、数据文件、可执行文件。文件名。文件索引号。字节数。最后访问时间。文件存取权限。属主名。属组名文件属性约40项,与使用有关的主要内容:UNIX普通文件命名规则•命名规则随意•扩展名没有硬性规定如可以指定:filea.exe为文档文件;fileb.text为可执行文件UNIX文件解释交给应用程序•Unix文件系统不对文件内容做标注和解释•文件系统管理任务比较简单、清晰•对同一文件可以有多种解释结果目录称为“目录文件”,其中包括了目录中的文件名和文件描述信息。每个目录项包括:.目录/文件名.索引节点号InodeFilename其中Inode通常为4字节指针,是磁盘中一个数组的索引号。该数组对应一个文件的属性信息结构,每个文件有唯一的inode及属性信息结构。UNIX目树仅有一个根,除了可以创建目录树外,还可以通过安装和卸载命令构成或修改目录树。2.目录树及目录文件目录树是UNIX文件系统的组成部分;有关目录树的命令很多,原则上目录树的深度无限制。/usrdevsbinhomeetctmpbinteam1team2binlibmanlocalzhangwangliliuzhao一个典型的unix目录树结构/usr可共享的操作系统命令,库,和文档。/sbin引导系统和安装其它文件系统的最少需要的命令/opt应用程序/etc系统配置文件,不再包含可执行文件/dev设备文件/var动态信息例如日志,脱机打印缓冲文件/mnt本地装载的文件系统/tmp操作系统临时文件/stand内核和引导加载器。/home用户目录第六章UNIX文件系统/usr目录的更详细的内容/usr目录包含操作系统的大部分,包括命令,库,和文档。/usr文件系统包含操作系统的文件,例如可执行文件和ASCII文档。/usr目录下标准的子目录在如下定义;/usr/bin操作系统的用户命令/usr/conf内核配置文件/usr/contrib发布的软件/usr/lbin其它命令文件/usr/local用户自己安装的软件/usr/newconfig默认的操作系统配置数据文件/usr/sbin系统管理命令/usr/share独立结构的共享文件/usr/share/man操作系统帮助手册/usr/share/doc技术相关的白皮书第六章UNIX文件系统/var目录的详细内容/var目录中保存各种日志,临时文件,中间文件,和打印缓冲文件。任何应用程序或者命令在运行时候创建的文件,对操作系统来说不是关键性的数据,通常都会被放在/var目录的下面。例如,/var/adm中会包含于系统管理相关的日志和其它运行时创建的文件。第六章UNIX文件系统/var下面包含的文件有:/var/adm普通的管理文件和日志文件/var/adm/crash内核的dump文件/var/mail收到的邮件/var/opt/应用运行时产生的文件(例如日志,临时文件)。每一个应用程序有自己的目录/var/spool操作系统子系统,例如lp(打印),cron等系统的缓冲文件/var/tmp/usr目录下的命令产生的临时文件第六章UNIX文件系统应用程序的目录每一个应用程序会在/opt,/etc/opt,/var/opt下面有自己的子目录。而应用程序的可共享的,或者静态的部分在它们自己的/opt/application目录下,这个目录的结构同操作系统文件系统的结构类似:/opt/application/bin用户命令/opt/application/share/man帮助手册/opt/application/lib库/opt/application/lbin后台命令/opt/application/newconfig配置文件的主拷贝第六章UNIX文件系统帮助你定位的命令find在文件系统层次结构中查找文件whereis定位源程序,二进制代码,和帮助手册的位置Which在你的PATH中定位一个可执行文件file判断文件的类型第六章UNIX文件系统使用例子查找属于用户grep的所有文件#find/-usergrep在/tmp目录下查找7天都没有存取的文件#find/tmp-typef-atime+7删除core文件#find/-namecore-execrm{}\;whereis命令whereis命令在你收到“没有发现”错误信息的时候十分有用。它会搜索一个预定义的目录列表。默认的情况下,whereis会去搜索源程序,二进制文件,和帮助手册。你可以使用-b选项来限制它只搜索二进制代码。例子:#whereis-blsls:/usr/bin/ls/sbin/ls第六章UNIX文件系统which命令which命令在在判断将要使用命令的哪一个版本时有用。一些命令有多个home。你到底是执行的哪一个版本,是由你PATH变量中指定的目录的顺序决定的。file命令file命令对文件作一系列的测试,然后会试图对文件归类。这个命令在判断一个命令是一个shell脚本还是一个二进制的可执行文件时有用。例子:#file/sbin/shutdown/sbin/shutdown:s800sharedexecuteable#file/sbin/rc/sbin/rc:asciitextstrings命令strings命令可以找出一个二进制文件中的可用信息,它会在屏幕上显示出文件中的任何可以打印的字符。对目录操作及文件操作的命令有:•目录:mkdir;cd;pwd;mv;rmdir•文件:cp;cat;ln;rm;mv•目录树:ls;chmod;du;find3.UNIX特殊文件UNIX将I/O设备也看成特殊文件,用对文件管理的方式管理设备,其优点是:1)文件与设备的输入输出尽量统一2)命令解释过程简单3)设备和文件在操作系统内处于同等保护机制下特殊文件又可分为:。块设备文件——文件类型记为b。字符设备文件——文件类型记为c4.管道文件(FIFO)管道文件主要用于进程间通信;用于进程间通信的方式有“管道”、“有名管道”或“sockets”。•“管道”是一片核心存储区,允许两个有关进程通过它进行通信,尤其是父子进程间的通信。•“有名管道”可当作文件使用,通信的两个进程在同一机器中,但可能相互无关,文件类型记为p。•Socket是一个核心存储中的数据结构,用于管理存在于网络中的进程通信。典型应用是管道线命令方式:ls–l|sort–n+45.链接文件使用链接可以建立文件间的共享,这种关联在UNIX中也作为一种文件管理。符号链接文件是一种链接指针,它允许指向一个已存在的文件,可以共享该文件但不复制其文件内容。符号链接形成的link文件类型记为“l”。6.3UNIX文件系统1.文件组织及命名常见文件组织结构:•堆•顺序文件•索引文件(UNIX采用方式)•散列文件UNIX文件命名方式:简单,随意。用ls-l命令输出有:-rwxr-xr-x1chrseis4630Feb208:51a.out-rw-r--r--1chrseis732Feb208:50abc.c(1)(2)(3)(4)(5)(6)(7)其中(1)项表示文件许可机制:。第一位判断文件类型(-,d,b,c,l,p)。后9位构成u,g,o用户对文件的使用权限2.文件许可机制用户对文件及目录拥有的权限:权限文件目录r读权读,列出目录内容w写权修改,增删改目录x执行在查寻路径名中使用可用umask命令设置默认许可机制意义:777-“需要访问机制”=“默认许可机制设置值”用chomd命令修改许可机制。系统默认许可机制:。对一般文件:rw-r--r--。对可执行文件及目录文件:rwxr-xr-x第六章UNIX文件系统文件、目录的所有者和权限第六章UNIX文件系统第六章UNIX文件系统第六章UNIX文件系统第六章UNIX文件系统第六章UNIX文件系统第六章UNIX文件系统g第六章UNIX文件系统第六章UNIX文件系统3.文件系统功能及结构•对辅存空间的管理•文件按名访问——构建与存储介质无关的文件逻辑结构•确立文件存储结构——确定不同介质的物理存放格式•执行对文件的操作——读、写、打开、关闭……•提供文件保护和共享机制一般文件系统完成的工作一般文件管理系统结构堆文件顺序文件索引顺序文件索引文件散列文件逻辑输入/输出管理层基本输入/输出管理层基本文件系统字符设备驱动块设备驱动顶层二层三层四层五层4.系统中的一些特殊目录•/dev逻辑设备目录•/bin,/usr/bin用户命令目录•/sbin,/usr/sbin系统命令•/lib,/usr/lib用户库或系统库•/etc系统管理命令•/home用户注册目录•/tmp临时文件目录5.文件系统安装与拆卸•安装文件系统命令mountmount[option]filesystemmountpoint说明:option可取:-h-----输出该命令帮助信息-V-----输出该命令版本号-a-----按fstab文件所指位置安装所有文件系统-F-----为设备生成一个安装点-r-----安装只读文件-w----安装文件可读可写filesystem:是要安装的文件系统,通常是/dev/devicemountppint:是安装点的描述信息,应已存在且不是/系统文件/etc/fstab是自动安装文件系统时读取的信息文件,用以下格式列出每个要安装文件系统情况:/dev/device/dir/to/mountftypeparametersfs_freqfs_passno•/dev/device:需安装设备,如/dev/hda4•/dir/to/mount:文件系统安装点•ftype:文件系统类型,如minix、vfat、ext2、ntfs等•Parameters:在-o选项后使用的参数•fs_freq:决定该文件系统是否使用垃圾箱•fs_passno:确定引导时检查磁盘的顺序•卸载文件系统umountumount[option]filesystemoption可取:-a-----对所有在/etc/mtab中描述的文件卸载-h-----输出帮助信息并退出-n-----卸载时不写/etc/mtab-r-----当卸载失败时,重装成只读文件系统-V-----输出umount版本号1.物理卷与逻辑卷概念•物理卷—每个独立硬盘称物理卷,使用时须分配一个特定的逻辑名,放在/dev中。例:/dev/hdisk0/dev/hdisk1•物理分区—在物理卷中划分成同样大小的块是物理分区,可以是512--4KB•逻辑卷和逻辑分区—逻辑卷是多个物理卷中部分物理分区的集合,逻辑卷由逻辑分区构成,且逻辑分区与物理分区相对应。•卷组—由物理卷和逻辑卷构成,其中物理分区相同6.4UNIX文件系统内部存储这些结构的相互关联关系如下:这些数据是IBMR600的AIX管理参数.•逻辑卷的管理每个卷组的物理结构:卷组描述卷组状态数据存储块逻辑卷控制块逻辑存储块每个逻辑卷的结构:磁盘是文件系统的主要载体,也是系统一种设备,UNIX文件系统实现对该设备的多层抽象处理。第一层抽象:从磁盘到分区磁盘可划分成分区,使得在大实体内创建独立区域,每个分区可看成独立磁盘。第二层抽象:从分区到块序列扇区是基本存储单元,对其编号使系统能计算磁盘中的每个块,可将磁盘视为一系列块的组合。第三层抽象:从块序列到四个部分的划分文件系统中包括文件内容、文件属性、目录,UNIX将每个独立的磁盘分成4个部分:数据区、i-nodetable、超级块、引导块。2.文件系统存储结构UNIX文件系统由