一、Linux 核心思想:一切皆文件
我们知道,Linux 系统内一切皆文件。整个计算机的所有资源都放置在以 根目录 / 为树根的树形目录结构中。在 Linux 看来,硬件设备也不例外,硬件设备也是一种文件,并且有着属于自己的一套文件系统(文件目录结构)。
虽然硬件设备也是文件,但在 Linux 中,这样的设备文件是不能直接被使用或执行的。因为此时的设备文件位于根目录以外。此时通过 Linux 系统中的图形界面系统或许可以找到并查看该硬件设备,但在命令行方式下是无法找到的。
如果我们需要使用硬件设备或设备中的数据,要怎么办呢?答案就是【挂载】
二、挂载
1、挂载的概念
挂载 指的是 Linux 系统中 根目录以外 的文件要想被访问,需要先将其 关联 到根目录下的某个目录,这种关联操作就是 挂载 ,这个目录就是 挂载点 。而解除这种关联关系的过程称之为 卸载 。
简单来说,将 Linux 本身的文件目录与硬件设备的文件目录合二为一,硬件设备文件就能为我们所用,这个合并的过程就是 挂载 。
2、挂载的作用
挂载就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录,接着用户在命令行访问此目录就等同于访问该设备文件。挂载后对目录的任何操作,都相当于对设备文件的操作。
- 硬件设备只有挂载后才能使用;若不挂载,系统中的命令行就无法找到该硬件设备
3、挂载操作注意事项
不是根目录下所有目录都能作为挂载点,由于挂载操作会使得挂载目录中原有文件被隐藏,所以根目录以和系统原有目录都不能作为挂载点,可能造成系统异常甚至崩溃,最好新建一个空目录作为挂载点。
- 挂载点目录要求:
(1)挂载点目录事先存在
(2)挂载点目录不可被其他进程使用到
(3)挂载点下原有文件将被隐藏
4、举个栗子
小红在设备上新插入了一块硬盘,系统自动分配了新的磁盘区 /dev/sdb1 ,但此时小红在命令行下使用 ls /dev/sdb1 或 cd /dev/sdb1 命令是无法执行的。
接着小红使用命令 mount /dev/sdb1 ~/newdisk ,将新硬盘挂载到了 newdisk 目录下。之后访问这个 newdisk 文件夹就等于访问这个硬盘的 sdb1 分区。在 newdisk 目录下的任何操作,都相当于对 sdb1 内文件的操作。
【注】
如果是一块全新的硬盘存储设备,应该先分区,然后格式化文件系统,最后再挂载才能正常使用。