如何在Linux中挂载和卸载文件系统
在Linux和UNIX操作系统上,可以使用'mount'命令在目录树中的特定安装点上添加(安装)文件系统和可移动设备(例如USB闪存驱动器)。
'umount'命令从目录树中分离(卸载)已安装的文件系统。
在本教程中,我们将介绍使用“ mount”和“ umount”命令添加和分离各种文件系统的基础知识。
如何列出已挂载的文件系统
当不带任何参数使用时,“ 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”文件包含以下格式的条目列表:
/etc/fstab
[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass]
以下列格式之一使用“ mount”命令来添加在“/etc/fstab”文件中指定的文件系统:
mount [OPTION...] DIRECTORY mount [OPTION...] DEVICE_NAME
安装U盘
在大多数现代Linux发行版(如Ubuntu)上,插入U盘后会自动挂载,但有时可能需要手动挂载该驱动器。
要手动安装USB设备,请执行以下步骤:
- 创建安装点:
sudo mkdir -p /media/usb
- 假设U盘使用“/dev/sdd1”设备,则可以通过键入以下命令将其安装到“/media/usb”目录中:
sudo mount /dev/sdd1 /media/usb
要查找设备和文件系统类型,可以使用以下任何命令:
fdisk -lls -l /dev/disk/by-id/usb*dmesglsblk
要安装exFAT格式的U盘,请安装免费的FUSE exFAT模块和工具。
挂载ISO文件
我们可以使用循环设备挂载ISO文件,该循环设备是一种特殊的伪设备,可使文件作为块设备进行访问。
- 首先创建挂载点,它可以是我们想要的任何位置:
sudo mkdir /media/iso
- 通过键入以下命令将ISO文件挂载到挂载点:
sudo mount /path/to/image.iso /media/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共享。为此,请使用文本编辑器打开“/etc/fstab”文件:
sudo nano /etc/fstab
将以下行添加到文件中,将'remote.server:/dir'替换为NFS服务器IP地址或者主机名以及导出的目录:/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass> remote.server:/dir /media/nfs nfs defaults 0 0
- 通过运行以下命令来挂载NFS共享:
sudo mount /media/nfs
卸载文件系统
要分离已挂载的文件系统,请使用“ umount”命令,后跟已挂载文件系统的目录(挂载点)或者设备名称:
umount DIRECTORYumount DEVICE_NAME
如果文件系统正在使用中,则'umount'命令将无法分离文件系统。
在这种情况下,我们可以使用“ fuser”命令来查找哪些进程正在访问文件系统:
fuser -m DIRECTORY
一旦确定了进程,就可以停止它们并卸载文件系统。
懒惰卸载
一旦不再繁忙的文件系统,请使用'-l'('--lazy')选项卸载该文件系统。
umount -l DIRECTORY
强制卸载
使用'-f'('--force')选项强制卸载。
此选项通常用于卸载无法访问的NFS系统。
umount -f DIRECTORY
通常,强行卸载不是一个好主意,因为它可能会损坏文件系统上的数据。