Linux CentOS 8(磁盘的挂载与卸载)
本节介绍一下Linux(Centos 8)中磁盘的挂载与卸载。
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。mount
命令用于挂载文件系统,格式为“mount 文件系统 挂载目录”
。挂载是在使用硬件设备前所执行的最后一步操作。对于比较新的Linux系统来讲,一般不需要使用-t
参数来指定文件系统的类型,Linux系统会自动进行判断。而mount
中的-a
参数则功能更强大,它会在执行后自动检查/etc/fstab
文件中有无疏漏被挂载的设备文件,如果有则进行自动挂载操作。
3.1 查看“fdisk”的选项
[root@localhost ~]# mount -h
Usage:
mount [-lhV]
mount -a [options]
mount [options] [--source] <source> | [--target] <directory>
mount [options] <source> <directory>
mount <operation> <mountpoint> [<target>]
Mount a filesystem.
Options:
-a, --all mount all filesystems mentioned in fstab
-c, --no-canonicalize don't canonicalize paths
-f, --fake dry run; skip the mount(2) syscall
-F, --fork fork off for each device (use with -a)
-T, --fstab <path> alternative file to /etc/fstab
-i, --internal-only don't call the mount.<type> helpers
-l, --show-labels show also filesystem labels
-n, --no-mtab don't write to /etc/mtab
-o, --options <list> comma-separated list of mount options
-O, --test-opts <list> limit the set of filesystems (use with -a)
-r, --read-only mount the filesystem read-only (same as -o ro)
-t, --types <list> limit the set of filesystem types
--source <src> explicitly specifies source (path, label, uuid)
--target <target> explicitly specifies mountpoint
-v, --verbose say what is being done
-w, --rw, --read-write mount the filesystem read-write (default)
-h, --help display this help
-V, --version display version
Source:
-L, --label <label> synonym for LABEL=<label>
-U, --uuid <uuid> synonym for UUID=<uuid>
LABEL=<label> specifies device by filesystem label
UUID=<uuid> specifies device by filesystem UUID
PARTLABEL=<label> specifies device by partition label
PARTUUID=<uuid> specifies device by partition UUID
<device> specifies device by path
<directory> mountpoint for bind mounts (see --bind/rbind)
<file> regular file for loopdev setup
Operations:
-B, --bind mount a subtree somewhere else (same as -o bind)
-M, --move move a subtree to some other place
-R, --rbind mount a subtree and all submounts somewhere else
--make-shared mark a subtree as shared
--make-slave mark a subtree as slave
--make-private mark a subtree as private
--make-unbindable mark a subtree as unbindable
--make-rshared recursively mark a whole subtree as shared
--make-rslave recursively mark a whole subtree as slave
--make-rprivate recursively mark a whole subtree as private
--make-runbindable recursively mark a whole subtree as unbindable
For more details see mount(8).
mount
命令常用选项,如表1 所示。
表1 mount命令常用选项的用法
选项 | 说明 |
---|---|
-a | 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能) |
-B | 绑定目录到另一个目录上 |
-L | 以卷标指定挂载设备 |
-t | 指定要挂载的设备上的文件系统类型 |
-o | 描述设备或档案的挂接方式 |
-U | 以UUID指定要挂载的设备 |
3.2 创建目录/mnt/data,并将/dev/sdb1挂载到该目录下。
[root@localhost ~]# mkdir /mnt/data
[root@localhost ~]# mount /dev/sdb1 /mnt/data/
注:
挂载点必须要提前存在,挂载成功后,在挂载点目录下创建的所有文件实际上就是存储在挂载到该目录下对应的分区上。
若挂载点本身非空,载入分区后,原目录下的文件会暂时“消失”(不可访问),被挂载上来的分区中的内容所取代,等到该分区被卸载后,原目录中的文件就会再次显示。一般不会使用非空的目录作为常用的挂载点。
3.3 查看分区的挂载情况
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 751M 0 751M 0% /dev
tmpfs tmpfs 768M 0 768M 0% /dev/shm
tmpfs tmpfs 768M 8.7M 760M 2% /run
tmpfs tmpfs 768M 0 768M 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 17G 1.5G 16G 9% /
/dev/sda1 ext4 976M 142M 767M 16% /boot
tmpfs tmpfs 154M 0 154M 0% /run/user/0
/dev/sdb1 ext4 976M 2.6M 907M 1% /mnt/data
3.4 永久挂载(自动挂载)
使用mount命令挂载分区到挂载点,立即生效,但是系统重启后不会自动挂载。如果需要在系统每次开机时都自动将指定的分区挂载到某个特定的目录,则需要将挂载信息写入系统的文件系统列表配置文件。
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jun 3 22:25:51 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=ad229ff4-8126-495a-b98f-954230112e1a /boot ext4 defaults 1 2
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sdb1 /mnt/data ext4 defaults 0 0
在fstab配置文件最后添加一行挂载记录。fstab文件格式分为6列,每一列的内容含义如下:
3.5 卸载
如果是临时挂载使用某个分区,在使用完成后,可以将其卸载。卸载之后,分区上的数据将无法访问。
(1)通过分区设备名称卸载
[root@localhost ~]# umount /dev/sdb1
(2)通过挂载点卸载
[root@localhost ~]# mount /dev/sdb1 /mnt/data/ //重新挂载
[root@localhost ~]# umount /mnt/data/
(3)特别注意的是,在卸载分区之前,先要确保该分区数据未被占用使用,包括当前用户退出其挂载点目录。若出现device is busy可使用命令fuser -k杀死与挂载目录相关的进程,在使用umount卸载目录。
制作成员: 杨佳佳
排版: 裕新
初审: 何嘉愉
复审: 二月二
点击下方“正月十六工作室”查看更多学习资源