Linux/UNIX:设备文件

时间:2020-01-09 10:43:56  来源:igfitidea点击:

问题描述:您能解释一下什么是设备文件,如何访问或者查看设备文件?
为什么UNIX/Linux有设备文件?

答:
在Linux和UNIX下,每个硬件设备都被视为文件。
设备文件允许访问硬件设备,因此最终用户无需获取有关硬件的技术详细信息。

简而言之,设备文件(也称为特殊文件)是设备驱动程序的接口,该接口出现在文件系统中,就像是普通文件一样。
这允许软件使用标准输入/输出系统调用与设备驱动程序进行交互,从而简化了许多任务。

设备文件两种类型

设备文件有两种类型,具体取决于操作系统和硬件如何处理写入和读取数据的数据:

  • 字符特殊文件或者字符设备
  • block特殊文件或者block设备 块设备

了解字符特殊文件或者字符设备

  • 以一个字符一个字符地与设备对话(一次1个字节)
  • 示例:虚拟终端,终端和串行调制解调器等

了解block特殊文件或者block设备

  • 与设备每次对话1块(1块= 512字节至32KB)
  • 示例:硬盘,DVD/CD ROM和存储区域等

为什么要使用设备文件?

设备文件允许用户空间应用程序和计算机硬件之间的透明通信。

设备文件位置

所有设备文件都存储在/dev目录中。
使用cd和ls命令浏览目录:

cd /dev/
ls -l

如何查找设备文件类型?

只需使用ls -l命令:

ls -l /dev

在第一列输出中查找文件类型。

字符设备用c标记为权限字符串的第一个字母。

$ ls -l /dev/console

块设备用b标记为权限字符串的首字母:

$ ls -l /dev/sdb1