我一直在探索 /dev 目录,很好奇那里的所有设备是否都映射到这些文件?具体来说,我正在寻找无线文件。我希望找到类似 /dev/wifi 或 /dev/wlan0 的东西
Wirless 正在工作,但我似乎无法在 /dev 中找到该设备。使用带有 multilib 的 slackware 14.0 64bit。这是我的 /dev 列表 http://pastebin.com/YtRUgnKV
答案1
网络设备不能很好地适应设备的正常读/写模型(网络块设备除外,它们有特殊的应用程序),在 Linux 上它们不在/dev
。这并不意味着它们不能在 中/dev/
,任何特定驱动程序都可以创建设备节点,并且可以使用用户空间工具与其交互(即通过ioctl
系统调用)。在 Solaris 上,网络设备 就是/dev
为此目的而存在的。
这是通常引用的内容(Linux 设备驱动程序,第二版,2001 年;第 14 章网络驱动程序)。
我们现在讨论完了字符和块驱动程序,准备进入令人着迷的网络世界。网络接口是 Linux 设备的第三类标准,本章介绍它们如何与内核的其余部分交互。
[...]
已挂载磁盘和数据包传送接口之间存在一些重要差异。首先,磁盘作为 /dev 目录中的特殊文件存在,而网络接口没有这样的入口点。常规文件操作(读取、写入等)在应用于网络接口时没有意义,因此不可能将 Unix 的“一切都是文件”方法应用于它们。因此,网络接口存在于其自己的命名空间中并导出一组不同的操作。
您可以查看有哪些接口可用/proc/net/dev
,并可以访问下面的设备配置和统计信息/sys/class/net/
。
如果你看看文档你不会看到任何正常的网络设备,只有TAP/TUN、PPP和网络块设备。
古老的、1.0 之前的 Linux 内核版本做过创建用于控制目的的设备/dev
(那是很久很久以前的事情了……1994 年或更早)。如果你乘坐时光机,找出MAKEDEV
1994 年的副本,你会看到它支持/dev/ne[0-3]
、/dev/wd[0-3]
和其他,可能是古老的NE2000和克隆。请参阅1993 年版本的Linux 以太网指南。