mount
mount
Linux中的mount命令用于将文件系统挂载到目录树的指定位置,使存储设备(如硬盘、分区、网络存储等)的内容可访问。以下是mount的核心概念、常用参数及示例:
🧱 1 基本语法
1
mount [-选项] [设备] [挂载点]
- 设备:如
/dev/sda1、UUID=xxxx、网络路径(NFS/CIFS)。 - 挂载点:必须是一个已存在的目录。
🧰 2 常用挂载参数
通用选项
| 参数 | 作用 |
|---|---|
-t <文件系统类型> | 指定文件系统类型(如ext4、xfs、nfs、vfat、tmpfs)。 |
-o <选项> | 挂载选项(多个选项用逗号分隔),详见下文。 |
-a | 挂载/etc/fstab中所有未挂载的设备。 |
-r | 只读挂载(等效于-o ro)。 |
-w | 读写挂载(默认,等效于-o rw)。 |
-o的常用子选项
| 选项 | 说明 |
|---|---|
rw/ro | 读写/只读模式。 |
noexec | 禁止执行挂载点内的程序。 |
nosuid | 忽略文件的 SUID/SGID 权限位。 |
nodev | 不解析设备文件(如 /dev 下的文件)。 |
relatime | 优化访问时间更新(减少磁盘写入)。 |
noatime | 完全不更新访问时间(进一步提升性能)。 |
sync/async | 同步/异步 I/O(同步写入更安全,异步性能更高)。 |
user | 允许普通用户挂载(需在 /etc/fstab 中配置)。 |
defaults | 使用默认选项(rw,suid,dev,exec,auto,nouser,async,relatime)。 |
bind | 绑定挂载(将一个目录挂载到另一个位置)。 |
remount | 重新挂载(修改选项而无需卸载)。 |
文件系统特定选项
ext4/xfs:journal(日志)、discard(TRIM 支持)。nfs/cifs:username、password、vers=3.0(NFS 版本)。tmpfs:size=1G(限制内存文件系统大小)。
3. 常见用法示例
挂载本地磁盘
bash
1
2
3
4
5
# 挂载 ext4 分区到 /mnt/data
sudo mount /dev/sdb1 /mnt/data -t ext4 -o rw,noatime
# 通过 UUID 挂载(避免设备名变化)
sudo mount UUID=1234-5678 /mnt/usb -t vfat
挂载网络存储
bash
1
2
3
4
5
# NFS 挂载
sudo mount -t nfs 192.168.1.100:/share /mnt/nfs -o vers=4
# SMB/CIFS 挂载(需安装 cifs-utils)
sudo mount -t cifs //server/share /mnt/smb -o username=user,password=pass
绑定挂载(目录映射)
bash
1
2
3
4
5
# 将 /var/www 挂载到 /home/user/www
sudo mount --bind /var/www /home/user/www
# 递归绑定(子目录也生效)
sudo mount --rbind /olddir /newdir
临时文件系统(tmpfs)
bash
1
2
# 挂载 2GB 内存到 /tmp/ramdisk
sudo mount -t tmpfs -o size=2G tmpfs /tmp/ramdisk
重新挂载(修改选项)
bash
1
2
3
4
5
# 将 / 文件系统改为只读
sudo mount -o remount,ro /
# 重新挂载并启用 noexec
sudo mount -o remount,noexec /mnt
4. 永久挂载(/etc/fstab)
编辑 /etc/fstab 文件可实现开机自动挂载,每行格式如下:
text
1
<设备> <挂载点> <文件系统> <选项> <dump备份> <fsck检查顺序>
示例:
plaintext
1
2
UUID=1234-5678 /mnt/data ext4 defaults,noatime 0 2
//server/share /mnt/smb cifs username=user,password=pass 0 0
5. 卸载命令
bash
1
2
3
umount /mnt/data # 通过挂载点卸载
umount /dev/sdb1 # 通过设备卸载
umount -l /mnt/data # 懒卸载(延迟卸载,当不再繁忙时)
6. 查看已挂载的文件系统
bash
1
2
3
mount # 显示所有挂载点
mount | grep /mnt # 过滤特定挂载点
cat /proc/mounts # 内核记录的挂载信息
注意事项
- 权限:挂载通常需要
root权限(除非配置了user选项)。 - 依赖工具:部分文件系统需额外工具包(如
nfs-utils、cifs-utils)。 - 安全:避免直接挂载不可信设备(可用
noexec,nosuid,nodev限制)。 - 卸载前:确保没有进程正在使用挂载点(
lsof /mnt可查看占用进程)。
This post is licensed under CC BY 4.0 by the author.