Linux字符设备文件通常放在哪个目录下

来源:个人站长作者:深圳GEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《Linux字符设备文件通常放在哪个目录下》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux字符设备文件通常放在哪个目录下》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中,一切皆文件,字符设备也不例外。字符设备是指那些只能按字节顺序进行读写、不支持随机访问的设备,比如键盘、鼠标、串口等。它们的设备文件都集中存放在一个固定的位置,方便用户和应用程序统一访问。

Linux字符设备文件通常放在哪个目录下

字符设备存放在哪里

Linux字符设备文件统一放在根文件系统中的 /dev 目录下。这个目录由系统自动维护,设备驱动加载后通常会在 /dev 中创建对应的设备节点。例如,第一个串口常常是 /dev/ttyS0,鼠标可能是 /dev/input/mouse0

为什么放在/dev目录

/dev 是 device 的缩写,专门用来容纳设备文件。Linux 通过虚拟文件系统(如 devtmpfs)在系统启动时挂载该目录,让内核中的设备驱动以文件接口暴露给用户空间。

如何查看字符设备

我们可以使用 ls -l 命令查看 /dev 中的文件类型。字符设备文件在权限列的第一个字符显示为 c

# 查看/dev下的字符设备示例
ls -l /dev | grep "^c"
# 查看某个具体设备
ls -l /dev/ttyS0

如果想看系统当前注册的字符设备主设备号,可以阅读 /proc/devices 文件:

cat /proc/devices | grep -A 20 "Character devices"

字符设备命名规律

不同类的字符设备在 /dev 下有约定俗成的名称前缀,下面列出常见示例:

设备类型常见路径说明
串口/dev/ttyS0物理串口设备
虚拟终端/dev/tty1本地控制台终端
输入设备/dev/input/event0键盘鼠标等输入
空设备/dev/null丢弃所有写入数据

设备文件的主次设备号

每个字符设备文件都由主设备号和次设备号标识,前者代表驱动,后者代表具体实例。可用 stat 查看:

stat -c "%t %T" /dev/ttyS0

自己创建字符设备节点

在编写字符设备驱动并加载后,若系统未自动创建设备文件,可使用 mknod 手动建立。下面代码演示创建一个主设备号为 240、次设备号为 0 的字符设备:

# 创建字符设备节点 mychar,主设备号240,次设备号0
mknod /dev/mychar c 240 0
# 设置权限
chmod 666 /dev/mychar

需要注意,现代Linux多使用 udev 机制在驱动注册时自动在 /dev 创建节点,手动 mknod 一般只在调试或特殊场景使用。

总结

Linux字符设备文件固定存放于 /dev 目录,通过 c 类型文件对外暴露。理解其存放路径、查看方式和命名规则,有助于我们进行驱动开发或日常排障。只要记住设备皆文件、字符在dev,就能快速定位系统中的字符设备。

Linux字符设备dev目录修改时间:2026-07-26 20:03:22

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。