Linux的分区是物理上的概念,就像我们把一块硬盘分成C:,D:,E:三个区一样,物理上将存储空间分开
Linux的目录是逻辑上的概念,Linux的目录树实际上是一个分区之间的数据逻辑结构关系,不是物理结构
【2. 分区与目录的关系】
一个分区必须挂载到一个目录下才能使用。分区可以挂载到任何目录。比如说下面我们看到的例子(以RHEL4为例)
Filesystem 容量
已用
可用
已用%
挂载点
/dev/sda3 6.4G
4.8G
1.3G
80%
/
/dev/sda1
99M
8.4M 86M
9%
/boot
none
494M 0
494M
0%
/dev/shm
/dev/hdc 105M 105M
0
100%
/media/cdrom
df命令是用来汇报磁盘文件系统的空间使用情况的,参数l表示本地文件系统,h表示以人可识别的方式表示(实际上就是以M/G单位来表示,而不是纯粹的数字,难以理解)。我们看到上面命令的结果是:
①左边的信息代表了磁盘文件系统分区:/dev/sda1, /dev/sda3等
②右边的信息分别代表了容量,已用空间,可用空间,百分比,挂载点
③特别注意的是挂载点,它就是我们前面所说的将分区挂载到某一个目录的“那个目录”
④我们看到分区sda1挂载到/boot目录下,而分区sda3挂载到根目录/下
这里我们可以这样理解:
分区是真正存放数据的地方,只有一份数据
目录是分区数据的逻辑映射,就像Windows系统中的快捷方式一样
分区的数据可以挂载到任意多个不同目录,这些目录就像不同名的快捷方式,都指向同样的分区数据
例如下面这样:
Filesystem 容量
已用
可用
已用%
挂载点
/dev/sda3
6.4G
4.8G
1.3G 80%
/
/dev/sda1
99M
8.4M 86M
9%
/boot
none
494M 0
494M
0%
/dev/shm
/dev/hdc 105M
105M
0
100%
/media/cdrom
[root@localhost /]# cd /
[root@localhost /]# ls
bin dev home lib media mnt paul root selinux sys u01 var
boot etc initrd lost+found misc opt proc sbin srv tmp usr
[root@localhost /]# mount /dev/sda1 paul
[root@localhost /]# ls paul
config-2.6.9-5.EL initrd-2.6.9-5.EL.img message System.map-2.6.9-5.EL
grub lost+found message.ja vmlinuz-2.6.9-5.EL
可以看到原来/dev/sda1分区是挂载到/boot目录下的,现在我把他也挂载到/paul目录下,这样我们就可以在/paul目录下看到和/boot目录同样的内容了,但实际上数据还是只有一份。