如何挂载与卸载文件系统在Linux
mount是在Linux和UNIX操作系统中的命令。 在用户访问类Unix机器上的文件系统之前,需要使用mount命令挂载其文件系统
mount是在Linux和UNIX操作系统中的命令。在用户访问类Unix机器上的文件系统之前,需要使用mount命令挂载其文件系统。
可用于SD卡,USB存储器,DVD和其他可移动存储设备文件系统的挂载。mount命令也可在EFI shell中使用。
常见的方式是使用mount
挂载文件系统到指定的目录中,也就是挂载点。对应的umount
命令则从目录树中分离已挂载的文件系统,通常称为卸载。
列出已挂载的文件系统。如果在没有任何参数的情况下运行mount
命令将显示当前已挂载的文件系统。
默认情况下,输出所有文件系统,包括虚拟文件系统,如cgroup,sysfs等。每行包含设备名称,设备挂载目录,文件系统类型和挂载选项的信息。
如果需要仅打印某些类型的文件系统的挂载信息,可以mount的-t
选项指定文件系统类型。例如命令mount -t ext4
仅打印ext4文件系统类型的挂载信息。
挂载文件系统。要在指定挂载点挂载文件系统,请以mount [OPTION...] DEVICE_NAME DIRECTORY
格式的运行mount
命令。
OPTION
是挂载选项,DEVICE_NAME
是设备名称,DIRECTORY
顾名思义也就是目录,也称为挂载点。挂载文件系统后,挂载点将成为已挂载文件系统的目录。
sudo mount /dev/sdb1 /mnt/media
命令将磁盘分区设备/dev/sdb1
文件系统挂载到/mnt/media
。
通常在挂载常见文件系统,如ext4或xfs的设备时,mount
命令将自动检测文件系统类型。但是,有些文件系统无法识别,需要明确指定文件系统类型。
你可使用mount的-t
选项指定文件系统类型,你可能还需要指定其他挂载选项,请使用mount的-o
选项指定。
sudo mount -t ntfs -o uid=64055,gid=108 /dev/sdb1 /mnt/media
命令将磁盘分区设备/dev/sdb1
文件系统挂载到/mnt/media
,指定文件系统类型是NTFS,挂载选项是uid=64055,gid=108
。
可以提供多个选项,使用逗号分隔,不要在逗号后插入空格,您可在终端中键入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设备,首先创建挂载点使用mkdir命令sudo mkdir -p /media/usb
。
假设USB驱动器设备是/dev/sdd1
,你可运行命令sudo mount /dev/sdd1 /media/usb
将其挂载到目录/media/usb
。
如果usb设备不是Linux可以自动检测文件系统类型,你需要查找设备的文件系统类型使用sudo fdisk -l
。在挂载请使用-t
选项指定文件系统类型。
如果需要挂载windows下的exFAT,NTFS文件系统格式或者exFAT格式的USB驱动器,您需要安装FUSE exFAT模块和工具。
挂载ISO文件
我们可以使用循环设备挂载ISO文件。循环设备是一种特殊的伪设备,它使文件可作为块设备访问。
在挂载ISO文件之前首先创建挂载点,它可以是您想要的任何位置。在本教程我们使用挂载点的目录/media/iso
,运行命令sudo mkdir -p /media/iso
创建它。
sudo mount /path/to/image.iso /media/iso -o loop
命令将ISO文件挂载到指定的目录,不要忘记将/path/to/image.iso
替换为你的ISO文件的路径。
挂载NFS
要挂载NFS系统,您需要在系统上安装NFS客户端软件。
如果要在基于Debian的Linux发行版装NFS客户端,例如Ubuntu,Linux mint等。请运行命令sudo apt update && apt install nfs-common
。
要在基于Redhat的Linux发行版上安装NFS客户端,例如CentOS和Fedora等。请运行命令sudo yum install nfs-utils
。挂载远程系统的NFS目录
接下来运行命令sudo mkdir /media/nfs
创建一个目录作为nfs
共享的挂载点。
通常,您需要在启动时自动挂载远程NFS共享。请使用你喜欢的文本编辑器打开文件/etc/fstab
。在本教程我们使用vim打开文件,运行命令sudo vim /etc/fstab
。
将以下行添加到文件中/etc/fstab
中, remote.server:/dir
替换为NFS服务器IP地址以及导出的目录。
最后运行命令sudo mount /media/nfs
挂载NFS共享目录。
卸载
要卸载已挂载的文件系统,使用umount
命令后面跟已挂载的目录即挂载点。或者设备名称。可以是umount DIRECTORY
或者umount DEVICE_NAME
。
如果文件系统正在使用,umount
命令将无法卸载文件系统。在这些情况下,您可以使用fuser
命令找出正在访问挂载点的进程。
fuser -m DIRECTORY
命令将查找正在访问挂载点的进程,DIRECTORY
是挂载点。然后你就可以停止进程并卸载文件系统。
除此之外你还可以使用-l
/--lazy
选项可以文件系统不再被访问时立即卸载它。终极选项是使用-f
/--force
选项强制卸载。
此选项通常用于卸载无法访问的NFS系统。强制卸载通常不是一个好主意,因为它可能会破坏文件系统上的数据。
到目前为止,您应该很好地理解如何使用mount
命令将各种文件系统挂载到目录树并使用umount
命令卸载已挂载的文件系统。