前言

在linux中,mount是个非常重要的命令。而且它很灵活,不止可以挂载物理设备,也可以挂载文件夹。

这篇文章就介绍一下mount挂载文件夹和挂载物理设备的不同。

正文

其实二者是一样的,基于linux一切皆为文件的特性,mount在挂载物理设备和文件夹的时候并没有什么特别不一样的地方,无非都是添加一个快捷方式而已。

但是实际操作上,二者就有一些不一样了。下面我们着重说一下二者的不同:

  • 挂载物理设备

    linux系统认为物理设备都是/dev下的文件,所以它在系统中的标识就是/dev/sdx,或者/dev/vdx什么的。所以,我们要挂载的时候,需要对设备进行分区、格式化、挂载三步。

    fdisk: 负责分区

    mkfs: 负责格式化

    mount: 负责挂载

     

    而在/etc/fstab中,由于它的格式是固定的,所以我们只需要在固定地方写入固定参数就好。

     

    # <file system>        <dir>         <type>    <options>             <dump> <pass>
    /dev/vdb1 /data ext4 defaults 0 0
    

    ​ 修改完毕之后,可使用mount -a命令进行试挂载,避免如果添加出问题的情况下,重启失败的问题。

  • 挂载文件夹

    linux挂载文件夹时,由于文件夹不是物理设备,甚至不是一个独立的文件系统,所以我们可以使用mount的--bind参数来实现文件夹的挂载。

    命令如下:

    mount --bind /old-dir /new-dir  #挂载单个文件夹
    mount --rbind /old-dir /new-dir  #递归挂载文件夹
    

    在/etc/fstab中,由于此文件夹不是一个独立的文件系统,所以我们无法指定它的文件系统格式。这时,就可以使用none来让它自适应。

    # <file system>        <dir>         <type>    <options>             <dump> <pass>
    /old-dir /new-dir none bind 0 0  
    

    ​ 修改完毕之后,可使用mount -a命令进行试挂载,避免如果添加出问题的情况下,重启失败的问题。

后记

其实mount是个挺复杂的命令, man一下都贼多,我也只能略略窥见一二了~

以后遇到更棘手的问题,再进行记录吧。

posted on 2020-06-01 16:37  eryoung2  阅读(782)  评论(0编辑  收藏  举报