《2022年Linux的文件系统及其硬盘分区挂载原理 .pdf》由会员分享,可在线阅读,更多相关《2022年Linux的文件系统及其硬盘分区挂载原理 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Linux的文件系统及其硬盘分区挂载原理时间 :2008-02-28 19:26来源 :中国网管联盟bitsCN 编辑 字体 :大 中 小 如果您是一位新手,也许您还不知道如何把文件从Windows拷贝到 Linux 上吧 ?下面,我们将说明Unix 文件系统以及mount 的工作过程,然后再比较详细地讨论。mount 的使用和有关选项。如果您已经了解Unix 文件系统是如何工作的,那么可以跳过下面一节。否则,您最好继续接着学习mount 的含义。什么是 mount? 在一些操作系统(如 Windows) 中,计算机通过设备名来识别设备,例如,大多数PC 机系统都包括 A:drive( 软盘
2、)、 C:drive( 硬盘 )和D:drive( 一般是只读光盘)。出于各种各样的理由,Linux 系统一般不采用这种方式指示存储设备。Linux 系统采用单一的目录树 (类似于 Windows上用户的 C:drive 目录树结构 ),通过 mount 到目录树的分支上来查找存储设备的内容。在这台特定的计算机上,总共有4 个硬盘驱动器,它们全都被文件系统管理。例如,假设我们沿用Windows系统的方法,给这4 个硬盘驱动器分别命名为C、D、E 和 F,那么它们的Linux 路径名和Windows的等价名如表1 所示。磁盘号Linux 路径等价的Windows文件名1/C: 1 /var C:
3、VAR 1 /var/adm C:VARADM 1 /var/spool C:VARSPOOL 1 /home C:HOME 1 /home C:HOMEJACKON 2 /usr D: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2 /usr/lib D:USRLIB 3 /usr/X11R6 E: 4 /home F: 通过维护系统中的设备列表,以及设备被mount 的情况, Linux 系统知道到哪里去寻找包含在每个路
4、径表上的数据,而不管数据具体存放在哪个设备上。因为数据映射的操作是自动完成的,所以用户不需要记住数据在哪个硬盘驱动器上。例如,对匿名ftp 用户,只需要记住/home/ftp是在 home 目录上,而不需要记住所有的 ftp 文件都在 F:或第 4 个硬盘驱动器上,这样显然直观多了。同样地,记住面向用户的库程序全在/usr/lib 上,比必须记住面向用户的库程序全部在第2 个硬盘驱动器的LIB目录上也直观得多。设备标识为了记住每个设备被mount 到哪里, Linux 系统需要有一种惟一的方法标识各个设备。对于人来讲,通过在/dev 目录上找到设备名就完成了任务。但是,这个目录包含了大量的特殊
5、文件,每个文件都指示不同类型的设备,或现有设备上的分区。例如,/dev/hda 设备指示系统的第一个硬盘驱动器; /dev/hda1指示第一个硬盘驱动器的第1 分区,而/dev/hda2是第 2 个硬盘驱动器的第2 分区。表2 展示了一些常用的设备文件和相应的设备。特殊文件设备/dev/fdo 第 1 软盘驱动器/dev/fdl 第 2 软盘驱动器/dev/cdrom CD-ROM驱动器/dev/hda1-16 第 1 硬盘驱动器 (IDE1,1) 和分区 1-16 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
6、- - - - - - - 第 2 页,共 5 页 - - - - - - - - - /dev/hdb1-16 第 2 硬盘驱动器 (IDE2,2) 和分区 1-16 /dev/sda1-16 第 1 硬盘驱动器 (SCSI0) 和分区 1-16 /dev/sdb1-16 第 2 硬盘驱动器 (SCSI1) 和分区 1-16 /dev/sdc1-16 第 3 硬盘驱动器 (SCSI2) 和分区 1-16 /dev/sdd1-16 第 4 硬盘驱动器 (SCSI3) 和分区 1-16 当然,有许多设备在表2 中没能列出。要看到在您的系统中完整的特殊设备列表,可以采用如下命令: #/s/dev
7、不用担心,许多设备您永远也用不上,一般也不需要研究和记住它们。文件格式除了要记住每个设备被mount 到何处,Linux 系统还需要记住每个设备上存在什么类型的文件系统。对于Windows操作系统,大多数设备存储信息时,只采用目前流行的两种格式,即FAT16 或 FAT32 中的一种。只有CD-ROM 驱动器是一个明显的例外,它采用ISO-9660 文件格式。对于Linux 系统,大多数设备存储信息采用Extended-2(ext2)文件系统。同样地,最显著的例外也是CD-ROM驱动器,它依然采用ISO- 9660 文件格式,但是Linux 也能识别和mount 其他的文件系统。要看看您的Li
8、nux内核支持哪些文件系统,可以输入以下命令: #cat/proc/filesystems 让我们假设对于一种给定的情况,上述命令的执行结果为: ext2 vfat 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - noelevproc iso9660 对于这个特定的系统,Linux 内核支持ext2 、vfat、proc 和 iso9660 文件系统。表3 给出了 Linux 所支持的大部分文件系统类型。文件系统操作系统或类型e
9、xt2 LinuxExtended-2 minix Minix文件系统msdos 最初的 FAT 文件系统 (短文件名 ) vfat 其他 FAT 文件系统 (长文件名 ) ntfs WindowsNT文件系统 (长文件名 ) hpft OS/2高性能文件系统hfs AppleMacintosh文件系统nfs 网络文件系统ncpfs NovellNetWare文件系统affs Amiga快速文件系统Linux 还支持其他一些文件系统。为了让 Linux 支持更多的文件系统,需要或者重新编译 Linux 的内核,或者下载有关的模块。/etc/fstab文件幸运的是,在使用Linux 维护目录树时
10、,用户不必经常直接和设备名或文件系统打交道。我们已经提到过,Linux 在 mount 文件系统时,会自动进行维护,它还知道每次是从什么地方开始mount 文件系统,这主要是它利用了/etc/fstab文件。对于上面提到过的4 个设备的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 目录,从 /etc/fstab文件中可以摘出有关的内容: /dev/sda1 / ext2 defaults 1 1 /dev/sdc1 /usr
11、ext2 ext2 defaults 1 2 /dev/sdc1 /usr/X11R6 ext2 defaults 1 2 /dev/sdc2 /home/ftp vfat defaults 1 2 对上述给定的/etc/fstab 信息, Linux 每次开始mount 时将按下列步骤进行: mount 第 1 个 SCSI 硬盘驱动器的第1 个分区 (/dev/sda1) ,把它作为最先的(根)文件系统,这是一个Linux 的 ext2 格式的磁盘 ; 在/usr 的目录树上, mount 第 2 个 SCSI 硬盘驱动器的第1 个分区 (/dev/sdb1) ,这是一个 Linux 的
12、ext2 格式的磁盘 ; 在/home/ftp的目录树上, Mount 第 3 个 SCSI 硬盘驱动器的第2 个分区 (/dev/sdc2) ,这是一个 Windows95的 vfat 格式的硬盘。通过适当地配置/etc/fstab 文件,用户可以构造一个目录树,该目录树可以容纳许多不同的设备, 而且支持许多不同的操作系统文件格式。每次在 Linux 的根部将自动构造这种目录树。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -