Linux Command mount 挂载

简介: Linux Command mount 挂载

Linux Command mount 挂载

tags: 文件管理

文章目录

Linux Command mount 挂载

1. 简介

2. 语法

3. 退出状态

4. 命令选项

5. mount 挂载

5.1 列出挂载的文件系统

5.2 列出特定文件系统

5.3 挂载文件系统

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

5.5 挂载 USB 驱动器

5.6 安装 CD-ROM

5.7 挂载 ISO 文件

5.8 挂载 NFS

5.9 非超级用户安装

5.10 移动挂载点

6. umount 卸载

6.1 懒惰(lazy)卸载

6.2 强制卸载

1. 简介

Linux 文件系统层次结构呈树状排列,文件系统从根目录 ( /) 开始。所有其他子文件系统都从根目录分支出来。

mount命令允许用户挂载,即将额外的子文件系统附加到当前可访问文件系统上的特定挂载点。该命令将挂载指令传递给内核,内核完成操作。

2. 语法

mount -t [type] [device] [dir]

该命令指示内核附加在目录中找到的文件[device]系统[dir]。该-t [type]选项是可选的,它描述了文件系统类型(EXT3、EXT4、BTRFS、XFS、HPFS、VFAT 等)。


如果省略了目标目录,它将挂载/etc/fstab文件中列出的文件系统。


挂载文件系统时,目录之前的内容、所有者和模式[dir]是不可见的,[dir]路径名是指文件系统根目录。

3. 退出状态

该mount命令返回指示进程完成状态的以下值之一:

  1. 成功。
  2. 命令调用不正确或权限不足。
  3. 系统错误。
  4. 内部安装错误。
  5. 操作被用户中断。
  6. 写入或锁定/etc/mtab文件的问题。
  7. 挂载失败。
  8. 至少一个挂载操作成功了,但不是全部。

4. 命令选项

命令选项进一步指定文件系统类型、mount安装位置和类型。下表显示了最常见的mount选项:

1671171645375.png

-O [opts] 与 结合使用-a,限制-a适用的文件系统集。指在/etc/fstab文件[opts]的选项字段中指定的选项。该命令接受以逗号分隔的列表(不带空格)中指定的多个选项。

1671171664236.png

5. mount 挂载

5.1 列出挂载的文件系统

1832b220aa754cd18c504acc7686a560.png

5.2 列出特定文件系统

该-t选项允许用户指定运行mount命令时要显示的文件系统。例如,要仅显示 ext4 文件系统,请运行以下命令:

mount -t ext4

1832b220aa754cd18c504acc7686a560.png

或者加一个 -l参数

1832b220aa754cd18c504acc7686a560.png

5.3 挂载文件系统

挂载文件系统需要用户指定文件系统将附加到的目录或挂载点。例如,要将/dev/sdb1文件系统挂载到/mnt/media目录,请运行:

sudo mount /dev/sdb1 /mnt/media

1832b220aa754cd18c504acc7686a560.png

要指定其他特定于文件系统的挂载选项,请-o在设备名称之前传递标志,后跟选项。使用以下语法:

mount -o [options] [device] [dir]

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

/etc/fstab文件包含描述系统设备的安装位置和它们使用的选项的行。通常,fstab用于内部设备,例如 CD/DVD 设备和网络共享 (samba/nfs/sshfs)。可移动设备通常由gnome-volume-manager.


仅提供一个参数(或[dir]或[device])会导致mount读取/etc/fstab配置文件的内容以检查指定的文件系统是否在其中列出。如果列出了给定的文件系统,则mount使用缺失参数的值和/etc/fstab文件中指定的挂载选项。

/etc/fstab中定义的结构是:

<file system> <mount point> <type> <options> <dump> <pass>

以下屏幕截图显示了/etc/fstab文件的内容:

1832b220aa754cd18c504acc7686a560.png

要挂载/etc/fstab文件中指定的文件系统,请使用以下语法之一:

mount [options] [dir]
mount [options] [device]
  • 对于[dir],指定安装点。
  • 对于[device],指定设备标识符。

5.5 挂载 USB 驱动器

现代 Linux 发行版在插入后会自动挂载可移动驱动器。但是,如果自动挂载失败,请按照以下步骤手动挂载 U 盘:

  1. 使用mkdir 命令创建挂载点:
mkdir /media/usb-drive
  1. 找到 USB 设备和文件系统类型。跑:
fdisk -l

1832b220aa754cd18c504acc7686a560.png

3. 使用fdisk输出中的设备标识符,使用以下语法挂载 USB 驱动器:

sudo mount [identifier] /media/usb-drive

例如,如果设备列为/dev/sdb1,请运行:

sudo mount /dev/sdb1 /media/usb-drive

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

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

5.6 安装 CD-ROM

作为可移动设备,Linux 也会自动安装 CD-ROM。但是,如果挂载失败,请运行以下命令手动挂载 CD-ROM

mount -t iso9660 -o ro /dev/cdrom /mnt

确保/mnt安装点存在以使命令正常工作。如果没有,请使用mkdir命令创建一个。

iso9660是 CD-ROM 的标准文件系统,而-o ro选项导致mount将其视为只读文件系统。

5.7 挂载 ISO 文件

挂载 ISO 文件需要将其数据映射到循环设备。-o loop通过传递选项,使用循环设备将 ISO 文件附加到安装点:

mkdir /media/iso-file
mount /path/to/image.iso /media/iso-file -o loop

/path/to/image.iso为您的 ISO 文件的路径

5.8 挂载 NFS

网络文件系统 (NFS) 是一种分布式文件系统协议,用于通过网络共享远程目录。挂载 NFS 允许您使用远程文件,就好像它们存储在本地一样。

安装 NFS 需要安装 NFS 客户端软件包。了解如何在 Ubuntu 上安装 NFS

UbuntuDebian 上安装 NFS 客户端:

sudo apt install nfs-common

CentOSFedora 上安装 NFS 客户端:

sudo yum install nfs-utils

按照以下步骤在系统上挂载远程 NFS 目录:

  1. mkdir1. 使用命令创建挂载点:
sudo mkdir /media/nfs
  1. 通过运行挂载 NFS 共享:
sudo mount /media/nfs
  1. 要在启动时自动挂载远程 NFS 共享,请使用您选择的文本编辑器编辑/etc/fstab文件:
sudo vi /etc/fstab

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

remote.server:/dir /media/nfs  nfs      defaults    0       0

运行以下命令挂载 NFS 共享:

sudo mount /media/nfs

延展:查看如何创建和使用 NFS Docker 卷

5.9 非超级用户安装

虽然只有超级用户可以挂载文件系统,但包含该选项的/etc/fstabuser文件中的文件系统可以由任何系统用户挂载。

使用文本编辑器编辑/etc/fstab文件并在字段下指定user选项。例如:

/dev/cdrom /cd iso9660 ro,user,noauto,unhide

将上面的行添加到/etc/fstab允许任何系统用户iso9660CD-ROM 设备挂载文件系统。

指定users选项而不是user允许任何用户卸载文件系统,而不仅仅是安装它的用户。

5.10 移动挂载点

如果您决定将已安装的文件系统移动到另一个安装点,请使用该-M选项。语法是:

mount --move [olddir] [newdir]

对于[olddir],指定当前安装点。对于[newdir],指定要将文件系统移动到的挂载点。

将挂载的文件系统移动到另一个挂载点会导致其内容出现在[newdir]目录中,但不会更改文件的物理位置。

6. umount 卸载

如何卸载文件系统

语法

umount [dir]
或者
umount [device]

例如,要分离列为 的 USB 设备/dev/sdb1,请运行:

umount /dev/sdb1

在忙于打开文件或正在进行的进程时,无法分离文件系统,并且进程失败。如果您不确定文件系统在使用什么,请运行fuser 命令以找出:

fuser -m [dir]

对于[dir],指定文件系统安装点。例如:

fuser -m /media/usb-drive

1832b220aa754cd18c504acc7686a560.png

输出列出了当前访问设备的进程的 PID。停止进程并卸载文件系统。

注意:了解如何列出 Linux 中正在运行的进程。

6.1 懒惰(lazy)卸载

如果您不想手动停止进程,请使用延迟卸载,它指示unmount命令在其活动停止后立即分离文件系统。语法是:

umount --lazy [device]

6.2 强制卸载

( -f)--force选项允许用户强制卸载。但是,在强制卸载文件系统时要小心,因为该过程可能会损坏其上的数据。

语法是:umount -f [dir]

参考:

相关文章
|
17天前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
27 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
24天前
|
存储 Linux
在Linux中,如何使用fstab文件配置自动挂载?
在Linux中,如何使用fstab文件配置自动挂载?
|
19天前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
13 0
|
21天前
|
存储 Linux Shell
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
|
21天前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
22天前
|
Linux
在Linux中,如何挂载一个ISO文件?
在Linux中,如何挂载一个ISO文件?
|
23天前
|
Linux
在Linux中,如何挂载一个文件系统?
在Linux中,如何挂载一个文件系统?
|
24天前
|
存储 Linux 数据安全/隐私保护
在Linux中,挂载和卸载文件系统过程是什么?
在Linux中,挂载和卸载文件系统过程是什么?
|
24天前
|
存储 Linux
在Linux中,如何挂载和卸载文件系统?
在Linux中,如何挂载和卸载文件系统?
|
24天前
|
Linux
在Linux中,如何挂载远程NFS共享或iSCSI目标?
在Linux中,如何挂载远程NFS共享或iSCSI目标?