1.啥是块设备?
块设备(block device)
用于数据存储,按块或扇区(sector)的方式访问数据。
以固定大小的块为单位进行读写操作,通常是512字节或更大。
块设备的原理可以类比成图书馆的书架和图书管理员的工作。
图书馆每本书都有一个编号,图书管理员需要将这些书按照编号放到书架上。
每个书架都有一个固定的大小,例如可以容纳100本书。
当书架上的书已经满了,图书管理员就会将它们放到下一个书架上,以此类推。
计算机中,块设备就像是图书馆的书架,它们有固定的大小,例如硬盘的大小就是固定的。
每个块设备都被分成了很多块,每个块都有一个固定的大小,例如512字节或4KB。
每个块都有一个唯一的编号,就像图书馆中的书一样。
当我们需要读取或写入块设备中的数据时,操作系统会通过块的编号来找到对应的块,并将它们读取出来或写入到块设备中。
操作系统就像是图书管理员,它需要将数据按照块的编号读取或写入到块设备中。
文件系统则类似于图书馆的分类系统,它将块设备中的数据组织成文件和目录的形式,以便用户可以方便地进行文件存储和管理。
常见的块设备包括:硬盘驱动器、固态硬盘(SSD)、USB 存储设备、RAID(磁盘阵列)驱动器等。
通常通过块设备文件(block device file)访问,
这些文件位于/dev目录下。
例如,硬盘设备文件通常是/dev/sda或/dev/hda(对于旧版的IDE接口)。
通过挂载这些设备文件,可以访问块设备中的数据,并对其进行读写操作。
2.啥是挂载?
挂载是指,将一个文件系统连接到系统上的一个目录,使得该文件系统的内容能够被访问和操作。
在Linux中,所有的文件系统都必须被挂载才能够被使用,包括硬盘分区、USB驱动器、CD-ROM等。
就像将一辆车停放到停车位上。
停车位是一个目录,车是一个文件系统,挂载是将车连接到停车位上,使得车的内容可以被访问和操作,就像文件系统中的文件和目录可以在挂载点下被访问和操作。
卸载就像是将车从停车位上取走,使得车不再被连接到停车位上,就像文件系统不再被挂载到挂载点上。
mount命令可以指定要挂载的文件系统、挂载点以及其他一些参数。
例如,要将一个名为/dev/sda1的分区挂载到/mnt目录下,可以使用以下命令:
sudo mount /dev/sda1 /mnt
/mnt目录成为了/dev/sda1分区的根目录,文件系统中的文件和目录都可以在/mnt下访问。
当不需要使用该文件系统时,可以使用umount命令将其卸载:
sudo umount /mnt
文件系统中的内容也不再能够被访问和操作。
3.啥是文件系统?
操作系统用于组织和存储文件和目录的一种结构。
文件系统定义了文件和目录的组织方式、访问权限、存储位置等信息,并提供了一些文件操作和管理的接口。
在Linux中,每个文件系统都有一个唯一的标识符,称为文件系统标识符(Filesystem Identifier),简称为文件系统UUID。
文件系统UUID可以用于在系统启动时自动挂载文件系统,而无需指定设备节点名称或设备路径。
Linux中的文件系统可以被挂载到文件系统树的任何位置,使得文件系统中的文件和目录可以在该挂载点下被访问和操作。
通常情况下,Linux将所有的文件系统都挂载到根目录(/)下,以便用户可以访问整个系统中的所有文件和目录。
一本书可以被看作一个文件系统,每一页是一个文件,每个章节是一个目录。
目录结构定义了书的组织方式、访问权限、存储位置等信息,并提供了一些读取和管理书中内容的接口。
每本书都有一个唯一的标识符,就像每个文件系统都有一个唯一的UUID。
每个章节和页码可以被引用,就像文件系统中的文件和目录可以被挂载到文件系统树的任何位置。
每个读者都可以根据自己的需求访问不同的章节和页码,就像在Linux中,每个用户可以根据自己的需求访问不同的文件和目录。
文件系统类型的特性、性能、兼容性等方面的区别:
ext4(Fourth Extended File System):
Linux最常用的文件系统类型之一,支持文件大小高达16TB,支持文件系统日志、文件系统快照、文件加密等特性。
ext4的性能较高,支持读写操作的并发处理,同时也支持文件系统碎片整理,具有较好的磁盘空间利用率。
此外,ext4也具有较好的兼容性,可以与大多数Linux操作系统兼容。
NTFS(New Technology File System):
Windows默认的文件系统类型,支持文件大小高达16EB,支持磁盘配额、文件压缩、文件加密等特性。
性能较高,支持高并发的读写操作,同时也具有较好的文件系统碎片整理能力,磁盘空间利用率较高。
具有较好的兼容性,可以与大多数Windows操作系统兼容。
FAT32(File Allocation Table):
是一种老旧的文件系统类型,支持文件大小最大为4GB。
由于有较好的兼容性,可以与各种操作系统和设备兼容,因此广泛用于小型移动设备和可移动媒体,如USB闪存驱动器、存储卡等。
但是,磁盘空间利用率不高,不支持文件系统日志和文件系统快照等特性。
XFS(eXtended File System):
高性能的文件系统类型,支持文件系统大小高达9EB,支持文件系统快照、延迟分配等特性。
具有高并发的读写能力,同时也具有较好的文件系统碎片整理能力和磁盘空间利用率。
主要用于大型数据存储和服务器环境中。
Btrfs(B-tree file system):
支持文件系统快照、文件系统加密、文件系统压缩等特性。
选择合适的文件系统类型应根据应用场景和需求来决定。