FreeBSD将文件保存在磁盘等存储设备上,由操作系统来具体处理访问硬件设备的问题,用户只需要面对操作 系统,就能进行具体的文件操作。操作系统首先将用于存储的设备进行格式化之后,该设备才能用于存储文件,这个设备可以 是软盘,可以是一个硬盘分区,或者其他允许随机存取的块设备存储介质。在Unix上将格式化后的存储设备统称为文件系 统,格式化的过程称为创建文件系统。(由于磁带是一种顺序存取的设备,因此在磁带上不能创建文件系统。)
对于不同介质、不同的操作系统对磁盘进行格式化和管理的方式也不同,这样就形成了不同类型的文件系统。但操作 系统给用户提供了一种标准的通用存取方式,这样在存取文件时就不需要考虑是在对哪种文件系统进行操作。但是不同的文件 系统仍然有一些差异,例如光盘文件系统是只读介质,还有一些文件系统并非为Unix系统而设计的,因此文件名、文件属 性等标准就与Unix不同,FreeBSD在访问这些文件系统时尽量转换这些差别,补充这些文件系统没有、但Unix 标准文件系统需要的属性。这样这些文件系统就与标准文件系统看起来完全相同,只是某些操作受文件系统本身的物理限制, 例如企图将光盘上文件加上写属性,显然无法完成。FreeBSD支持多种文件系统,其中最常见的有:
UFS文件系统:是FreeBSD上的标准文件系统,它实现了所有的标准文件属性,如文件属主和组、存取权限 等属性。
cd9660文件系统:支持ISO 9660格式的CD-Rom,这种格式只支持8位基本长度3位扩展长度、 不区分大小写的文件名,但FreeBSD支持它的Rock Ridge扩展,使其能使用Unix风格的长文件名。
NFS文件系统:网络文件系统,通过它Unix能在网络上共享文件系统。
msdos文件系统:DOS和Windows使用的FAT文件系统,基本上是使用8.3的文件名,Windows95 之后扩展了文件名的长度,但仍然不区分大小写。FreeBSD支持Windows95的长文件名扩展和FAT 32格式的分区。
ext2fs文件系统:Linux使用的文件系统,这个类型不是缺省支持的文件系统,需要重新配置内核。
NTFS文件系统:Windows NT使用的文件系统,这个类型同样需要重新配置内核。
在个人计算机的硬盘管理方式中,文件是直接放在硬盘的分区中,而FreeBSD使用的UFS文件系统则又在基 本分区中进行了划分,文件系统建立在BSD风格的子分区中。这样每个UFS分区中能有多个文件系统,每个文件系统或交 换空间各有一个标签(DiskLabel),来标识其本身的起始和结束。当真正要使用文件系统时,就需要获得硬盘上文 件系统(UFS分区和分区内部各个文件系统的DiskLabel)的具体信息。这些硬盘上文件系统的信息应该由管理员 维护,同时也记录在硬盘上,可以使用FreeBSD中的系统工具fdisk和disklabel,或者安装程序Sysinstall ,来获得保存在硬盘本身中的信息。
当使用Sysinstall中的Fdisk和Disklabel来分区和划分磁盘空间时,当用户完成操作之后 ,应该使用W命令将改变写入磁盘之后再退出Fdisk或Disklabel。
与Sysinstall不同,命令行的fdisk和disklabel为交互模式,而非sysinstall 的全屏幕界面,因此较为难用一些。使用硬盘名称作为fdisk的参数,fdisk将报告硬盘上所有四个分区的详细信息 :
# fdisk wd0
******Working on device /dev/rwd0 ****** parameters extracted from in-core disklabel are: cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl) parameters to be used for BIOS calculations are: cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 6,(Primary ‘big’ DOS (>32MB)) start 16065, size 2056320 (1004Meg), flag 80 beg: cyl 1/ sector 1/ head 0; end: cyl 128/ sector 63/ head 254 The data for partition 2 is: sysid 7,(OS/2 HPFS, QNX or Advanced UNIX) start 2072385, size 1044225 (509Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 128/ sector 63/ head 254 The data for partition 3 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 3116610, size 2024190 (988Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 128/ sector 63/ head 254 The data for partition 4 is: sysid 5,(Extended DOS) start 5140800, size 3293325 (1608Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 128/ sector 63/ head 254 |