Linux下一切(除网卡)皆文件的概念深入人心,那么世界万物在Linux系统中被分成多少种文件呢?他们有什么特点呢?
Linux下除网卡外,任何东西都被归类为以下七种文件之一:
- 块设备文件(block),简称 b
- 字符设备文件(character),简称 c
- 本地套接字(socket),简称 s
- 符号链接文件(linkage),简称 l
- 目录(directory),简称 d
- 有名管道(FIFO-pipe),简称 p
- 普通文件(regular file),简称 -
文件的类型可以通过Shell命令:(ls -l)来显示,例如:
再给你一点点小贴士:
- 使用函数 mknod() 来创建块设备和字符设备文件。
- 使用函数 socket() 来创建本地套接字。
- 使用函数 link() 来创建符号链接文件。
- 使用函数 mkdir() 来创建目录。
- 使用函数 mkfifo() 来创建有名管道。
- 使用函数 open() 来创建普通文件。
另外还有一点:除了目录和本地套接字之外,其他文件一律使用open()来打开。