【综述】
有一块物理硬盘(磁盘),可以将它划分成多个逻辑部分(磁盘分区),每个分区可以用来存储数据。为了在分区上存储文件,我们需要在分区上创建文件系统(即:格式化) ,比如ext4、xfs等。然后,我们可以将这个分区(sda1)挂载到Linux目录树中的某个目录(即:挂载点),就可以通过该目录访问文件系统中的文件了。
【概念】
-
磁盘:物理存储设备,如硬盘(HDD)、固态硬盘(SSD)。在Linux中,磁盘设备通常表示为
/dev/sda、/dev/sdb等。 -
磁盘分区:将一块磁盘划分成多个逻辑区域。每个分区在Linux中表示为磁盘设备名后加数字,如
/dev/sda1、/dev/sda2。分区有两种主要类型:主分区和扩展分区(其中可以包含逻辑分区)。 -
文件系统:在分区上创建的一种组织结构,用于管理文件的存储和检索。常见的文件系统有ext4、xfs、NTFS、FAT32等。创建文件系统的过程就是格式化分区。
-
挂载点:Linux系统中,文件系统需要挂载到一个目录才能被访问。这个目录就是挂载点。例如,将
/dev/sda1分区挂载到/home目录,那么/home就是一个挂载点。 -
目录:Linux文件系统中的文件夹。挂载点实际上就是一个目录,通过将文件系统挂载到目录,我们可以通过目录访问文件系统中的文件。
【关系】
它们之间的关系可以概括为:
-
一块磁盘可以分成多个分区。
-
每个分区上可以创建一个文件系统。
-
文件系统需要挂载到目录树中的某个目录(挂载点)上,才能被访问。
-
目录是文件系统的一部分,用于组织文件。挂载点也是一个目录,但通常这个目录在挂载前是空的(或者挂载后原有内容被隐藏,直到卸载后才会重新显示)。
【举例】
假设我们有一块磁盘/dev/sda,我们将其分成两个分区:/dev/sda1和/dev/sda2。
步骤:
-
在
/dev/sda1上创建ext4文件系统,在/dev/sda2上创建xfs文件系统。bash
mkfs.ext4 /dev/sda1 mkfs.xfs /dev/sda2 -
创建两个目录作为挂载点,比如
/mnt/data1和/mnt/data2。 -
将两个文件系统分别挂载到这两个目录:
bash
mount /dev/sda1 /mnt/data1 mount /dev/sda2 /mnt/data2 -
现在,我们可以通过
/mnt/data1和/mnt/data2访问两个分区上的文件。 -
当我们不需要访问时,可以卸载:
bash
umount /mnt/data1 umount /mnt/data2
另外,系统启动时自动挂载的文件系统配置在/etc/fstab文件中。
注意:在Linux中,一切皆文件,磁盘设备也是以文件的形式存在于/dev目录下。目录树是一个统一的层次结构,从根目录/开始,所有的文件系统都挂载在某个目录下,形成一个统一的视图。
❓ 常见问题解答
Q1:一个分区可以有多个挂载点吗?
不能 。一个分区只能挂载到一个挂载点。但可以通过绑定挂载让同一个文件系统出现在多个位置:
bash
sudo mount --bind /mnt/data /mnt/data2
Q2:一个目录可以挂载多个分区吗?
不能。挂载时,挂载点目录原本的内容会被"隐藏",只有卸载后才能看到。
Q3:不挂载能访问分区数据吗?
不能。必须挂载到目录树才能访问。
Q4:根目录 / 是什么?
根目录 / 是最顶层的挂载点,通常挂载了系统分区。
💡 一句话总结
硬盘 上划出分区 ,分区 上建立文件系统 ,文件系统 挂载到目录树 的某个目录 (挂载点),然后我们就可以在这个目录下存取文件了。
记住这个顺序:硬盘 → 分区 → 文件系统 → 挂载点 → 目录 → 文件