新手入门:浅谈Linux的文件系统
|
| 2006-01-10 17:52更新 来源:天极网 | 发表评论 |
| 今 日 推 荐 |
|
美国断臂女装上仿生臂 变身女版... 科学家研究出快速诊断肺结核新法... 深夜频遭遇怪声骚扰 “鬼城闹鬼... 动物卫士命丧海底 毒鱼刺鳐遭报... |
|
微软Zune播放器揭开面纱 挑战iPo... iPod手机图片现身法国 产品原型... 口袋妖怪再次袭来!索尼推出UMPC... 安全为先 东芝发布新款M7平板电脑 |
如果您是一位新手,也许 您还不知道如何把文件从Windows拷贝到Linux上吧?下面,我们将说明Unix文件系统以及mount的工作过程,然后再比较详细地讨论
|
||||||||||||
|
||||||||||||
mount的使用和有关选项。如果您已经了解Unix文件系统是如何工作的,那么可以跳过下面一节。否则,您最好继续接着学习\"mount\"的含义。
什么是mount?
在一些操作系统(如Windows)中,计算机通过设备名来识别设备,例如,大多数PC机系统都包括\"A:drive\"(软盘)、\"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:\VAR
1 /var/adm C:\VAR\ADM
1 /var/spool C:\VAR\SPOOL
1 /home C:\HOME
1 /home C:\HOMEJACKON
2 /usr D:\
2 /usr/lib D:\USR\LIB
3 /usr/X11R6 E:\
4 /home F:\
通过维护系统中的设备列表,以及设备被mount的情况,Linux系统知道到哪里去寻找包含在每个路径表上的数据,而不管数据具体存放在哪个设备上。因为数据-映射的操作是自动完成的,所以用户不需要记住数据在哪个硬盘驱动器上。
例如,对匿名ftp用户,只需要记住/home/ftp是在\"home\"目录上,而不需要记住所有的ftp文件都在\"F:\\"或第4个硬盘驱动器上,这样
显然直观多了。同样地,记住面向用户的库程序全在/usr/lib上,比必须记住面向用户的库程序全部在第2个硬盘驱动器的\"LIB\"目录上也直观得多。
设备标识
为了记住每个设备被mount到哪里,Linux系统需要有一种惟一的方法标识各个设备。对于人来讲,通过在/dev目录上找到设备名就完成了任务。但
是,这个目录包含了大量的特殊文件,每个文件都指示不同类型的设备,或现有设备上的分区。例如,/dev/hda设备指示系统的第一个硬盘驱动器\;
/dev/hda1指示第一个硬盘驱动器的第1分区,而/dev/hda2是第2个硬盘驱动器的第2分区。表2展示了一些常用的设备文件和相应的设备。
特殊文件 设备
/dev/fdo 第1软盘驱动器
/dev/fdl 第2软盘驱动器
/dev/cdrom CD-ROM驱动器
/dev/hda[1-16] 第1硬盘驱动器(IDE1,1)和分区1-16
/dev/hdb[1-16] 第2硬盘驱动器(IDE2,2)和分区1-16
/dev/sda[1-16] 第1硬盘驱动器(SCSI0)和分区1-16
/dev/sdb[1-16] 第2硬盘驱动器(SCSI1)和分区1-16
/dev/sdc[1-16] 第3硬盘驱动器(SCSI2)和分区1-16
/dev/sdd[1-16] 第4硬盘驱动器(SCSI3)和分区1-16
当然,有许多设备在表2中没能列出。要看到在您的系统中完整的特殊设备列表,可以采用如下命令:
#/s/dev
不用担心,许多设备您永远也用不上,一般也不需要研究和记住它们。
文件格式
除了要记住每个设备被mount到何处,Linux系统还需要记住每个设备上存在什么类型的文件系统。对于Windows操作系统,大多数设备存储信息
时,只采用目前流行的两种格式,即FAT16或FAT32中的一种。只有CD-ROM驱动器是一个明显的例外,它采用ISO-9660文件格式。对于
Linux系统,大多数设备存储信息采用Extended-2(ext2)文件系统。同样地,最显著的例外也是CD-ROM驱动器,它依然采用ISO-
9660文件格式,但是Linux也能识别和mount其他的文件系统。要看看您的Linux内核支持哪些文件系统,可以输入以下命令:
#cat/proc/filesystems
让我们假设对于一种给定的情况,上述命令的执行结果为:
ext2
vfat
noelevproc
iso9660
对于这个特定的系统,Linux内核支持ext2、vfat、proc和iso9660文件系统。表3给出了Linux所支持的大部分文件系统类型。
文件系统 操作系统或类型
ext2 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维护目录树时,用户不必经常直接和设备名或文件系统打交道。我们已经提到过,Linux在mount
文件系统时,会自动进行维护,它还知道每次是从什么地方开始mount文件系统,这主要是它利用了/etc/fstab文件。对于上面提到过的4个设备的
目录,从/etc/fstab文件中可以摘出有关的内容:
/dev/sda1 / ext2 defaults 1 1
/dev/sdc1 /usr 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的ext2格式的磁盘\;
●在/home/ftp的目录树上,Mount第3个SCSI硬盘驱动器的第2个分区(/dev/sdc2),这是一个Windows95的vfat格式的硬盘-。
通过适当地配置/etc/fstab文件,用户可以构造一个目录树,该目录树可以容纳许多不同的设备,而且支持许多不同的操作系统文件格式。每次在Linux的-根部将自动构造这种目录树。
| 金星快车 | ||||
|
|
图片精选
|
其他报道
·美国断臂女装上仿生臂 变身女版“终结者” (09-16)
·深夜频遭遇怪声骚扰 “鬼城闹鬼”真相大白 (09-16)
·动物卫士命丧海底 毒鱼刺鳐遭报复曝尸海滩 (09-16)
·科学与真理同行丑闻相伴 震惊世界20大科学欺骗 (09-16)
·日本天文学家观测到“宇宙史黑暗时代”一角 (09-15)
·研究显示肥胖能导致视力下降甚至失明 (09-15)
·阿特兰蒂斯连丢俩螺钉 但不会对空间站造成威胁 (09-15)
·蓝牙手机可免费下载苹果广告(组图 附地址) (09-14)
·“另类”金字塔一样神秘(图) (09-14)
·研究人员发现:七个月的孩子就会“算账” (09-14)
·中国柑橘明显降低肝癌、心脏病和糖尿病风险 (09-14)
·宇宙最大“火球”真面目被揭开 温度高过太阳 (09-14)
|