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()来打开。