购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 文件的定义与分类

2.2.1 文件的定义

Linux文件系统中的文件是数据的集合。文件系统不仅包含文件中的数据,而且包含文件系统的结构,大多数与Linux用户和程序相关的文件、目录、软连接及文件保护信息等都存储在其中。

2.2.2 文件的分类

Linux文件系统中的文件大致可以分成以下7类。

1.普通文件

普通文件是Linux中最多的一种文件。根据存放内容的不同,普通文件又分为两种:纯文本文件(ASCII)以及纯二进制文件(binary)。其中,纯文本文件主要存放的是文字编码,文本编辑器打开后会将这些文字编码翻译为文字图形,以供人识别;纯二进制文件(机器码)主要包含经过编译后得到的可执行文件,里面存放的是CPU执行的纯机器码。由于文本编辑器只能认识文字编码,因此用文本编辑器打开纯二进制文件后,显示的内容是错乱的,无法辨识。

2.目录文件

目录文件是一种特殊的文件,专门用于管理其他文件。目录文件是可以使用 # cd命令进入的。

3.块设备文件

块设备文件是块设备驱动程序在上层的表现形式,是存储数据以供系统存取的接口设备,简单而言就是硬盘。块设备存储的数据量往往非常大,为了提高读/写效率,它们都是以块(1024字节)为单位来操作数据的,比如计算机硬盘、移动硬盘、U盘等。凡是涉及大量数据存储的,且都是以块为单位来操作数据的,都是块设备。块设备的驱动程序,就称为“块设备驱动程序”。

4.字符设备文件

字符设备文件是字符设备驱动程序在上层的表现形式,即串行端口的接口设备,例如键盘、鼠标等。当应用程序调用底层字符设备驱动程序实现对某个字符设备进行读/写时,上层就需要对接底层字符设备驱动程序。字符设备驱动程序在上层会以“字符设备文件”的形式表现出来,我们通过open、read、write命令读/写字符设备文件,就实现了和底层字符设备驱动程序的交互。字符设备以字节为单位来操作数据。字符设备的驱动程序,就称为“字符设备驱动程序”。

5.套接字文件

套接字文件是专门用于网络通信的文件。这类文件通常用在网络数据连接中。可以启动一个程序来监听客户端的要求,这样客户端就可以通过套接字来进行数据通信。最常在/var/run目录中看到这类文件。

6.管道文件

管道文件主要用于实现不同进程(程序)之间的通信。管道是操作系统提供的一种纯代码层面的通信机制。FIFO(First-In-First-Out,先进先出)也是一种特殊的文件类型,它主要的功能是解决多个程序同时存取一个文件所造成的错误。

7.链接文件

链接文件其实就是一种快捷图标,其指向了另外一个文件,类似Windows操作系统中的快捷方式。链接文件有两种,分别是符号链接文件和硬链接文件。 7GaHjRZrUPiP0abSgr99fVKNi7OAMMd3PRQT1YLEEpg90nzCK6EPglDfAc/Roemx

点击中间区域
呼出菜单
上一章
目录
下一章
×