mount是在Linux和UNIX操作系统中的命令。 在用户访问类Unix机器上的文件系统之前,需要使用mount命令挂载其文件系统。 也可用于SD卡,USB存储器,DVD和其他可移动存储设备文件系统的挂载。

mount命令也可在EFI shell中使用,常见的方式是使用mount 命令挂载文件系统到指定的目录中,对应的umount命令则从目录树中分离(卸载)已挂载的文件系统

在本教程中,将介会绍使用mountumount命令挂载和卸载各种文件系统的基础知识。包括,如何列出已挂载的文件系统,挂载文件系统的语法与常见选项,使用/etc/fstab挂载文件系统,挂载USB驱动器,挂载ISO文件,挂载NFS共享文件目录,卸载文件系统,强制卸载。延迟卸载。

如何列出已挂载的文件系统

如果在没有任何参数的情况下使用mount命令将显示所有当前挂载的文件系统‌。

mount

默认情况下,输出所有文件系统,包括虚拟文件系统,如cgroup,sysfs等。每行包含设备名称,设备挂载目录,文件系统类型和挂载选项的信息,格式如下:

device_name on directory type filesystem_type (options)

要仅显示某些类型的文件系统,请使用-t选项。例如,仅打印ext4文件系统类型:

mount -t ext4

挂载文件系统

要在指定位置(挂载点)挂载文件系统,请以下格式的使用mount命令:‌

mount [OPTION...] DEVICE_NAME DIRECTORY

挂载文件系统后,挂载点将成为已挂载文件系统的根目录。例如,将/dev/sdb1文件系统挂载到/mnt/media

sudo mount /dev/sdb1 /mnt/media

通常在挂载具有常见文件系统(如ext4或xfs)的设备时,mount命令将自动检测文件系统类型。但是,有些文件系统无法识别,需要明确指定文件系统类型。

使用-t选项指定文件系统类型:‌

mount -t TYPE DEVICE_NAME DIRECTORY

要指定其他挂载选项,请使用-o选项:

mount -o OPTIONS DEVICE_NAME DIRECTORY

可以提供多个选项作为逗号分隔列表(不要在逗号后插入空格),您也可以在终端通过键入man mount获取所有挂载选项的列表。

使用/etc/fstab挂载文件系统

当只为mount命令提供一个参数(目录或设备)时,它将读取/etc/fstab配置文件的内容以检查是否挂载了指定的文件系统。

如果/etc/fstab包含有指定文件系统的信息,mount命令将填写另一个参数的值,并使用fstab文件中指定的挂载选项。/etc/fstab文件包含以下格式的字段列表:

[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass]

挂载USB驱动器

在大多数Linux发行版中,如Ubuntu USB驱动器在插入时会自动挂载,但有时您可能需要手动挂载USB设备。手动挂载USB设备,请执行以下步骤,首先创建挂载点:

sudo mkdir -p /media/usb

假设USB驱动器块设备是/dev/sdd1,您可以通过键入以下命令将其挂载到目录 /media/usb :‌

sudo mount /dev/sdd1 /media/usb

要查找设备和文件系统类型,可以使用以下任何命令:

$ fdisk -l
$ ls -l /dev/disk/by-id/usb*
$ dmesg
$ lsblk

如果需要挂载windows下的exFAT,NTFS文件系统格式或者exFAT格式的USB驱动器,您需要安装FUSE exFAT模块和工具

挂载ISO文件

我们可以使用循环设备挂载ISO文件。循环设备是一种特殊的伪设备,它使文件可作为块设备访问。首先创建挂载点,它可以是您想要的任何位置:

sudo mkdir /media/iso

通过键入以下命令将ISO文件挂载到指定的目录:

sudo mount /path/to/image.iso /mnt/iso -o loop

不要忘记将/path/to/image.iso替换为你的ISO文件的路径。

挂载NFS

要挂载NFS系统,您需要在系统上安装NFS客户端软件。

在Ubuntu和Debian上安装NFS客户端:

sudo apt install nfs-common

在CentOS和Fedora上安装NFS客户端:

sudo yum install nfs-utils

使用以下步骤挂载远程系统的NFS目录,创建一个目录作为远程文件系统的挂载点:‌

sudo mkdir /media/nfs

通常,您需要在引导时自动挂载远程NFS目录。请使用你喜欢的文本编辑器打开文件,我们将使用vim

sudo vim /etc/fstab

将以下行添加到文件中/etc/fstab中, remote.server:/dir替换为NFS服务器IP地址或主机名以及导出的目录:

# <file system>    <dir>       <type>   <options>   <dump>	<pass>
remote.server:/dir /media/nfs  nfs      defaults    0       0
/etc/fstab

通过运行以下命令挂载NFS共享文件系统的目录:‌

sudo mount /mnt/nfs

卸载文件系统

要卸载已经挂载的文件系统,使用umount命令后面跟挂载的目录(挂载点)或设备名称。

umount DIRECTORYumount DEVICE_NAME

如果文件系统正在使用,umount命令将无法卸载文件系统。在这些情况下,您可以使用fuser命令找出正在访问文件系统的进程:

fuser -m DIRECTORY

确定进程后,可以停止进程并卸载文件系统。

延迟卸载

使用-l--lazy)选项可以在忙碌的文件系统不再忙碌时立即卸载它。‌

umount -l DIRECTORY

强制卸载

使用-f--force)选项强制卸载。此选项通常用于卸载无法访问的NFS系统

umount -f DIRECTORY

强制卸载通常不是一个好主意,因为它可能会破坏文件系统上的数据。

结论

到目前为止,您应该很好地理解如何使用mount命令将各种文件系统挂载到目录树并使用umount命令卸载已挂载的文件系统。