Linux 7 种文件类型

Linux 7 种文件类型

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:p)

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

套接字文件(socket:s)

专门用于网络通信的文件

符号连接(symbolic link:l)

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

版权声明:本文为qq_23664173原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。