mount翻译过来称为挂载,是linux 中比较重要的命令,尤其是对于文件系统来说,它是文件系统注册之后访问磁盘的基石。它可以将普通的目录文件或者挂载点或者磁盘文件挂载到目录供操作系统访问。
1. 基本的mount命令
在基本的mount命令介绍时候分为三部分:
磁盘的挂载
目录绑定
远程计算机目录挂载(或者叫绑定)
1.1 磁盘的挂载
mount实现之初的目的很简单:挂载磁盘。通过mount操作来挂载磁盘,然后通过磁盘目录文件来访问磁盘。
比如:我系统中已经存在/dev/sda1
块设备(ext4格式的磁盘),想在/root/mount
目录挂载磁盘操作。这时候只需要以下命令来把/dev/sda1
磁盘挂载到/root/mount
目录,然后通过/root/mount
目录来访问/dev/sda1
磁盘操作。
mount /dev/sda1 /root/mount
或mount -t ext4 /dev/sda1 /root/mount
这时候通过ls
命令即可查看/dev/sda1磁盘里面存放的东西如下:
root@ubuntu:~# ls /root/mount/
# 显示结果如下:
bin boot cdrom dev etc home initrd.img lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz x z
可以看到mount命令挂载磁盘。
1.2 目录的绑定
mount命令绑定目录是把源目录和目标目录相关联,目标目录相当于磁盘挂载被挂载的目录,源目录相当于磁盘挂载中的磁盘。
比如:我系统中已经存在/root/bind1
且bind1目录下存在aaa文件,想要绑定在/root/bind2
目录下。我们看一下实际操作结果:
root@ubuntu:~# mkdir bind1 bind2
root@ubuntu:~# touch bind1/aaa
root@ubuntu:~# mount --bind bind1 bind2/
root@ubuntu:~# ls bind1
aaa
root@ubuntu:~# ls bind2/
aaa
我们看到bind1、bind2目录和aaa文件都是新创建的,且aaa在bind1目录下。通过mount绑定操作实现了bind1和bind2目录的关联性。也就是bind1绑定在bind2目录下。
这时候如果在bind1或者bind2目录下增加然后删除一个文件bbb会是什么情况呢?
root@ubuntu:~# touch bind1/bbb
root@ubuntu:~# tree bind1
bind1
├── aaa
└── bbb
0 directories, 2 files
root@ubuntu:~# tree bind2
bind2
├── aaa
└── bbb
0 directories, 2 files
root@ubuntu:~# rm -rf bind2/bbb
root@ubuntu:~# tree bind1/
bind1/
└── aaa
0 directories, 1 file
root@ubuntu:~# tree bind2
bind2
└── aaa
0 directories, 1 file
我们看到mount绑定bind1和bind2之后通过mount --bind命令对于两个文件增加或删除文件都是可以的,在对端文件系统都可以看得到。
1.3 远程计算机目录挂载(或者叫绑定)
mount命令实现远程计算机的挂载的话需要安装nfs网络文件支持,这里不是重点,先不介绍。介绍一下其大致的命令格式:
mount remote_ip:/dir /local_dir