前言
在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一下都贼多,我也只能略略窥见一二了~
以后遇到更棘手的问题,再进行记录吧。