mount你不知道的那些功能-挂载点共享

mount 是 Linux 最常用的功能,用来将存储设备挂载到目录的挂载点上。

注意:Linux 允许将文件系统挂载到已附加了文件系统的目录。这种操作通常很危险。

目录

常用功能

挂载

mount device directory

挂载时,支持通过以下方法识别设备:

  • 通用唯一标识符(UUID):例如,UUID=cc82fd59-9465-4af7-a91b-37acf44de266
  • 卷标签:例如,LABEL=home
  • 设备的完整路径:例如,/dev/sda1

列出挂载点

findmnt

shell 复制代码
[root@c1-121 ~]# findmnt
TARGET                                SOURCE                  FSTYPE      OPTIONS
/                                     /dev/mapper/centos-root xfs         rw,relatime,seclabel,attr2,inode64,noquota
├─/sys                                sysfs                   sysfs       rw,nosuid,nodev,noexec,relatime,seclabel
│ ├─/sys/kernel/security              securityfs              securityfs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                    tmpfs                   tmpfs       ro,nosuid,nodev,noexec,seclabel,mode=755
│ │ ├─/sys/fs/cgroup/systemd          cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
│ │ ├─/sys/fs/cgroup/perf_event       cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,perf_event
│ │ ├─/sys/fs/cgroup/hugetlb          cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb
│ │ ├─/sys/fs/cgroup/memory           cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,memory
│ │ ├─/sys/fs/cgroup/cpu,cpuacct      cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu
│ │ ├─/sys/fs/cgroup/blkio            cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,blkio
│ │ ├─/sys/fs/cgroup/cpuset           cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,cpuset
│ │ ├─/sys/fs/cgroup/freezer          cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,freezer
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls
│ │ ├─/sys/fs/cgroup/devices          cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,devices
│ │ └─/sys/fs/cgroup/pids             cgroup                  cgroup      rw,nosuid,nodev,noexec,relatime,seclabel,pids
│ ├─/sys/fs/pstore                    pstore                  pstore      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/config                configfs                configfs    rw,relatime
│ ├─/sys/fs/selinux                   selinuxfs               selinuxfs   rw,relatime
│ ├─/sys/kernel/debug                 debugfs                 debugfs     rw,relatime
│ └─/sys/fs/fuse/connections          fusectl                 fusectl     rw,relatime
├─/proc                               proc                    proc        rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc          systemd-1               autofs      rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=59988
│   └─/proc/sys/fs/binfmt_misc        binfmt_misc             binfmt_misc rw,relatime
├─/dev                                devtmpfs                devtmpfs    rw,nosuid,seclabel,size=1928420k,nr_inodes=482105,mode=755
│ ├─/dev/shm                          tmpfs                   tmpfs       rw,nosuid,nodev,seclabel
│ ├─/dev/pts                          devpts                  devpts      rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000
│ ├─/dev/hugepages                    hugetlbfs               hugetlbfs   rw,relatime,seclabel
│ └─/dev/mqueue                       mqueue                  mqueue      rw,relatime,seclabel
├─/run                                tmpfs                   tmpfs       rw,nosuid,nodev,seclabel,mode=755
│ └─/run/user/0                       tmpfs                   tmpfs       rw,nosuid,nodev,relatime,seclabel,size=388052k,mode=700
└─/boot                               /dev/sda1               xfs         rw,relatime,seclabel,attr2,inode64,noquota
[root@c1-121 ~]# findmnt -t xfs
TARGET  SOURCE                  FSTYPE OPTIONS
/       /dev/mapper/centos-root xfs    rw,relatime,seclabel,attr2,inode64,noquota
└─/boot /dev/sda1               xfs    rw,relatime,seclabel,attr2,inode64,noquota

卸载

umount mount-point
umount device

移动挂载点

这个功能一般比较陌生,很多同学会用先umount 然后在mount的方式完成。
mount --move old-directory new-directory

不常用功能

共享挂载点

Linux 支持将同一个设备挂载到多个挂载点。可用的挂载类型如下:
private

这个类型不接收或转发任何传播事件。

当您在重复或者原始挂载点下挂载另一个文件系统时,不会反映在另一个文件系统中。

shared

这个类型会为给定挂载点创建准确的副本。

当挂载点被标记为 shared 挂载时,原始挂载点中的任何挂载都会反映在其中,反之亦然。

这是根文件系统的默认挂载类型。

slave

此类型会创建给定挂载点的有限重复。

当挂载点标记为 slave 挂载时,原始挂载点中的任何挂载都会反映在该挂载点中,但 slave 挂载中的任何挂载都没有反映在其原始挂载中。

unbindable

此类型可防止给定挂载点被复制。

创建Private挂载点

shell 复制代码
[root@c2-125 ~]# mount --bind /test1 /test1
[root@c2-125 ~]# mount --make-private /test1
[root@c2-125 ~]# mount --bind /test1 /test2/
[root@c2-125 ~]# mount /dev/sdc /test1/
[root@c2-125 ~]# ls /test1
lost+found  test1
[root@c2-125 ~]# ls /test2
[root@c2-125 ~]# 

创建share挂载点

shell 复制代码
[root@c2-125 ~]# mount --bind /test1 /test1
[root@c2-125 ~]# mount --make-shared /test1
[root@c2-125 ~]# mount --bind /test1 /test2/
[root@c2-125 ~]# mount /dev/sdc /test1/
[root@c2-125 ~]# ls /test1
lost+found  test1
[root@c2-125 ~]# ls /test2
lost+found  test1
shell 复制代码
[root@c2-125 ~]# touch /test1/test11
[root@c2-125 ~]# ll /test2
total 16
drwx------ 2 root root 16384 Aug 21 11:31 lost+found
-rw-r--r-- 1 root root     0 Aug 21 11:36 test1
-rw-r--r-- 1 root root     0 Aug 21 11:42 test11
[root@c2-125 ~]# touch /test2/test21
[root@c2-125 ~]# ll /test1
total 16
drwx------ 2 root root 16384 Aug 21 11:31 lost+found
-rw-r--r-- 1 root root     0 Aug 21 11:36 test1
-rw-r--r-- 1 root root     0 Aug 21 11:42 test11
-rw-r--r-- 1 root root     0 Aug 21 11:42 test21
shell 复制代码
[root@c2-125 ~]# df -TH
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G  9.3M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs       156G  9.6G  147G   7% /
/dev/sda1               xfs       1.1G  204M  860M  20% /boot
tmpfs                   tmpfs     398M     0  398M   0% /run/user/0
/dev/sdc                ext4       11G   38M  9.9G   1% /test1

创建salve挂载点

shell 复制代码
[root@c2-125 ~]# mount --bind /test1 /test1
[root@c2-125 ~]# mount --make-shared /test1
[root@c2-125 ~]# mount --bind /test1 /test2
[root@c2-125 ~]# mount --make-slave /test2
[root@c2-125 ~]# mount /dev/sdc /test2
[root@c2-125 ~]# ls /test2/
lost+found  test1  test2
[root@c2-125 ~]# ls /test1/

防止重复挂载

shell 复制代码
[root@c2-125 ~]# mount --bind /test1 /test1
[root@c2-125 ~]# mount --make-unbindable /test1
[root@c2-125 ~]# mount --bind /test1 /test2
mount: wrong fs type, bad option, bad superblock on /test1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
相关推荐
HIT_Weston2 分钟前
16、【ubuntu】【gitlab】【补充】服务器断电后,重启服务器,gitlab无法访问
服务器·ubuntu·gitlab
流沙QS7 分钟前
MinIO服务器文件复制(Windows环境&Linux环境)
服务器·分布式
鱼香鱼香rose16 分钟前
面经hwl
java·服务器·数据库
费曼乐园16 分钟前
Zookeeper下面的conf目录下面的zoo.cfg
linux·分布式·zookeeper
网安kk32 分钟前
2025年三个月自学手册 网络安全(黑客技术)
linux·网络·python·安全·web安全·网络安全·密码学
网络安全(华哥)35 分钟前
linux 网络安全不完全笔记
linux·笔记·web安全
有Li1 小时前
AutoFOX:一种冠状动脉X线造影与OCT的自动化跨模态3D融合框架|文献速递-视觉大模型医疗图像应用
运维·3d·自动化
BuluAI2 小时前
Lazydocker:高效便捷的Docker管理工具
运维·docker·容器
dot.Net安全矩阵3 小时前
.NET | 剖析通过 TcpClient 实现内网端口转发
服务器·网络·tcp/ip·安全·.net
it's all you6 小时前
CentOS设置静态IP教程(2024年12月20日)
linux·tcp/ip·centos