如何在Linux中挂载和卸载

725 阅读6分钟

挂载是简单地使一个文件系统在计算机系统中被访问。在这篇文章中,我们讨论了Linux操作系统中的挂载和卸载问题。

目录

  1. 简介
  2. 挂载
  3. 解除挂载
  4. 总结
  5. 参考文献

简介

Linux文件系统形成了一个以*/为根的分层结构树*。这个根*/*在启动时被挂载,其他文件系统在被挂载到一个挂载点之前仍然无法使用。为了访问一个文件系统,它需要被挂载。一个我们需要挂载的案例是,假设我们在一个500GB的硬盘上运行一个非常受欢迎的网络服务,但数据增长非常快,我们需要增加存储空间,挂载使我们能够在一个目录的任何一点上挂载一个新的更大容量的存储设备,同时保持相同的文件结构。

在这篇文章中,我们讨论了文件系统的挂载和卸载。
挂载和卸载文件系统需要系统的root权限,并且在挂载的情况下,我们要挂载文件系统的目录存在

挂载

这是一个将文件系统关联到存储设备的过程。在Linux中,mount命令被用来将一个文件系统附加到文件系统的层次结构中。在挂载时,我们提供诸如文件系统类型、文件系统和挂载点的信息。

通过将一个文件系统挂载到文件层次结构上,一个文件系统就成为层次结构的一个子树,因此可以从文件层次结构的其他部分进行导航。

挂载也可以通过使用网络文件系统(如NFS或AFS)从一个系统到另一个系统。我们也可以选择在另一个现有的文件系统中创建一个文件,并将其格式化为一个文件系统,然后挂载它,例如下载一个ISO文件并挂载它,而不是将其复制到另一个媒体。

挂载点是作为文件系统的一部分创建的目录,例如,根文件系统被挂载在*/*目录中。

文件系统的挂载发生在启动期间,它由/etc/fstab(文件系统表)配置文件管理。

这个文件将有一个所有文件系统的列表,它们所选择的挂载点和其他文件系统的特定选项。

要查看fstab文件,请输入cat /etc/fstab命令。

从输出中我们可以看到以下几列:

  • 文件系统:我们可以通过UUID(通用唯一标识符)或磁盘标签来指定文件系统。
  • 挂载点:是文件系统上的目录,我们将用它来访问磁盘上的存储数据。
  • 类型。这指定了文件系统的类型。
  • 选项。这里我们可以指定调整挂载的选项。
  • 倾倒。我们可以在系统上启用或禁用转储功能。
  • Pass num:在这里我们设置顺序用户,以便fsck能够检查文件系统。

要使用一个目录作为挂载点,我们要确保它是空的,因为如果我们在一个现有的文件系统上挂载一个文件系统,原来的内容会被隐藏,唯一可见的是新挂载的文件系统的内容。

我们可以通过使用mount命令来查看所有挂载的文件系统。

mount

在Linux中安装驱动器时,要使用mount命令,其语法如下。

sudo mount [DEVICE] [DIR]

该命令需要包含要挂载的文件系统的设备和挂载点,一旦我们连接了该文件系统,挂载点将是新挂载的文件系统的根目录。

一个例子

sudo mount /dev/sdb1 /mnt/media

我们还可以指定文件系统的类型,如下所示。

sudo mount -t vfat /dev/sdb1 /mnt/media

要指定额外的挂载点,我们可以使用*-o*选项。

我们可以通过列出系统中尚未被挂载的分区来检查它们,如下所示。

lsblk -f

我们还可以通过使用blkid命令来查看块设备。

挂载一个USB。

假设你插入了一个U盘,但它未能自动挂载,我们可以按如下方法挂载它。

我们首先创建一个挂载点

sudo mkdir -p /mnt/media/usb

然后按下面的方法挂载它。

sudo mount /dev/sda1 /mnt/media/usb

从上面的命令中,我们假设USB使用*/dev/sda1*设备。

安装NFS。

首先,我们创建一个目录,作为远程文件系统的挂载点。

sudo mkdir /mnt/media/nfs

其次,我们编辑fstab文件,这样我们就可以在启动时自动加载它。

# <file system>    <dir>       <type>   <options>   <dump>	<pass>
nfs-svr-ip-addr:/dir /mnt/media/nfs  nfs      defaults    0       0

在文件系统一栏中,我们可以指定一个远程ip地址或一个主机名。

最后,我们按以下方法挂载它。

sudo mount /mnt/media/nfs

解除挂载。

所有的文件系统通常在系统断电时被卸载,存储在内存中的任何缓存数据都被刷新到设备上。

卸载可以手动进行,例如在移除USB等可写介质时。
卸载命令用于该操作,如下所示。

unmount [DIRECTORY]
#or
unmount [DEVICE]

在卸载用作挂载点的目录中的文件后,如果存在隐藏的文件,它们将重新变得可见。

当我们试图卸载一个文件系统时,在有进程打开其文件的情况下,可能会发生错误。lsoffuser命令对于检查哪些进程有打开的文件很有用。

我们可以按以下条件检查。

fuser -m DIRECTORY

有时文件系统可能很忙,在这种情况下,我们可以通过使用*-l*(懒惰卸载)选项来卸载它,如下所示。

umount -l DIRECTORY

虽然不推荐使用*-f*选项,但它可以用来强制解挂,例如在文件系统无法到达的情况下,比如在NFS的情况下。

umount -f DIRECTORY

注意,强制卸载可能会破坏文件系统中的数据。

总结。

为了能够访问Linux操作系统中的文件系统,首先需要将其挂载。

挂载是使文件系统在Linux目录中被访问的过程。
所有的分区都通过挂载点连接到系统上。
在启动过程中,所有的分区都按照*/etc/fstab*文件的描述被挂载。
df(disk full/free)命令被用来显示关于分区及其挂载点的信息。

通过OpenGenus的这篇文章,你一定对Linux中的挂载和卸载有了深刻的认识。