在Linux系统管理中,mount命令是一项基础且至关重要的技能,尤其对于像CentOS 6这样的经典服务器发行版而言,它的核心功能是将一个文件系统(无论是硬盘分区、光盘、U盘还是网络共享)附加到当前目录树的一个指定点上,使得用户和应用程序可以访问该文件系统中的数据,本文将深入探讨在CentOS 6环境下mount命令的使用方法、常用选项以及如何实现永久挂载。

基本语法与概念
mount命令的基本语法结构非常直观:
mount [选项] <设备文件> <挂载点目录>
- 设备文件:这是指你要挂载的存储设备的标识符,在CentOS 6中,它通常是
/dev/目录下的一个文件,例如/dev/sdb1(第二个SCSI/SATA硬盘的第一个分区)或/dev/cdrom(光驱),为了更稳定地识别设备,推荐使用UUID(通用唯一标识符)。 - 挂载点目录:这是一个已经存在的空目录,文件系统将被“嫁接”到这个目录上,访问这个目录就相当于访问该设备上的文件系统。
/mnt/data。 
在执行挂载前,必须确保挂载点目录已经存在,如果不存在,可以使用mkdir命令创建,mkdir /mnt/mydisk。
常用选项详解
mount命令的强大之处在于其丰富的选项,这些选项通过-o参数指定,可以精细控制挂载行为,下表列出了一些在CentOS 6环境中极为常用的选项:
| 选项 | 描述 | 
|---|---|
-t <文件系统类型> | 
指定设备的文件系统类型,常见的类型有ext3, ext4, ntfs, iso9660(光盘), nfs(网络文件系统)等。 | 
-o ro | 
以只读模式挂载文件系统。 | 
-o rw | 
以读写模式挂载文件系统(默认值)。 | 
-o auto | 
允许使用mount -a命令自动挂载(通常用于/etc/fstab)。 | 
-o noauto | 
禁止自动挂载。 | 
-o exec | 
允许在该文件系统上执行二进制文件。 | 
-o noexec | 
禁止在该文件系统上执行任何程序(增强安全性)。 | 
-o suid | 
允许SUID(Set User ID)和SGID(Set Group ID)位生效。 | 
-o nosuid | 
禁止SUID和SGID位(增强安全性)。 | 
-o defaults | 
使用默认选项,相当于rw, suid, dev, exec, auto, nouser, async的集合。 | 
-o loop | 
用于挂载一个文件作为循环设备,最常见的用途是挂载ISO镜像文件。 | 
实战操作示例
理论结合实践是掌握centos 6 mount 命令的最佳途径。
挂载一个新的EXT4硬盘分区
假设你有一个新分区/dev/sdb1,已格式化为ext4,你想将其挂载到/data目录。
# 1. 创建挂载点 sudo mkdir /data # 2. 执行挂载命令 sudo mount -t ext4 /dev/sdb1 /data # 3. 验证挂载是否成功 df -hT
df -hT的输出中,你应该能看到/dev/sdb1已经成功挂载到了/data,文件系统类型为ext4。
挂载光盘(CD/DVD-ROM)

光驱设备通常链接为/dev/cdrom,文件系统类型为iso9660。
# 创建挂载点(如果不存在) sudo mkdir /mnt/cdrom # 执行挂载 sudo mount -t iso9660 /dev/cdrom /mnt/cdrom
挂载ISO镜像文件
如果你有一个名为CentOS-6.10-x86_64-bin-DVD1.iso的镜像文件,无需刻录光盘即可访问其内容。
# 创建挂载点 sudo mkdir /mnt/iso # 使用loop选项挂载 sudo mount -o loop /path/to/CentOS-6.10-x86_64-bin-DVD1.iso /mnt/iso
实现开机自动挂载:/etc/fstab文件
通过命令行手动挂载的文件系统在系统重启后会失效,为了实现永久挂载,需要编辑/etc/fstab(filesystem table)文件,这个文件包含了系统启动时需要自动挂载的文件系统信息。
/etc/fstab文件每行代表一个挂载条目,包含六个字段,用空格或制表符分隔:
<设备>    <挂载点>    <文件系统类型>    <挂载选项>    <dump频率>    <fsck检查顺序>
- 设备:推荐使用UUID(可通过
blkid /dev/sdb1命令获取)而非设备名,因为设备名可能会在重启后改变。 - 挂载选项:可以使用前面提到的
defaults。 - dump频率:通常设为
0(不使用dump备份)。 - fsck检查顺序:根分区()通常为
1,其他需要检查的分区为2,不需要检查的为0。 
要将/dev/sdb1(假设其UUID为a1b2c3d4-e5f6-7890-1234-567890abcdef)开机自动挂载到/data,可以在/etc/fstab中添加如下一行:
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef  /data  ext4  defaults  0  2
保存文件后,可以使用mount -a命令测试配置是否正确,如果命令没有任何输出,说明fstab文件无误,所有条目均已成功挂载。

卸载文件系统
当不再需要使用某个文件系统时,应使用umount命令将其卸载,以确保数据完整性。
# 通过挂载点卸载 sudo umount /data # 或通过设备文件卸载 sudo umount /dev/sdb1
如果遇到“device is busy”错误,说明有进程正在使用该文件系统,可以使用lsof /data或fuser -m /data命令查看是哪个进程占用,结束后再尝试卸载。
相关问答 (FAQs)
问题1:如何快速查看当前系统中所有已挂载的文件系统及其详细信息?
解答: 有多种方法可以查看已挂载的文件系统,每种方法的侧重点不同:
mount命令:直接在终端输入mount并回车,它会列出所有已挂载的文件系统,包括设备名、挂载点、文件系统类型和挂载选项,信息非常全面。df -hT命令:这个命令更侧重于展示磁盘空间使用情况。-h选项以人类可读的格式(如KB, MB, GB)显示大小,-T选项会额外显示文件系统类型,这是日常查看磁盘空间和挂载情况最常用的命令。cat /proc/mounts命令:此命令直接读取内核提供的挂载信息,内容与mount命令类似,但格式更标准化,所有内容在一行内显示。
问题2:我修改了/etc/fstab文件后重启,系统无法启动或者进入紧急模式,可能是什么原因?
解答: 这通常是由于/etc/fstab文件中的配置错误导致的,常见原因有以下几点:
- 语法错误:字段数量不等于六个、字段间分隔符错误、关键词拼写错误(如将
defaults写成default)等,系统在解析fstab时会因为无法理解指令而失败。 - 设备标识符错误:如果使用设备名(如
/dev/sdb1)而非UUID,在添加或移除硬盘后,设备名可能发生变化,导致系统找不到指定的设备,强烈建议使用blkid命令获取UUID并填入fstab。 - 挂载点目录不存在:
fstab中指定的挂载点目录在系统启动时必须存在,如果目录被意外删除,挂载就会失败。 解决方法是在启动时进入单用户模式或使用Live CD/USB救援模式,然后检查并修正/etc/fstab文件中的错误,在每次修改fstab后,养成使用mount -a命令进行测试的好习惯,可以有效避免此类问题。