linux系统挂载与取消挂载

挂载概念简述:

根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”

1.挂载:根文件系统外通过关联至根文件系统上的某个目录来实现访问

2.挂载点:mount_point,用于作为另一个文件系统的访问入口;

(1) 事先存在;

(2) 应该使用未被或不会被其它进程使用到的目录;

(3) 挂载点下原有的文件将会被隐藏;

挂载与卸载

挂载方法:mount DECE MOUNT_POINT

mount:通过查看/etc/mtab(文章最后会对/etc/mtab有个解释)文件显示当前系统已挂载的所有设备

命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir

device:指明要挂载的设备;

(1) 设备文件:例如/dev/sda5

(2) 卷标:-L ‘LABEL’, 例如 -L ‘MYDATA’

(3) UUID, -U ‘UUID’:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’

(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs

dir:挂载点

事先存在;建议使用空目录;

进程正在使用中的设备无法被卸载;

常用命令选项:

-t vsftype:指定要挂载的设备上的文件系统类型;

-r: readonly,只读挂载;

-w: read and write, 读写挂载;

-n: 不更新/etc/mtab; 

-a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)

-L 'LABEL': 以卷标指定挂载设备;

-U 'UUID': 以UUID指定要挂载的设备;

-B, --bind: 绑定目录到另一个目录上;

注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

………………………………………………………………………………………………………………………

-o options:(挂载文件系统的选项)

  async:异步模式;

  sync:同步模式;

  atime/noatime:包含目录和文件;

  diratime/nodiratime:目录的访问时间戳

  auto/noauto:是否支持自动挂载

  exec/noexec:是否支持将文件系统上应用程序运行为进程

  dev/nodev:是否支持在此文件系统上使用设备文件;

  suid/nosuid:是否支持在此文件系统上使用特殊权限

  remount:重新挂载

  ro:只读

  rw:读写

  user/nouser:是否允许普通用户挂载此设备

  acl:启用此文件系统上的acl功能

注意:上述选项可多个同时使用,彼此使用逗号分隔;

默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async

上述信息可以通过查看超级块信息看到,这里不再对其进行演示。

………………………………………………………………………………………………………………………

命令演示:

1、指定文件系统将块设备挂载至指定空文件夹内:演示内容:1)没有指定文件系统,命令是否能正确执行;2)指定错误文件系统,命令是否能正确执行;3)挂载点有内容的文件夹,查看被挂载后其内容是否消失。

[root@localhost /]# fdisk -l

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 5 Extended
/dev/sdb5 2101248 2306047 102400 83 Linux
/dev/sdb6 2308096 2512895 102400 83 Linux
/dev/sdb7 2514944 2719743 102400 83 Linux
/dev/sdb8 2721792 2926591 102400 83 Linux

[root@localhost /]# mount /dev/sdb8 /device
[root@localhost /]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/CentOS-root 18307072 4724136 13582936 26% /
devtmpfs 485368 0 485368 0% /dev
tmpfs 500664 84 500580 1% /dev/shm
tmpfs 500664 7160 493504 2% /run
tmpfs 500664 0 500664 0% /sys/fs/cgroup
/dev/sda1 508588 142620 365968 29% /boot
tmpfs 100136 20 100116 1% /run/user/42
tmpfs 100136 0 100136 0% /run/user/0
/dev/sdb8 98988 5280 93708 6% /device
[root@localhost /]# blkid /dev/sdb8
/dev/sdb8: UUID=”a3c4bf06-3695-45e8-8a07-a063498f0578” TYPE=”xfs”
[root@localhost /]# umount /device
[root@localhost /]# mount -t ext2 /dev/sdb8 /device
mount: 文件系统类型错误、选项错误、/dev/sdb8 上有坏超级块、
缺少代码页或助手程序,或其他错误
[root@localhost /]# cd /device/
[root@localhost device]# ll
总用量 0
[root@localhost device]# touch 11 22
[root@localhost device]# ll
总用量 0
-rw-r–r–. 1 root root 0 8月 23 10:14 11
-rw-r–r–. 1 root root 0 8月 23 10:14 22
[root@localhost device]# ll
总用量 0
[root@localhost device]# ll -a
总用量 4
drwxr-xr-x. 2 root root 6 8月 23 09:27 .
dr-xr-xr-x. 21 root root 4096 8月 23 09:29 ..
[root@localhost device]# cd ..
[root@localhost /]# umount /device/
[root@localhost /]# cd /device/
[root@localhost device]# ll
总用量 0
-rw-r–r–. 1 root root 0 8月 23 10:14 11
-rw-r–r–. 1 root root 0 8月 23 10:14 22
通过上述演示,说明了如下事实:1)没有指定文件系统,块设备也可以正常挂载;2)指定与块设备不一致的文件系统类型则命令报错;3)挂载点有内容的文件夹,在挂载后内容消失,卸载后内容重现,也就是说挂载后会将原文件内容掩盖,但并不对其进行其他操作。

………………………………………………………………………………………………………………………

2、演示内容:1)指定卷标并以只读方式挂载;2)对目录进行挂载操作,查看其与硬链接与软链接有何不同。

[root@localhost device]# blkid /dev/sdb6

/dev/sdb6: LABEL=”sdb6” UUID=”8284450c-8cb9-45d7-a8b8-ed9ed9ef9e52” TYPE=”xfs”
[root@localhost device]# mount -L ‘sdb6’ -r /device/
[root@localhost device]# touch /device/33
touch: 无法创建”/device/33”: 只读文件系统
[root@localhost device]# umount /device/
[root@localhost /]# mount -B /etc/ /device/
[root@localhost /]# ll -i /
总用量 64
11341 lrwxrwxrwx. 1 root root 7 7月 19 23:54 bin -> usr/bin
128 dr-xr-xr-x. 4 root root 4096 8月 2 10:09 boot
3 drwxr-xr-x. 19 root root 3300 8月 23 09:10 dev
33554561 drwxr-xr-x. 129 root root 8192 8月 23 09:38 device
33554561 drwxr-xr-x. 129 root root 8192 8月 23 09:38 etc
158 drwxr-xr-x. 42 root root 4096 8月 22 09:00 home

通过上述演示,说明了如下事实:1)指定卷标挂载可行,以只读方式挂载后,无法对挂载点中的内容进行修改、创建等操作;2)目录的挂载实质上是硬链接,挂载后可以对里面的文件内容进行修改与删除。
注:文件夹的挂载在df中并不显示

………………………………………………………………………………………………………………………

卸载命令:umount

命令使用格式:

 # umount DEVICE

 # umount MOUNT_POINT

上面已经演示过umount的使用

fuser:查看正在访问指定文件系统的进程:

命令使用格式:

 # fuser -v MOUNT_POINT

终止所有在正访问指定的文件系统的进程:慎用

 # fuser -km MOUNT_POINT

可以用umount命令取消挂载。用于卸载一个已挂载的文件系统(分区),相当于windows系统的弹出。

命令umount 已挂载的设备源(/dev/sdb1) 或已挂载目的点(/mnt)

命令umount 文件系统/挂载点

umount /dev/sdb1

例如:umount /dev/sdb1即可将sdb1取消挂载。

如果出现device is busy报错,表示该文件系统正在被使用;
这里写图片描述

先将进程关闭即可取消挂载。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值