Linux中的根目录以外的文件想要被访问,需要将其关联到根目录下的某个目录来实现,这种关联操作就是挂载,这个目录就是挂载点,解除此关联关系的过程称为卸载。
挂载点需要以下几个注意事项:
要挂载的目录已存在; 挂载点目录不可被其他进程使用到; 挂载点下原有文件将被隐藏;
mount命令不带任何参数,可以显示当前系统已挂载的所有设备;
1、挂载命令:mount
mount命令格式:
mount [-hV]
mount -a [-fFnrvw] [-t vsftype]
mount [-fnrvw] [-o options [,...]] device | dir
mount [-fnrvw] [-t vsftype] [-o options] device dir
device:指明要挂载的设备,包括如下几类:
设备文件:例如 dev/sda1 卷标:-L 'LABEL',例如 -L 'MYDATA' UUID:-U 'UUID',例如 -U 'c96d9092-3a1e-4f37-86cf-7ac2bbde15e2' 伪文件系统名称:pro、sysfs、devtmpfs、configfs
dir: 挂载点
已经存在的目录,建议使用空目录,非空目录下的文件将会被隐藏;进程正在使用中的设备无法被卸载;
选项说明:
-h:显示帮助信息 -V:显示版本信息 -a:自动挂载所有支持自动挂载的设备,将/etc/fstab中定义的所有挂载信息重新挂载 -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用 -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个进程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作 -n:mount 在挂上后会在 /etc/mtab 中写入一条挂载信息,-n则不写入 /etc/mtab -r:以只读方式挂载文件系统(同 -o ro) -v:打印当前进行的操作 -w:以读写方式挂载文件系统(默认) -t vsftype:指定要挂载的设备上的文件系统类型,通常不必指定,mount 会自动选择正确的型态 -L 'LABEL':以卷标指定挂载设备 -U 'UUID':以UUID指定要挂载的设备; -B --bind:绑定目录到另一个目录上
-o options:挂载文件系统的选项
async:异步模式 sync:同步模式 atime/noatime:包含目录和文件 diratime/nodiratime:目录的访问时间戳 auto/noauto:是否支持自动挂载 exec/noexec:是否支持将文件系统上应用程序运行为进程 dev/nodev:是否支持在此文件系统上使用设备文件 suid/nosuid:是否支持在此文件系统上使用特殊权限 remount:重新挂载 ro:只读 rw:读写 user/nouser:是否允许普通用户挂载此设备 acl:启用此文件系统上的acl功能
注意:
上述选项可多个同时使用,彼此用逗号分隔;
默认挂载选项:rw,suid,dev,exec,auto,nouser,async
2、卸载命令:umount
umount命令格式:
umount device
umount mount_point
3、开机自动挂载
修改 /etc/fstab 文件可以实现开机自动挂载某设备,按照指定的格式添加需要挂载的信息即可;
文件挂载的配置文件 /etc/fstab 内容如下:

/etc/fstab 文件每行定义一个要挂载的文件系统,其每行的格式如下:
| 要挂载的设备或伪文件系统 | 挂载点 | 文件系统类型 | 挂载选项 | 转储频率 | 自检次序 |
|---|---|---|---|---|---|
| UUID=c96d9092-3a1e-4f37-86cf-7ac2bbde15e2 | /boot | xfs | defaults | 0 | 0 |
要挂载的设备或伪文件系统:设备文件、LBAEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc、sysfs) 挂载点:指定的目录 挂载选项:defaults 转储频率:0——不做备份,1——每天转储,2——每隔一天转储 自检次序:0——不自检,1——首先自检,一般只有rootfs采用1;
4、/etc/fstab 与 /etc/mtab 的区别
/etc/fstab
/etc/fstab是开机自动挂载的配置文件,在开机时起作用,相当于启动Linux的时候,自动使用检查分区的fsck命令和挂载分区的mount命令,检查分区和挂载分区是根据/etc/fstab中记录的相关信息进行的。
/etc/mtab
/etc/mtab记录的是当前系统已挂载的分区信息,每次挂载、卸载分区时会更新/etc/mtab文件中的信息。
两者的区别
/etc/fstab是在开机时起作用,相当于开机时执行了fsck命令和mount命令,系统根据/etc/fstab配置的信息自动挂载相关分区,随后更新/etc/mtab的信息;/etc/mtab是当前分区的挂载信息,如果挂载信息改变,/etc/mtab文件就会更新,mount命令的使用不会改变/etc/fstab文件内容,但会改变/etc/mtab文件的内容。




