对于Linux中挂载的概念整理

最近开始学习Linux相关知识,记录对于挂载(mount)这一知识点的个人理解。

相关名词解释:

挂载(Mounting)

是将文件系统连接到Linux文件系统目录树中的过程。当你在Linux系统中访问一个目录时,实际上是在访问一个特定的文件系统。挂载的过程就是将这个文件系统与指定的目录关联起来,使得目录中的文件可以访问文件系统中的内容。

挂载点(Mount Point)

是指将一个文件系统连接到另一个文件系统树中的特定位置的目录。在 Unix 和类 Unix 系统中,挂载点是一个空目录,你可以使用挂载命令将其他设备或文件系统挂载到该目录上,使得这些设备或文件系统中的内容可以通过挂载点访问和操作。一旦挂载完成,挂载点上原有的内容将被新挂载的文件系统内容所覆盖。通常,挂载点用于访问硬盘分区、可移动设备(如 USB 驱动器)、网络共享等。

文件系统(File System)

是计算机用来组织和管理存储设备(如硬盘、固态硬盘等)上的文件和数据的一种机制。它包括以下几个主要内容:

  1. 文件和目录: 文件系统通过文件和目录来组织和存储数据。文件是数据的基本单元,可以是文本文件、图像文件、程序文件等等。目录用来组织和管理文件,形成层级结构,使得文件能够以有意义的方式进行组织。

  2. 文件属性: 文件系统通常会为每个文件和目录维护一些属性,例如文件名、文件大小、创建时间、修改时间、访问权限等等。这些属性用来描述和管理文件的特性。

  3. 存储管理: 文件系统负责管理存储设备上的物理空间,包括分配、释放和维护文件占用的存储空间。这包括将文件存储在磁盘上的具体位置、处理文件的碎片化、管理磁盘空间的分配等。

  4. 访问控制: 文件系统提供对文件和目录的访问控制机制,以确保数据的安全性和隐私。这包括对文件和目录设置访问权限(如读、写、执行权限)、用户和组的权限管理等。

  5. 文件系统结构: 文件系统通常采用树形结构来组织文件和目录,形成一个文件系统层次结构。常见的文件系统结构包括单层结构(如FAT文件系统)、两层结构(如NTFS、EXT文件系统)、多层结构等。

  6. 错误检测和恢复: 文件系统提供错误检测和恢复机制,用于检测和修复存储设备上可能出现的硬件或软件错误,以确保数据的完整性和一致性。

常见的文件系统如Windows的NTFS(New Technology File System)、macOS的APFS(Apple File System)、Linux的EXT(Extended File System)等。

挂载的原理

在Linux中一切皆文件,因此可以将不同的存储设备(如硬盘分区、光盘、网络共享等)挂载到文件系统中的任意目录上。这样做的好处是可以将多个存储设备的内容统一管理,通过文件系统的方式来访问和操作这些设备上的文件。

Linux中的设备文件

在 Linux 系统中,/dev 目录是一个特殊的目录,用于存放设备文件(device files)。设备文件是用来与系统中的硬件设备进行通信的文件,通过这些文件可以访问和控制硬件设备。

/dev 目录中的设备文件包括以下几种类型:

  1. 块设备文件(Block Device Files): 这些文件代表块设备,例如硬盘、固态硬盘、光驱等。典型的块设备文件包括 /dev/sda(第一个 SATA 硬盘)、/dev/sdb(第二个 SATA 硬盘)等。

  2. 字符设备文件(Character Device Files): 这些文件代表字符设备,例如串口、键盘、鼠标等。典型的字符设备文件包括 /dev/tty(控制终端)、/dev/ttyUSB0(USB 串口设备)等。

  3. 虚拟文件系统设备文件(Virtual File System Device Files): 这些文件代表虚拟文件系统,例如 /dev/null(空设备,所有写入该设备的数据都会被丢弃)、/dev/zero(用于产生连续的零字节)、/dev/random/dev/urandom(用于产生随机数据)等。

通过这些设备文件,用户可以访问和控制系统中的各种硬件设备,例如读取硬盘中的数据、向串口发送数据、通过键盘输入等。/dev 目录中的设备文件是系统中硬件设备的一种抽象表示,它们为用户空间程序提供了一种统一的访问硬件设备的接口。

Linux中使用字母和数字的组合来命名磁盘分区,一般格式为/dev/xxyN。分区名的前两个字母xx标明分区所在设备的类型,通常是 hd (IDE 磁盘)或 sd(SCSI 磁盘);第三个字母y标明分区所在的设备,如/dev/hda(第一个 IDE 磁盘)或 /dev/sdb(第二个 SCSI 磁盘);数字N代表分区,前四个分区(主分区或扩展分区)是用数字从 1 排列到 4。逻辑分区从 5 开始。例如,/dev/hda3 是在第一个 IDE 硬盘上的第三个主分区或扩展分区;/dev/sdb6 是在第二个 SCSI 硬盘上的第二个逻辑分区。

挂载操作与实例

挂载的基本语法是:

mount [选项] 设备文件 挂载点

其中,设备文件 是要挂载的存储设备的特定文件,例如硬盘分区的设备文件为 /dev/sdX,光盘的设备文件为 /dev/cdrom 等等;挂载点 则是要挂载到的目录。

挂载硬盘分区

mount /dev/sdb1 /mnt/data

这个命令将 /dev/sdb1 分区挂载到 /mnt/data 目录下,使得该目录中的文件就是该分区中的内容。

挂载网络共享

mount -t nfs server:/share /mnt/nfs

这个命令将名为 server 的 NFS 共享 /share 挂载到本地的 /mnt/nfs 目录下,使得该目录中的文件就是远程共享中的内容。

自动挂载

/dev/sdb1   /mnt/data   ext4   defaults   0   0

这个条目指示系统在启动时自动将 /dev/sdb1 分区挂载到 /mnt/data 目录下,并使用 ext4 文件系统,采用默认选项进行挂载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值