[RHEL7基础篇-6] mount命令

350 阅读3分钟

简介

mount命令是在Linux当中比较常见的命令,无论是新增分区、插入U盘还是插入光盘都要使用mount命令挂载后才能读取数据载体中的数据,该篇最好结合[RHEL7基础篇-5] 文件系统和磁盘管理当中的演示案例来学习该命令。

命令介绍

  1. 语法方式

    mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点]
    
    参数备注
    -a,--all加载/etc/fstab当中记录的所有文件系统
    -n,--no-mtab挂载的文件系统不写入到/etc/mtab,例如当/etc为只读时使用
    -r,--read-only挂载的文件系统为只读
    -w,--rw,--read-write挂载的文件系统为可读写,这是默认的设置,和-o rw功能相同
    其他可以通过man mount来查询其他参数的使用方法
  2. 挂载选项的指定和介绍

    mount命令是通过-o,--options来使用选项的指定的,下面将介绍常用的挂载选项

选项备注
defaults使用默认的选项。默认选项为rw、suid、dev、exec、auto nouser和async
async以非同步的方式执行文件系统的输入输出动作
rw可读写
auto必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
dev可读文件系统上的字符或块设备,取消选项为nodev。
exec可执行二进制文件,取消选项为noexec。
nouser禁止非root用户来挂载文件系统。(对应的user,允许非root挂载,暗含noexec、nosuid、nodev。users是指所有人都可挂载)
suid允许suid位起作用
  1. 常用挂载
命令备注
mount -t vfat /dev/hda7 /mntfat32的分区
nount -t ntfs-3g /dev/sdb2 /mntntfs分区
mount -t nfs 192.168.1.2:/data /mntnfs文件挂载
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/samba挂载
mount -o loop abc.iso /mntiso文件挂载
mount /dev/sda3 /mnt默认挂载
  1. --bind和--rbind

    参数备注
    -B,--bind文件挂载到文件
    -R,--rbind目录挂载到目录

    1)--bind实例讲解

    文件挂载到文件:

    mount —bind /tmp/hosts /etc/hosts

    mount —bind /tmp/test/1 /tmp/test/2

    注:1和2为文件

    文件挂载到文件

    注:绑定后若文件1或文件2作出修改都会同步,在更新未知是否正确的配置文件时可以使用该命令来进行测试,例如:1为新的配置文件,2为旧的配置文件,当我需要测试时输入mount --bind 1 2,此时1挂载到2当中,2显示的是1的内容,但是2原本的内容并未丢失,如果配置错误或者失败则可以使用umount 2来取消挂载,2恢复原来的配置。

    目录挂载到目录:

    mount —bind /tmp/test/1 /tmp/test/2

    注:1和2 为目录

    目录挂载到目录

    2)--rbind实例讲解

    3)bind的只能挂载单一的文件系统,在其中挂载的其他文件系统不会被挂接到新访问点,rbind则是可以!例如:[目录1] 挂载到 [目录2] ,当 [目录1] 上再挂载了一个 [新的分区](不同文件系统格式)时bind并不会在 [目录2] 上,而rbind则会以分区的形式挂载,如图所示

    --bind:当前目录的文件系统格式为ext4,sdb3为xfs,现在可以看到的是./test/1/mnt/当中是有文件的,而./test/2/mnt/当中是没有文件了

    bind挂载不同文件系统格式后的结果

    --rbind:相同条件下,把bind换成rbind,现在可以看到的是./test/1/mnt/当中是有文件的,./test/2/mnt/也出现了相同的文件

    rbind挂载不同文件系统格式后的结果

    注:当挂载的目录下有进程运行或者目录被打开时,无法进行umount,会提示挂载的目录忙,这里和Windows的弹出U盘和删除文件是一个道理。