建立连接的桥梁
mount 命令的核心作用就是 “挂载”。

你可以把它想象成一座桥梁或一个接口,计算机中的文件系统(Linux 的根目录 )是一个巨大的树状结构,操作系统本身并不知道硬盘、U盘、光盘、网络存储等设备上的文件应该放在这棵树的哪个位置。
mount 命令的作用就是:
将一个存储设备(或一个分区、一个网络共享、一个文件镜像等)上的文件系统,连接到 Linux/Unix 系统中一个已存在的目录(称为“挂载点”,Mount Point)上。
一旦挂载成功,你就可以通过访问这个“挂载点”目录,来透明地访问和使用存储设备上的所有文件和目录,就好像它们本来就属于 Linux 文件系统的一部分一样。
为什么需要 mount?
- 安全性:系统启动时,只会自动挂载根文件系统 ,其他设备需要管理员手动或通过配置文件来挂载,这可以防止未授权的设备随意访问系统。
- 灵活性:你可以随时将不同的设备挂载到不同的目录下,使用完毕后再卸载,这为管理不同来源的数据提供了极大的灵活性。
- 隔离性:每个文件系统都是独立的,一个分区的损坏或文件系统错误通常不会影响到其他已挂载的分区。
- 支持多种文件系统:
mount命令通过内核模块支持非常多的文件系统类型,包括 Linux 原生的ext4、xfs,Windows 的ntfs、fat32,苹果的hfs+,以及网络文件系统nfs、cifs等。
mount 命令的基本语法
mount [选项] [设备名] [挂载点]
- 设备名:要挂载的设备或文件系统,可以是:
- 设备文件路径,如
/dev/sdb1(第二个硬盘的第一个分区)。 - 卷标(Label),如
-L MY_DATA。 - UUID,如
-U 123e-4567。 - 网络路径,如
//server/share(CIFS) 或server:/export(NFS)。
- 设备文件路径,如
- 挂载点:Linux 文件系统中的一个空目录,挂载后,这个目录的内容就会被设备上的内容所取代。
常用选项
| 选项 | 全称 | 作用 |
|---|---|---|
-t |
type |
指定文件系统类型,如 ext4, ntfs, nfs, vfat (FAT32) 等,现代系统通常能自动检测,可以省略。 |
-o |
options |
指定挂载选项,多个选项用逗号 分隔,这是最常用的选项之一。 |
-r |
read-only |
以只读方式挂载。 |
-w |
read-write |
以读写方式挂载(默认行为)。 |
-a |
all |
挂载 /etc/fstab 文件中定义的所有文件系统(除了那些标记了 noauto 的)。 |
-n |
no-mtab |
不更新 /etc/mtab 文件(这是一个过时的行为,现代系统使用 /proc/mounts)。 |
-L |
label |
使用文件系统的卷标来指定设备。 |
-U |
uuid |
使用文件系统的 UUID 来指定设备。(推荐使用,比设备名更稳定) |
常用 -o 挂载选项
| 选项 | 作用 |
|---|---|
defaults |
使用默认选项(rw, suid, dev, exec, auto, nouser, async)。 |
ro |
只读模式。 |
rw |
读写模式。 |
user |
允许普通用户挂载设备(需要 sudo)。 |
noexec |
禁止在挂载的文件系统中执行任何二进制文件。 |
exec |
允许执行文件(默认)。 |
uid=<数值> |
指定所有文件所属的用户 ID。 |
gid=<数值> |
指定所有文件所属的组 ID。 |
umask=<数值> |
设置文件和目录的权限掩码。 |
iocharset=<字符集> |
指定文件系统的字符集,如 iocharset=utf8,用于解决中文乱码问题。 |
实际操作示例
示例1:查看当前已挂载的文件系统
不带任何参数直接运行 mount 命令:

mount
或者使用更清晰的格式:
mount | column -t
你会看到类似下面的输出,显示了设备、挂载点、文件系统类型和挂载选项:
/dev/sda2 on / type ext4 (rw,relatime,errors=remount-ro)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
...其他挂载项...
示例2:挂载一个 U 盘
-
找到 U 盘设备名 插入 U 盘后,使用
lsblk或fdisk -l命令查看。lsblk
输出可能如下:
(图片来源网络,侵删)NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 238G 0 part / sdb 8:16 1 14.9G 0 disk <-- 这是你的U盘 └─sdb1 8:17 1 14.9G 0 part <-- 这是U盘的分区假设 U 盘是
/dev/sdb1,并且是vfat(FAT32) 格式。 -
创建一个挂载点 挂载点必须是一个空目录。
sudo mkdir -p /media/usb
-
执行挂载命令 这里我们使用 UUID 来挂载,因为它更稳定,先用
blkid命令获取 UUID。sudo blkid /dev/sdb1 # 输出: /dev/sdb1: UUID="A1B2-C3D4" TYPE="vfat" PARTUUID="..."
现在用 UUID 挂载,并指定文件系统类型和字符集以避免中文乱码:
sudo mount -t vfat -o iocharset=utf8 UUID=A1B2-C3D4 /media/usb
-
验证挂载 现在你可以进入
/media/usb目录访问 U 盘里的文件了。
示例3:挂载 Windows 硬盘的 NTFS 分区
假设 Windows 分区是 /dev/sda1,你想把它挂载到 /mnt/windows。
# 1. 创建挂载点 sudo mkdir /mnt/windows # 2. 挂载 (NTFS 通常需要指定权限) sudo mount -t ntfs -o rw,uid=1000,gid=1000 /dev/sda1 /mnt/windows # uid=1000 和 gid=1000 是你当前用户的ID,这样你就有权限读写文件了
示例4:挂载网络共享文件夹
假设有一台 Windows 机器的共享文件夹 share,地址是 168.1.100。
# 1. 安装 cifs-utils (如果未安装) sudo apt-get install cifs-utils # Debian/Ubuntu sudo yum install cifs-utils # CentOS/RHEL # 2. 创建挂载点 sudo mkdir /mnt/nas_share # 3. 挂载 sudo mount -t cifs //192.168.1.100/share /mnt/nas_share -o username=your_user,password=your_pass
相关命令
umount:与mount相对,用于“卸载”一个文件系统,断开连接。sudo umount /media/usb(通过挂载点卸载)sudo umount /dev/sdb1(通过设备名卸载)
/etc/fstab:一个至关重要的配置文件,你可以把需要开机自动挂载的设备信息写在这里,这样系统启动时就会自动执行mount操作,无需手动干预,这是永久性挂载的标准方式。
mount 命令是 Linux/Unix 系统管理中连接物理存储与虚拟文件系统的基石,它提供了强大而灵活的机制,让管理员和用户能够方便地管理各种本地和网络存储资源,是系统运维和日常使用中不可或缺的核心命令。
