目录
1 Linux 系统中的文件类型简介
Linux 下一切皆文件,它们不仅仅是文本或二进制文件。本节将深入探讨Linux系统中的文件类型。虽然我们之前主要讨论了普通文件的I/O操作,但Linux的文件系统远不止于此。
与Windows系统不同,Linux不通过文件扩展名来识别文件类型。Windows系统通过文件后缀如.h
、.c
、.txt
、.zip
等来识别并调用相应的程序打开文件。例如,.c
文件会用代码编辑器打开,而.zip
文件则用解压软件处理。
Linux则采取了不同的方法。尽管文件后缀在Linux中不用于识别文件类型,但它们对于用户来说是有意义的,有助于快速识别文件的功能和用途。例如,C语言源文件通常以.c
结尾,C语言头文件以.h
结尾,shell脚本文件则以.sh
结尾。这种命名约定有助于维护和组织代码,尽管系统本身并不依赖这些后缀。
2 普通文件
2.1 什么是普通文件
在Linux系统中,普通文件是最常见的文件类型,譬如文本文件、二进制文件,我们编写的源代码
文件这些都是普通文件。 普通文件中的数据存在系统磁盘中,可以访问文件中的内容,文件中的内容以字节为单位进行存储于访问。
2.2 普通文件分类
普通文件可以分为两大类:文本文件和二进制文件。
文本文件: 文件中的内容是由文本构成的,所谓文本指的是 ASCII 码字符。文件中的内容其本质
上都是数字(因为计算机本身只有 0 和 1),而文本文件中的数字应该被理解为这个数字所对应的 ASCII 字符码;譬如常见的.c、 .h、 .sh、 .txt 等这些都是文本文件,文本文件的好处就是方便人阅读、浏览以及编写。
二进制文件: 二进制文件中存储的本质上也是数字,只不过对于二进制文件来说, 这些数字并不是文本字符编码,而是真正的数字。譬如 Linux 系统下的可执行文件、 C 代码编译之后得到的.o 文件、 .bin 文件等都是二进制文件。
在 Linux 系统下,可以通过 stat 命令或者 ls 命令来查看文件类型,如下所示:
stat 命令非常友好,会直观把文件类型显示出来;对于 ls 命令来说,并没有直观的显示出文件的类型,而是通过符号表示出来,其中第一个字符(' - ')就用于表示文件的类型,减号' - '就表示该文件是一个普通文件。除此之外,来看看其