# 挂载

挂载是指由操作系统使一个存储设备上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。

通常,当计算机关机时,每个已挂载存储都将经历一次卸载,以确保所有排队的数据被写入,并保证介质上文件系统结构的完整性。

# 简介

我们可以简单的将挂载理解为分配盘符,在 Windows 系统中依然如此,只是我们插入硬盘或媒体设备时系统会自动完成此项工作。

Linux 中将所有的设备都看作文件,并且只有一个根目录。在装系统时,我们分配给 Linux 的所有区都在根目录下的某个位置,比如 /home 等等。

我们要访问存储设备中的文件,就必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。

# MOUNT

mount 命令用于加载文件系统到指定的加载点。

此命令最常用于挂载 CDROM,使我们可以访问 CDROM 中的数据,当你将光盘插入 CDROM 中时,Linux 并不会自动挂载,必须使用 mount 命令来手动完成挂载。

需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,只有在 umount 卸载以后才会恢复正常。

另外,只有目录才能被挂载,文件不可以被挂载,而如果挂载在非空目录下可能会导致系统异常,所以建议挂载在空目录下。对于经常使用的设备可写入文件 /etc/fastab,以使系统在每次开机时自动加载。

mount 加载设备的信息记录在 /etc/mtab 文件中,可使用 umount 命令卸载清除记录。

注释:在 /etc/fstab 文件里显示的内容包括,第一列是挂载的文件系统的设备名,第二列是挂载点,第三列是挂载的文件系统类型,第四列是挂载的选项,选项间用逗号分隔。

# 语法

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

# 常用选项

名称 描述
-l 显示已加载的文件系统列表
-a 加载文件 “/etc/fstab” 中描述的所有文件系统
-n 加载没有写入文件 “/etc/mtab” 中的文件系统
-r 将文件系统加载为只读模式
-v 冗长模式,输出指令执行的详细信息

# 常用挂载命令格式

mount [-t文件系统] [-o特殊选项] 设备文件名 挂载点

# 实例

从新挂载 /home 分区,并移除执行权限。

cd ~
vi test.sh # 写入 echo "hello world!"
chomd 755 test.sh
./test.sh # 输出 hello world!
mount -o remount,noexec /home
./test.sh # 提示权限不足

挂载光盘。

mount -t iso9660 dev/sr0 /media

# UMOUNT

用于卸载已经加载的文件系统。

# 语法

umount [选项] [参数]

# 常用选项

名称 描述
-a 卸除 /etc/mtab 中记录的所有文件系统
-n 卸除时不要将信息存入 /etc/mtab 文件中
-t<文件系统类型> 仅卸除选项中所指定的文件系统
-v 执行时显示详细的信息

# 实例

通过挂载点卸载并显示详细的信息。

umount -v /meida

注意,进程正在使用的设备无法被卸载。

# FDISK

创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。

# 语法

fdisk [必要参数][选择参数]

# 常用选项

名称 描述
-l 列出素所有分区表,必要参数
-u 与 "-l" 搭配使用,显示分区数目,必要参数
-s<分区编号> 指定分区

菜单操作说明:

  • n:新建分区
  • d:删除分区
  • w:保存修改
  • l:显示分区类型
  • p:显示分区信息
  • q:退出不保存
  • t:设置分区号
  • v:进行分区检查

# 实例

显示当前分区情况。

fdisk -l

根据上面的命令我们可以查看 U 盘设备的文件名,从而进行挂载 U 盘。

mount -t vfat /dev/sdb1 /mnt