一、文件类型

Linux 系统下一共分为 7 种文件类型。通过 stat 命令或者 ls 命令来查看文件类型

' - ':普通文件
 ' d ':目录文件
 ' c ':字符设备文件
' b ':块设备文件
 ' l ':符号链接文件
' s ':套接字文件
 ' p ':管道文件

stat会直接显示出文件类型,ls则是信息的第一个符号。

1.普通文件

普通文件(regular file)在 Linux 系统下是最常见的,如文本文件、二进制文件,编写的源代码
文件这些都是普通文件,也就是一般意义上的文件。 普通文件中的数据存在系统磁盘中,可以访问文件中的内容,文件中的内容以字节为单位进行存储于访问

2.目录文件

目录(directory) 是文件夹,文件夹在 Linux 系统中是一种文件,是一种特殊文件。文件夹中记录了该文件夹本省的路径以及该文件夹下所存放的文件。

3.字符设备文件和块设备文件

设备文件(字符设备文件、块设备文件)对应的是硬件设备,在 Linux 系统中,硬件设备会对应到一个设备文件,应用程序通过对设备文件的读写来操控、使用硬件设备

虽然有设备文件,但是设备文件并不对应磁盘上的一个文件,设备文件并不存在于磁盘中,而是由文件系统虚拟出来的,一般是由内存来维护, 当系统关机时,设备文件都会消失; 字符设备文件一般存放在 Linux 系统/dev/目录下,所以/dev 也称为虚拟文件系统 devfs。

4.符号链接文件 


符号链接文件(link) 类似于 Windows 系统中的快捷方式文件,是一种特殊文件,它的内容指向的是另一个文件路径,当对符号链接文件进行操作时,系统根据情况会对这个操作转移到它指向的文件上去,而不是对它本身进行操作。

5.管道文件


管道文件(pipe) 主要用于通进程间信

6.套接字文件


套接字文件(socket)是一种进程间通信的方式,与管道文件不同的是,它可以在不同主机上的进程间通信

二、小结

普通文件是最常见的文件类型

目录是一种文件类型
设备文件对应于硬件设备
符号链接文件类似于 Windows 的快捷方式
管道文件用于进程间通信
套接字文件用于网络通信

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐