头文件 dirent.h 定义了文件类型;
enum
{
DT_UNKNOWN = 0, //未知类型
DT_FIFO = 1, //first in, first out 类似于管道, 有名管道
DT_CHR = 2, //字符设备文件
DT_DIR = 4, //目录
DT_BLK = 6, //块设备文件
DT_REG = 8, //普通文件
DT_LNK = 10, //连接文件
DT_SOCK = 12, //套接字类型
DT_WHT = 14 //
};
与linux内文件符号对应关系:
编号 符号 描述
DT_UNKNOWN = 0
DT_FIFO = 1 p pipe 即命名管道文件
DT_CHR = 2 c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
DT_DIR = 4 d 目录文件
DT_BLK = 6 b 块设备文件 block device ,如硬盘;支持以block为单位进行随机访问
DT_REG = 8 - 常规文件,即file
DT_LNK = 10 l symbolic link 即符号链接文件,又称软链接文件
DT_SOCK = 12 s socket 即套接字文件,用于实现两个进程进行通信
DT_WHT = 14