第3章 RHEL 8文件系统和高效命令行环境
RHEL是一种流行于企业的Linux发行版本,是一个类UNIX系统,在UNIX/类UNIX系统中,信息组织的基本单位被称为文件,并且计算机所有软硬件资源都可以抽象为文件,这就是常说的Everything is a file(一切皆文件),并且制定出UNIX文件系统参考标准HFS(Hierarchical File System)。后来,HFS又被纳入Linux基金会制定的Linux标准规范LSB(Linux Standard Base)的标准之中,每个遵循LSB标准的Linux发行版本都采用类似的文件系统结构,但不会完全相同。
一切皆文件这一理念对于Windows的用户来说有点难以接受,文件是文件,设备是设备,怎么可能都是文件呢?但这一理念对于RHEL而言,却再自然不过了。简而言之,所有的硬件都被抽象为文件,如I/O设备被分为块设备文件和字符设备文件,都与/dev目录下的特殊文件联系在一起,用户无须了解硬件设备的读写方式,只需和操作普通文件一样操作特殊文件,即可达到访问I/O设备的目的。若读取特殊文件相当于从硬件设备中直接读出数据,写特殊文件则相当于直接向硬件设备发送数据。
RHEL的文件系统就是采用一种逻辑的方法组织、存储、访问、操作和管理信息,把文件组织在一个层次目录结构的文件系统中,每个目录包含一组相关文件的组合,每个文件一般都提供打开文件(open)、创建文件(create)、读文件(read)和写文件(write)等基本操作。
最终,RHEL通过其文件系统,实现了RHEL对软、硬件的统一管理和控制,提供了一种通用的文件处理模式,这一设计堪称化繁为简的经典,简化物理设备的访问,按文件方式处理物理设备,允许用户以同样的命令处理普通文件和物理设备。例如,磁盘存储设备被视为一个块设备文件,而键盘、鼠标和显示器被视为字符设备文件。Windows的文件系统比较单纯,只是一个存储概念,用于存储各种文件并以分区为单位创建。
因此,要尽快掌握RHEL,要有文件加命令行的核心思路,从Linux的文件和命令行两个方面入手,深入理解Linux文件的概念及结构,反复练习命令行及Shell开发这些强大的系统管理工具。当然,困难还是有的,首先是RHEL的理论体系十分庞杂,其次是命令行的掌握十分枯燥,下面讲解重点并一一化解。