Linux 文件系统精通指南
究竟什么是“文件系统”?Sheryl Calish 介绍了这个概念以及它的实际应用 尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这对 Linux 来说尤其如此,这是在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件. 遗憾的是,新手通常会混淆介绍 Linux 文件系统概念的术语.术语文件系统 可以在 Linux 文件编制中互换使用,用于指代几个不同但相关的概念.除磁盘分区的具体实例外,文件系统还指代数据结构以及分区中文件的管理方法. 另新手更感困惑的是,该术语还用于指代系统中文件的整体组织形式:目录树.此外,该术语还可以指代目录树中的每个子目录,如在 /home 文件系统中.某些人认为,这些目录和子目录不能称作真正意义上的文件系统,除非它们均驻留在各自的磁盘分区上.然而,其他人却将其称作文件系统,这无疑又增添了困惑. Linux 老手可以从上下文中理解这些术语的含义.而新手却很难在一时半会儿就辨别出这样的上下文. 本文的主要目标就是提供足够的背景知识,以帮助您辨别此术语的上下文.在阐明文件系统术语的细微差别的过程中,您还将学习如何将某些非常有用的相关工具从理论应用上升到实际应用. 本文主要介绍了 2.4 版 Linux 内核中的 Linux 磁盘分区和文件管理系统特性.此外,还介绍了 2.6 版 Linux 内核中的新特性. 磁盘分区概述 Linux 和 UNIX 中的基本文件存储单元都是磁盘分区,即将一个或多个硬盘的逻辑划分,操作系统将每个逻辑分区视为独立的磁盘.文件和文件管理系统“居住”在磁盘分区中.Linux 将这些磁盘分区作为设备处理,进而通过 /dev 目录中的特殊文件使用文件 I/O 机制. 有两种类型的设备文件:块和字符/原始.两者之间的一个重要差别是,块设备被缓冲,而字符设备没有文件管理系统,不被缓冲.在 Oracle 集群文件系统 (OCFS) 推出之前,使用原始设备是提高 Oracle 数据文件分区性能的常见方法.(在本文的后续部分,我们将详细介绍原始设备.) 存储在磁盘最开始位置的分区表提供了该磁盘上分区的映射.可以使用 fdisk 命令查看系统的分区表. # fdisk -l Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/hda 1 286 2162128 c Win95 FAT32 (LBA) /dev/hda2 * 288 1940 12496680 5 Extended /dev/hda5 288 289 15088 83 Linux /dev/hda6 290 844 4195768 83 Linux /dev/hda7 845 983 1050808 82 Linux swap /dev/hda8 984 1816 6297448 83 Linux /dev/hda9 1817 1940 937408 83 Linux 分区表中的名称 /dev/hda 至 /dev/hdd 分别代表 IDE 驱动器 1 至 4,其中 hda 代表驱动器 1,hdb 代表驱动器 2,依此类推.驱动器内的分区用数字指代,因此 /dev/hda5 是第一个 IDE 驱动器上的第五个分区.对于 SCSI 驱动器,使用了类似的命名模式:/dev/sda to /dev/sdd. 第一至第四个分区保留给主分区,第五个及随后的分区用于逻辑分区.因此,以上所示的分区表中有一个驱动器 hda,它包含一个主分区 hda1、一个扩展分区 hda2 和五个逻辑分区 /dev/hda5 至 /dev/hda9.以名称 shmfs 列出的文件系统表示根据 Linux 2.4 中的 POSIX 标准挂载为特殊文件系统的共内存文件系统. 您可能已经注意到,在 fdisk 列表中 LBA 是括在括号中的.LBA 表示逻辑块寻址,它将硬盘的柱面、块和扇区模式转换为线 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |