Linux 文件类型


Linux 文件类型


正文

Linux 一切皆文件,文件一共分为7类分别是 - d c s p l b

普通文件

普通文件(regular file:-

a)文本文件

存放的都是文字编码,文本编辑器打开后,会将这些文字编码翻译为文字图形,以供人识别

b)纯二进制文件(机器码)

比如经过编译后得到的可执行文件,里面放的是cpu执行的纯二进制机器码,由于文编编辑器只认识文字编码, 所以用文本编辑器打开后,显示的内容无法是错乱的,无法辨识

其实不管存放的是文字编码,还是机器码,在计算机中存储时,其实都是以二进制形式存放的, 只不过我们这里可刻意的把机器码这类非文字编码的数据,特意强调为了二进制数据。

目录文件

目录文件(director file:d

目录是一种特殊的文件,专门用于管理其它文件

字符设备文件

字符设备文件(character special file:c

字符设备文件,就是字符设备驱动程序,在上层的表现形式

当应用程序调用底层字符设备驱动程序,实现对某个字符设备进行读写时,上层就需要对接底层的字符驱动程序, 字符设备驱动在上层,会以“字符设备文件”的形式表现出来,我们通过open、read、write去读写字符设备文件, 就实现了和底层字符设备驱动程序的交互。

块设备文件

块设备文件(block special file:b),对应块设备(如磁盘等)

  1. 块设备文件,是块设备驱动程序在上层的表现形式。
  2. 字符设备与块设备有什么区别?

(a)字符设备

以字节为单位来操作数据。

比如:键盘、鼠标、显示器都等是字符设备。字符设备的驱动程序,就称为“字符设备驱动程序”。

(b)块设备

块设备存储的数据量往往非常大,为了提高读写效率,都是以块(1024字节)为单位来操作数据。

比如:电脑硬盘、移动硬盘、u盘等,凡是涉及大量数据存储的,都是以块为单位来操作数据的,都是块设备。块设备的驱动程序,就称为“块设备驱动程序

FIFO

FIFO(fifo:p

管道文件,用于实现不同进程(程序)之间的通信,管道是OS提供的一种纯代码层面的通信机制。

A进程 ————————> 管道文件 ————————> B进程

套接字文件

套接字文件(socket:s

专门用于网络通信的文件

符号连接

符号连接(symbolic link:l

其实就是一种快捷图标,背后指向了另外一个文件






参考资料

Linux 7 种文件类型 https://blog.csdn.net/qq_23664173/article/details/124891625


返回