概念理解:磁盘、磁盘分区、文件系统、挂载点、目录

【综述】

有一块物理硬盘(磁盘),可以将它划分成多个逻辑部分(磁盘分区),每个分区可以用来存储数据。为了在分区上存储文件,我们需要在分区上创建文件系统(即:格式化) ,比如ext4、xfs等。然后,我们可以将这个分区(sda1)挂载到Linux目录树中的某个目录(即:挂载点),就可以通过该目录访问文件系统中的文件了。

【概念】

  1. 磁盘:物理存储设备,如硬盘(HDD)、固态硬盘(SSD)。在Linux中,磁盘设备通常表示为/dev/sda/dev/sdb等。

  2. 磁盘分区:将一块磁盘划分成多个逻辑区域。每个分区在Linux中表示为磁盘设备名后加数字,如/dev/sda1/dev/sda2。分区有两种主要类型:主分区和扩展分区(其中可以包含逻辑分区)。

  3. 文件系统:在分区上创建的一种组织结构,用于管理文件的存储和检索。常见的文件系统有ext4、xfs、NTFS、FAT32等。创建文件系统的过程就是格式化分区。

  4. 挂载点:Linux系统中,文件系统需要挂载到一个目录才能被访问。这个目录就是挂载点。例如,将/dev/sda1分区挂载到/home目录,那么/home就是一个挂载点。

  5. 目录:Linux文件系统中的文件夹。挂载点实际上就是一个目录,通过将文件系统挂载到目录,我们可以通过目录访问文件系统中的文件。

【关系】

它们之间的关系可以概括为:

  • 一块磁盘可以分成多个分区。

  • 每个分区上可以创建一个文件系统。

  • 文件系统需要挂载到目录树中的某个目录(挂载点)上,才能被访问。

  • 目录是文件系统的一部分,用于组织文件。挂载点也是一个目录,但通常这个目录在挂载前是空的(或者挂载后原有内容被隐藏,直到卸载后才会重新显示)。

【举例】

假设我们有一块磁盘/dev/sda,我们将其分成两个分区:/dev/sda1/dev/sda2

步骤:

  1. /dev/sda1上创建ext4文件系统,在/dev/sda2上创建xfs文件系统。

    bash

    复制代码
    mkfs.ext4 /dev/sda1
    mkfs.xfs /dev/sda2
  2. 创建两个目录作为挂载点,比如/mnt/data1/mnt/data2

  3. 将两个文件系统分别挂载到这两个目录:

    bash

    复制代码
    mount /dev/sda1 /mnt/data1
    mount /dev/sda2 /mnt/data2
  4. 现在,我们可以通过/mnt/data1/mnt/data2访问两个分区上的文件。

  5. 当我们不需要访问时,可以卸载:

    bash

    复制代码
    umount /mnt/data1
    umount /mnt/data2

另外,系统启动时自动挂载的文件系统配置在/etc/fstab文件中。

注意:在Linux中,一切皆文件,磁盘设备也是以文件的形式存在于/dev目录下。目录树是一个统一的层次结构,从根目录/开始,所有的文件系统都挂载在某个目录下,形成一个统一的视图。

常见问题解答

Q1:一个分区可以有多个挂载点吗?

不能 。一个分区只能挂载到一个挂载点。但可以通过绑定挂载让同一个文件系统出现在多个位置:

bash

复制代码
sudo mount --bind /mnt/data /mnt/data2

Q2:一个目录可以挂载多个分区吗?

不能。挂载时,挂载点目录原本的内容会被"隐藏",只有卸载后才能看到。

Q3:不挂载能访问分区数据吗?

不能。必须挂载到目录树才能访问。

Q4:根目录 / 是什么?

根目录 / 是最顶层的挂载点,通常挂载了系统分区。

💡 一句话总结

硬盘 上划出分区分区 上建立文件系统文件系统 挂载到目录树 的某个目录 (挂载点),然后我们就可以在这个目录下存取文件了。

记住这个顺序:硬盘 → 分区 → 文件系统 → 挂载点 → 目录 → 文件

相关推荐
道亦无名2 小时前
aiPbMgrSendAck
java·网络·数据库
代码改善世界4 小时前
C语言项目实战:学生成绩管理系统(支持登录注册、随机考试、分数区间统计)
c语言·网络·课程设计
Trouvaille ~4 小时前
【Linux】数据链路层与以太网详解:从 MAC 地址到 ARP 的完整指南
linux·运维·服务器·网络·以太网·数据链路层·arp
小鸡食米5 小时前
LVS(Linux Virtual Server)
运维·服务器·网络
Ronin3055 小时前
【Linux网络】Socket编程:UDP网络编程实现ChatServer
linux·网络·udp
User_芊芊君子5 小时前
WebSocket实时通信入门,感谢我的好搭档脉脉
网络·人工智能·websocket·网络协议·测评
码农阿豪5 小时前
解决HTTP 413错误:请求实体过大(Request Entity Too Large)的终极指南
网络·网络协议·http
天上飞的粉红小猪5 小时前
传输层UDP&&TCP
网络·tcp/ip·udp
DeeplyMind6 小时前
第17章 Docker网络实战与高级管理
网络·docker·容器