3.4 文件与文件系统
3.4.1 文件概述
1.文件的概念
计算机中,文件指的是具有符号名的一组相关元素的有序序列,是一段程序或数据的集合。文件是一种抽象机制,它提供了一种把信息保存在存储介质上,便于以后存取的方法,而用户不必关心实现细节。
2.文件的命名与文件名通配符
每个文件都有一个文件名并可能有扩展名。存储文件时,必须提供符合规则的合法文件名,这种规则又叫文件命名规范。每种操作系统都有自己的文件命名规范。比如,Windows系统就要求组成它的文件名和扩展名的字符总长度不能超出255个字符;DOS的文件名必须为1~8个字符,扩展名不多于3个字符;Unix下的文件名为14~256个字符(取决于系统的版本)及长度不限的扩展名。而字符的组成也有要求,一般是26个英文字符、数字0~9及一些特殊符号。对于是否允许文件名中出现空格符号,不同的操作系统有不同的要求。
文件名通配符(又叫文件名替代符)是用来表示一组符合要求的文件名的符号,有多位通配符“*”和单位通配符“? ”两种:“*”用来代表所在位置开始的任意字符或字符串,例如*. doc表示所有扩展名为.doc的文件(如a.doc, b.doc, ac.doc, ccc.doc等); “? ”代表所在位置上的一个任意字符,例如,xyz? .doc表示以“xyz”开头的后面可以跟一个任意字符的.doc文件。
3.文件的类型与文件扩展名
文件一般分为可执行文件、数据文件和配置文件等类型。
扩展名一般用来刻画文件的类型,与文件的格式相关联。文件的格式指的是文件中组织和表示数据的方法,现在存在有数以百计的文件格式。大多数应用软件都有用于存储文件的专属文件格式,例如微软公司的Word软件以.doc格式存储文件。
一般数据文件的扩展名的命名可以分为通用扩展名与特定应用扩展名两大类:通用扩展名指明了包含于该文件中数据的通用类型,并通常意味着用户可以使用多种应用软件来打开它。比如,一些图像文件的扩展名为.bmp和.jpg等;视频文件的扩展名为.avi和.mpg;音频文件的扩展名为.mp3和.wav等。另一类扩展名则不那么通用,它们与某个特定的应用程序相关联,需要特定的应用软件来打开文件。不同的应用软件可以为它所生成的结果文件取不同的扩展名。比如,Word创建的文档通常使用扩展名.doc; Adobe Photoshop创建的文件通常使用扩展名.psd; Adobe Illustrator创建的文件通常使用扩展名.ai。又如,可执行文件大多数具有扩展名.exe,但有些具有扩展名.com。
除了数据文件和可执行文件之外,计算机通常还包含对硬件或软件操作必要的其他文件,其扩展名常需按系统约定。表3-2列出了一些常见的约定扩展名。
表3-2 一些常见的约定扩展名
4.文件的树状目录结构与路径
磁盘上有成千上万文件和文件夹。为了有效管理和使用它们,操作系统使用一种树状目录结构来组织,也就是说,磁盘为根目录(即根文件夹),用户可以在其下建立子目录(即文件夹),在子目录下再建子目录,等等,这样就构成一个树状结构,用户可以将不同的文件分门别类放在不同的子目录中。树的叶结点就是具体的文件。在这种结构中,不同目录下的文件可以同名。
在如图3-2所示的树状目录结构中,文件或文件夹是通过路径来唯一标识的。路径是文件夹的字符表示,它是用“\”相互隔开的一组文件夹,用来标识文件或文件夹所属的位置。路径又分为绝对路径和相对路径:以根文件夹开始的路径叫绝对路径;相对路径是指从当前文件夹出发,到达所访问的文件所经历的路径。比如图中,文件test.c的绝对路径表示为\user\student\stud1\test.c,如果当前文件夹为temp,则相对路径为..\user\student\stud1\test.c。其中,“..”表示从当前目录回到上一级目录。
一个磁盘只有一个根文件夹,根文件夹与分隔符都用“\”表示,但含义不同。一个文件名的全称由盘符名、路径、主文件名(简称文件名)和扩展名组成,其格式为
[盘符名:][路径] <文件名 >[.扩展名]
其中方括号内的内容可省略,尖括号内的内容是必需的。文件名全称中的路径可以用绝对路径,也可以用相对路径。
在Windows的文件树状结构中,根文件夹是桌面。计算机上所有的资源都组织在桌面上,从桌面开始可以访问任何一个文件和文件夹。