学习永无止境!!
分类: 嵌入式
2013-02-25 14:36:24
一、系统结构的区别
Linux文件系统是一个目录树的结构,它的根是根目录“/”,往下连接各个分支,例如,/bin、/usr、/sbin等。
DOS以每个分区为树根,由于有多个分区,所以形成了多个树并列的情形。
Linux将文件存放到逐层继承排列的子目录中,这种结构的形状很像是一棵树,所以称为“树状结构”(tree structure)。这个树状结构是倒挂的,它的根被置于最顶部,从根向下延伸的是枝,每个枝向上只有一个连接,但向下可以再有更多个枝。从这个角度看,也可以说有个“父子”结构,即每个子目录都是另一个子目录的下级子目录。一个子目录可以有多个下级子目录,但它自身只能是一个父目录的子目录。
(一)用户的系统子目录
Linux的文件结构从一个根目录(即“/”目录)开始向下分成多个子目录。根目录中的几个系统级子目录里容纳着形成Linux操作系统各种功能的文件和程序。标准的、原始的文件系统包括/、/home、/usr、/var、/bin、/sbin、/etc、/dev、/lib。Linux系统是以文件的目的为依据对文件进行分组的,即相同目的的命令都放在同一子目录中。系统子目录中的文件的作用是保证系统的正常运行。它们中的许多还有自己的下级子目录,并容纳完成Linux操作系统的特定功能的程序。
(二)用户的登录子目录
根目录里有一个名为home的子目录,它容纳系统上全体用户的登录子目录(home directory),也叫做主目录、家目录等。
(三)路径名
用户在创建子目录或者文件时分配的名字并不是它的全名。一个子目录的全名是它的路径名(pathname)。子目录间继承性的嵌套关系构成了路径,而这些路径用来惟一地确定和引用一个子目录或者一个文件。从根目录“/”到home子目录再到robert子目录是一个路径,路径名写成/home/robert。系统标识某个子目录时实际用的名字总是从根目录开始,并由堆叠在该子目录上面的各级子目录组成。
路径名可以是绝对的也可以是相对的。
二、文件的区别
(一)文件名
DOS文件的名字是文件名+扩展名的8+3字符的结构:文件名的长度必须不大于8个字符;扩展名最多可以有3个字符。在文件名和扩展名之间用句点隔开。后来个人操作系统由DOS发展到Windows 95,在Windows 95及以后的版本中开始支持长文件名格式,文件名长度最多可达128个字符。DOS使用扩展名作为文件类型的标志,即使发展到了Windows 95仍然是如此。
(二)文件类型
Linux中各种文件都有相同的格式即字节流(byte stream)。“字节流”就是一个字节序列。这使Linux操作系统能够把文件的概念应用到系统中的每个数据元。子目录也被归入文件类,设备也是一样。将各种事情都作为文件使Linux操作系统能够更容易地组织和交换数据。文件中的数据可以直接发送给显示器等设备,因为设备与操作系统之间与普通文件一样使用的都是同一种字节流文件格式。
这个同样的文件格式也被用在这个操作系统的其他成分里。显示器和键盘这类设备的接口被设计为一个文件;子目录等其他成分就是字节流文件,只不过它们有一个特殊的内部结构罢了。子目录文件保存着关于子目录的信息,按照特殊的子目录格式组织起来。因为这些不同的组成都被视为文件,所以说它们构成了不同的文件类型。根据用户具体实现的Linux操作系统的不同,文件数量也会发生变化。但最常见的文件类型有4种:普通文件、目录文件、连接和设备文件。而DOS下常见的文件类型有两种:普通文件和目录文件。
三)文件权限
由于Linux是一个多用户的系统,它的文件当然不可避免地要根据用户来划分,并对文件进行保护。用户分组名指出组权限分配给哪一个用户分组。