mount
命令是 Linux 系统中用于挂载文件系统的核心工具,它允许你将存储设备(如硬盘分区、USB 驱动器、CD-ROM 等)或网络共享连接到文件系统的特定目录(挂载点),使这些存储资源能够被系统访问和使用。
mount [-选项] [设备] [挂载点]
选项 | 描述 |
---|---|
-t |
指定文件系统类型 (ext4, ntfs, vfat, nfs 等) |
-o |
指定挂载选项 (ro, rw, noexec, nosuid 等) |
-a |
挂载 /etc/fstab 中定义的所有文件系统 |
-l |
列出已挂载的文件系统 |
-v |
显示详细输出 |
-r |
以只读模式挂载 |
-w |
以读写模式挂载 |
# 挂载设备到目录
mount /dev/sdb1 /mnt/data
# 指定文件系统类型挂载
mount -t ext4 /dev/sdb1 /mnt/data
# 挂载ISO文件
mount -o loop ubuntu.iso /mnt/iso
# 挂载USB设备(通常会自动挂载,也可手动)
mount /dev/sdc1 /mnt/usb
# 挂载网络共享(NFS)
mount -t nfs 192.168.1.100:/shared /mnt/nfs
# 挂载Windows共享(SMB/CIFS)
mount -t cifs //server/share /mnt/smb -o username=user,password=pass
# 以只读模式挂载
mount -o ro /dev/sdb1 /mnt/data
# 使用特定选项挂载
mount -o noexec,nosuid /dev/sdb1 /mnt/data
# 绑定挂载(将一个目录挂载到另一个位置)
mount --bind /original/dir /new/location
# 查看所有已挂载的文件系统
mount
# 查看特定类型的挂载
mount -t ext4
# 使用更详细的列表
mount -l
使用 umount
命令卸载:
# 通过挂载点卸载
umount /mnt/data
# 通过设备卸载
umount /dev/sdb1
# 强制卸载(当设备忙时)
umount -f /mnt/data
# 延迟卸载(当设备不再忙时)
umount -l /mnt/data
/etc/fstab
文件定义了系统启动时自动挂载的文件系统。示例条目:
/dev/sdb1 /mnt/data ext4 defaults 0 2
字段说明: 1. 设备或远程共享 2. 挂载点 3. 文件系统类型 4. 挂载选项 5. dump备份标志 6. fsck检查顺序
添加新条目后,可以测试并应用:
# 测试fstab配置
mount -a
# 如果测试成功,重启后会自动挂载
挂载失败:设备忙
fuser -vm /mnt/data # 查看哪些进程在使用
kill <PID> # 结束相关进程
umount /mnt/data # 再次尝试卸载
未知文件系统类型
ntfs-3g
exfat-fuse
权限问题
mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/data
只读文件系统
fsck /dev/sdb1
mount -t tmpfs -o size=1G tmpfs /mnt/ramdisk
vgchange -ay # 激活卷组
mount /dev/mapper/vg0-lv_data /mnt/data
cryptsetup luksOpen /dev/sdb1 encrypted_vol
mount /dev/mapper/encrypted_vol /mnt/secure
mount -o subvol=@ /dev/sdb1 /mnt/btrfs
nosuid
选项防止SUID程序执行noexec
阻止执行挂载分区上的程序nodev
选项/etc/fstab
中使用UUID而非设备名(设备名可能变化)
bash
blkid # 查看设备UUID
autofs
实现按需挂载/etc/fstab
的准确性bash
sync
通过掌握 mount
命令,你可以灵活管理Linux系统中的各种存储资源,满足不同的使用场景和需求。