注:本文来自“网易”博主
第三章:文件系统
这回我们来说一下UNIX的文件系统。由于一般情况下UNIX机的硬盘会很大,所以一般你可以给它分成几个区,而每个分区又都可以有独立的文件系统。如果你是UNIX系统,你有可能看见/dev/sd/c0t0d0s0
/dev/sd/c0t0d0s1
这样的文件。
如果你是linux你有可能看见
/dev/hda0
/dev/hda1
等等。这些文件,每一个就可以看成是一个分区。当计算机启动时,系统先找到/(根目录),然后系统就像挖土豆子一样找到一个带出来一串似的,顺着根目录一带就带出来挂载在根目录下的所有目录(详细的请查一下/etc/fstab这个文件)。在UNIX下叫目录(directory)的感念,就像是windows下的文件夹(folder),但与windows最大的区别在于UNIX没有A盘,C盘这样的概念。它所有的文件都要挂载到根目录下的某个子目录底下,另外UNIX把所有设备都看成是文件。比如A盘就有可能是/dev/fd0这个文件。那比如我们想使用软盘怎么办呢,以为软盘是个临时文件,所以在开机时一般不会设为自动挂载。所以我们要手动挂载它在这个某一个目录下。有可能我说得大家有点糊涂,不要紧我们举个例子。文件系统就像一棵大树,树干只有一个那就是根目,树干往上是树杈就是一个一个的子目录,树杈往上有可能还是树杈,那就是这个子目录的子目录,也有可能是树叶,树叶就是文件。现在你手里有一根树枝上面有几个叶子,可你拿手攥着它,它是不会得到来自这颗大树的养分的,除非你把它嫁接在大树的某一个树杈上。就是这个道理。
回到刚才的话,具体怎么能使用软盘呢。
$mount /dev/fd0 /mnt/floppy
这样你就把这个小树杈,嫁接到了/mnt/floppy上。等你用完了软盘输入
$umount /mnt/floppy
就等于把这个树枝又掰折了。
说了这么多,换换口味看一个程序,让我们来调查一下分区的剩余空间有多少
#include <stdio.h>
#include <sys/types.h>
#include <sys/statvfs.h&