如何在Linux中挂载和卸载文件系统

时间:2020-03-05 15:27:25  来源:igfitidea点击:

在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

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