文件系统的定义;
对用户来说,文件系统是存储信息的文件和目录的集合。;
对操作系统来说,文件系统是以一些数据的集合。;
磁盘文件系统;
Solaris定义了3种文件系统类型:;
ufs;–;UNIX文件系统。是Solaris缺省的文件系统。;
hsfs;–;高密度CD-ROM文件系统,是只读文件系统。;
pcfs;–;PC文件系统,支持DOS格式化的软盘。;
网络文件系统;
NFS是Solaris系统支持的网络文件系统。;
内存文件系统;
指操作系统运行时存在于内存中的文件系统。;
流分区已经定义了分区的大小和位置,但未创建文件系统。;
块分区已经创建了文件系统。;
它们之间的逻辑设备名分别存放在/dev/rdsk河/dev/dsk中。;
磁盘卷标包含了磁盘的分区表。磁盘卷标存放在磁盘的第一个扇区。;
启动块;
启动块存放着启动程序。位于磁盘的1-15扇区。;
超级块;
超级块包含启动块后面的16个扇区。超级块是文件系统的信息表,包含:;
数据块的数量;
柱面组的数量;
数据块和碎片的大小;
硬件的描述;
挂接点;
文件系统的状态:干净、稳定或激活;
备份的超级块;
由于超级块包含了许多关键数据,因此,必须要备份。备份是在文件系统创建时产生的。;
Solaris下以inode的方式记录文件;
Inode包含文件的下列信息:;
文件类型和访问模式;
文件的拥有者和所在组的;
文件大小;
上次访问和更改的时间以及inode更改的时间;
已用数据块的数量;
inode包含两种指针:直接指针和间接指针;
直接指针;
有12个,直接指向数据块。这12个指针可以支持96K字节的文件。;
间接指针;
单倍间接–;单倍间接指针指向包含指针的数据块。这样可以支持16M字节的文件。;
双倍间接–双倍间接指针指向包含单倍间接指针的数据块。这样可以支持32G字节的文件。;
三倍间接–三倍间接指针指向包含双倍间接指针的数据块。这样可以支持70T字节的文件。;
newfs创建文件系统;
#;newfs;/dev/rdsk/c0t2d0s0;
newfs:;construct;a;new;file;system;/dev/rdsk/c0t2d0s0:;(y/n)?;y;
/dev/rdsk/c0t2d0s0:;41040;sectors;in;57;cylinders;of;9;tracks,;80;sectors;
21.0MB;in;4;cyl;groups;(16;c/g,;5.90MB/g,;2688;i/g);
super-block;backups;(for;fsck;-F;ufs;-o;b=#);at:;32,;11632,;23232,;34832,;
文件系统检测工具(fsck)用于检测文件系统是否出错。;
比如,某个数据块不能同时被两个不同的inode占用。Fsck程序可以检测这种错误。;
#;fsck;/dev/rdsk/c0t3d0s7;
**;/dev/rdsk/c0t3d0s7;
**;Last;Mounted;on;/export/home;
**;Phase;1;-;Check;Blocks;and;Sizes;
**;Phase;2;-;Check;Pathnames;
**;Phase;3;-;Check;Connectivity;
**;Phase;4;-;Check;Reference;Counts;
**;Phase;5;-;Check;Cyl;groups;
2;files,;9;used,;21606;free;(14;frags,;2699;blocks,;0.1%;fragmentation);
文件系统错误;
许多情况下,文件系统发生错误是由于超级块有错误。发生错误的原因主要是:;
非正常关机;
掉电;
硬件错误;
fsck运行的时间;
系统每次启动时都会自动运行fsck。如果发现错误,会尝试自动修复,如果错误非常严重,需要人工修复。这是进入系统单用户模式,然后打命令:;
#fsck;/dev/rdks/c0t0d0s0;
df命令查看已挂接的文件系统使用状况;
参数k:表示以千字节格式显示;
$;df;-k;
Filesystem;kbytes;used;avail;capacity;Mounted;on;
/dev/dsk/c0t3d0s0;38111;19196;18877;51%;/;
/dev/dsk/c0t3d0s6;565503;361529;203409;64%;/usr;
/proc;0;0;0;0%;/proc;
fd;0;0;0;0%;/dev/fd;
/dev/dsk/c0t3d0s1;25159;4886;20248;20%;/var;
/dev/dsk/c0t3d0s5;27439;20362;7050;75%;/opt;
swap;45980;12;45968;1%;/tmp;
du命令显示某个目录下文件的占用磁盘空间的情况:;
du;[-a];[-s];[-k];[directory];
参数:;
-k;以千字节方式显示(默认是以块方式显示,一个块为512字节);
-s;只以简略的方式显示;
-a;显示制定目录下所有文件和目录占用的磁盘块数量;
标签: