linux文件之文件类型有哪些

叶sir学编程 2024-05-25 22:00:41

linux系统的一大特点就是一切皆文件,包括文件,目录,设备文件,管道,套接字等等。这种设计理念让用户可以访问任意文件,只要用户有足够的访问权限,这使得linux系统的文件系统结构简单,方便用户理解和管理。

Linux系统里包含的文件类型有管道文件,套接字,字符设备文件,块设备文件和普通文件及目录,可以使用ls -ll查看文件的文件类型,输出信息的最左侧一列,会显示-rw-rw-r—的信息,其中第一个字符表示文件类型,有如下几种类型:

-(横杆):表示普通文件;

d:表示目录;

l:表示链接;

b:表示块设备文件;

c:表示字符设备文件;

p:表示管道文件;

s:表示socket套接字文件;

块设备文件

块设备一般用于以块为单位进行数据传输的文件,支持按块进行读写,如硬盘,驱动器等。块设备的I/O操作是缓存的,并且可以一次性读写多个数据块,因此块设备具有很高的数据传输效率。块设备文件默认是在/dev目录下。如图1,/dev/sda*是一个很典型的块设备文件。

图1

字符设备文件

字符设备文件是一种以字节流进行读写的设备,常用的设备有串口,键盘和鼠标等,并且字符设备文件的I/O操作是非缓存的,因此数据会实时传输,不会存储在内存缓冲区。如图2:

图2

管道文件

管道文件可以使用mkfinfo命令进行创建(如图3),创建后的管道文件可以用于不同进程间通信。

图3

socket套接字文件

常用于网络编程,用于进程间,或者设备间的通信,常用的有UDP,TCP套接字。有三个特殊的套接字,为0:标准输入,1:标准输出,2:标准错误输出。如图4:

如图4

0 阅读:38

叶sir学编程

简介:感谢大家的关注