linux字符设备有哪些

linux字符设备有:1、鼠标,是计算机的一种外接输入设备,也是计算机显示系统纵横坐标定位的指示器;2、键盘,是用于操作计算机设备运行的一种指令和数据输入装置;3、串行端口终端,使用计算机串行端口连接的终端设备;4、控制终端;5、控制台等。

linux字符设备有哪些

本教程操作环境:linux5.9.8系统、Dell G3电脑。

Linux系统为了管理方便,将设备分成三种基本类型:

字符设备

块设备

网络设备

它们均以一个文件节点形式显示在文件系统的/dev目录下(crw–w—- 1 root tty 4, 0 7月 11 09:11 tty0 其中c代表字符设备类型)。

linux字符设备

字符设备是指设备无需缓冲即可直接进行读写的设备, 如鼠标,键盘,串口设备、调制解调器等, 它与块设备的区别在于是字符操作的基本单位是字节。

字符设备的分类

字符设备主要包括控制终端设备和串行终端设备, 例如控制台和键盘。依据功能和硬件上的差别, 字符终端设备有如下分类:

串行端口终端(/dev/ttSn):使用计算机串行端口连接的终端设备, 串行设备数据传输方式为同一字符8个bit单线传输, 在命令行输入 echo ‘hello world’ > /dev/ttyS0可将输入写入到对应设备。

伪终端(/dev/ttyp,/dev/ptyp): 对应底层不存在真实的硬件设备, 用于为其他程序提供终端式样的接口,如网络登陆主机时网络服务器和shell程序之间的终端接口。

快转字幕 快转字幕

新一代 AI 字幕工作站,为创作者提供字幕制作、学习资源、会议记录、字幕制作等场景,一键为您的视频生成精准的字幕。

快转字幕 357 查看详情 快转字幕

控制终端(/dev/tty):主设备号为5, 进程控制终端,与进程相关联,如登陆shell进程使用的就是终端/dev/tty。

控制台(/dev/ttyn,/dev/consol): 计算机输入输出的显示器,当控制台登陆时, 使用的就是tty1, 而ubuntu 图形界面使用的tty7。

其他类型:现行的linux针对许多不同的设备建有许多其他种类的设备特殊文件,如ISIDIN设备的/dev/ttyIn设备。

下面为字符设备结构示意图

1.png

字符设备的性质及特点

字符设备属于设备文件系统的一种, 相当于底层硬件向上层提供的逻辑设备文件, 宛如将一个数据端口(数据寄存器)与一个文件对接起来,设备驱动程序直接对文件操作, 于是便直接对端口进行了读写操作。 同样作为文件, 字符设备驱动也必须实现文件的基本的操作open(),close(),write(),read()等,当然终端重定向操作也是支持的。

字符设备文件文件的读写是以单个字节为单位的, 不需要设立硬件缓冲区。 设备像访问字节流一样被操作系统访问。 字节流就像在硬件端口和文件系统搭建起了一个传送管道, 字节逐个通过管道传输并呈现给读写双方。 这个流特性在驱动程序中是以缓冲队列来实现的。例如: 控制台的结构体中的读写缓冲队列

struct tty_struct {struct termios termios;int pgrp;int stopped;void (*write)(struct tty_struct * tty);struct tty_queue read_q;               //读队列struct tty_queue write_q;              //写队列struct tty_queue secondary;            //tty辅助队列(存放规格化后的字符)};

字符设备由字符设备号标识。字符设备号由主设备号和次设备号构成, 例如/dev/ttyS0的设备号为(4,64); 主设备号标识设备对应驱动程序, 内核通过主设备号将设备和驱动程序一一对应起来, 次设备号由驱动程序使用, 用于驱动程序内部区分设备细节差别使用的代码,内核其他部分不使用它。

相关推荐:《Linux视频教程》

以上就是linux字符设备有哪些的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/258264.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
mysql中事务是指什么 mysql事务处理机制详解
上一篇 2026年10月10日 21:04:32
c++中引用和指针有什么区别_c++引用与指针区别解析
下一篇 2025年12月19日 03:10:02

相关推荐

  • linux自带vim吗

    linux自带vim吗linux自带vim吗linux自带vim吗linux自带vim吗

    linux有多种发行版,不是都自带vim的。vi是最基本的文本编辑器,每个Linux发行版都会自带vi;而vim是vi的增强版本,不是每个发行版都会自带,需要手动安装;可通过执行“yum -y install vim”命令来进行全自动安装。 本教程操作环境:CentOS 8系统、Dell G3电脑。…

    2026年10月10日 • 用户投稿
    000
  • linux系统的帐号文件由哪些组成

    linux系统的帐号文件由哪些组成linux系统的帐号文件由哪些组成linux系统的帐号文件由哪些组成linux系统的帐号文件由哪些组成

    帐号文件由5个部分组成:1、“/etc/passwd”,系统用户配置文件,存储了系统中所有用户的基本信息;2、“/etc/shadow”,存储了系统中用户的密码信息;3、“/ect/group”,用户组配置文件,存储了用户组的所有信息等等。 本教程操作环境:linux5.9.8系统、Dell G3电…

    2026年10月10日 • 用户投稿
    500
  • Ubuntu 20.04 Debian 9/10 开启Google BBR的方法

    摘要 BBR是Google开发的开源TCP BBR拥塞控制算法,旨在提升网络连接速度,其优化效果显著。BBR适用于内核版本4.9及以上的系统,如Ubuntu 18.04/20.04、CentOS 8和Debian 9/10,这些系统无需更换内核即可直接启用BBR。 正文 一、使用/安装 如果你使用的…

    2026年10月10日
    000
  • linux df和fdisk有什么区别

    linux df和fdisk有什么区别linux df和fdisk有什么区别linux df和fdisk有什么区别linux df和fdisk有什么区别

    区别:1、fdisk可输出分区内容,也可删除或新增分区,而df只能输出分区的使用情况;2、fdisk偏向操作性,而df是查看浏览的命令;3、查看项目时,fdisk查看的内容侧重于分区表的信息,而df侧重于显示当前系统中所有文件系统的信息。 本教程操作环境:linux5.9.8系统、Dell G3电脑…

    2026年10月10日 • 用户投稿
    000
  • linux不能用ipconfig怎么办

    linux不能用ipconfig怎么办linux不能用ipconfig怎么办linux不能用ipconfig怎么办linux不能用ipconfig怎么办

    解决方法:1、检查“/sbin”下有没有ifconfig,若没有则系统没有安装;2、执行“yum search ifconfig”搜索ifconfig包;3、执行“yum install net-tools.x86_64”命令进行安装即可。 本教程操作环境:linux5.9.8系统、Dell G3电…

    2026年10月10日 • 用户投稿
    1000
  • linux怎么查看有几个用户登录

    linux怎么查看有几个用户登录linux怎么查看有几个用户登录linux怎么查看有几个用户登录linux怎么查看有几个用户登录

    查看方法:1、利用w命令,该命令用于显示目前登录系统的用户信息,语法为“w [-fhlsuV][用户名称]”;2、利用who命令,该命令用于显示系统中有哪些使用者正在上面,语法为“who [参数]”。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux怎么查看有几个用户登录 1、…

    2026年10月10日 • 用户投稿
    100
  • Composer如何清理缓存_释放磁盘空间与解决缓存问题

    Composer如何清理缓存_释放磁盘空间与解决缓存问题Composer如何清理缓存_释放磁盘空间与解决缓存问题Composer如何清理缓存_释放磁盘空间与解决缓存问题Composer如何清理缓存_释放磁盘空间与解决缓存问题

    清理缓存可释放磁盘空间并解决依赖问题,主要通过composer clear-cache命令或手动删除缓存目录实现,定期清理和使用–prefer-dist参数有助于减少缓存占用。 Composer 清理缓存主要目的是释放磁盘空间,解决一些依赖更新问题。简单来说,就是让 Composer 忘…

    2026年10月10日 • 用户投稿
    100
  • 兆芯KX-7000加持!MAXHUB AI+电脑评测:信创电脑与AI的完美融合

    兆芯KX-7000加持!MAXHUB AI+电脑评测:信创电脑与AI的完美融合兆芯KX-7000加持!MAXHUB AI+电脑评测:信创电脑与AI的完美融合兆芯KX-7000加持!MAXHUB AI+电脑评测:信创电脑与AI的完美融合兆芯KX-7000加持!MAXHUB AI+电脑评测:信创电脑与AI的完美融合

    一、前言:兆芯驱动的智能办公新纪元 在人工智能浪潮席卷各行各业的当下,办公设备正经历一场深刻的转型——从传统的“操作工具”逐步演变为“智能生产力核心”。这一转变涉及硬件架构革新、软件生态重构、人机交互升级以及场景化应用深化,全面推动办公效率与协作模式的跃迁。 在大众认知中,运行各类Linux系统的信…

    2026年10月10日 • 用户投稿
    000
  • linux中unzip找不到命令怎么办

    linux中unzip找不到命令怎么办linux中unzip找不到命令怎么办linux中unzip找不到命令怎么办linux中unzip找不到命令怎么办

    解决方法:1、利用“yum list | grep zip/unzip”获取软件安装列表,没有结果说明没有安装;2、利用“yum install zip”命令安装zip;3、利用“yum install unzip”命令安装unzip即可。 本教程操作环境:linux7.3系统、Dell G3电脑。…

    2026年10月10日 • 用户投稿
    000
  • linux中grep怎么查找不包含

    linux中grep怎么查找不包含linux中grep怎么查找不包含linux中grep怎么查找不包含linux中grep怎么查找不包含

    在linux中,可以利用grep命令的“-v”参数来查找不包含,grep命令用于查找文件中符合条件的字符串,当参数设置为“-v”时,表示反向选择,显示不包含匹配文本的所有行,语法为“grep -v 不包含的字符串 文件名”。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux中g…

    2026年10月10日 • 用户投稿
    000
  • linux中awk和sed有什么区别

    linux中awk和sed有什么区别linux中awk和sed有什么区别linux中awk和sed有什么区别linux中awk和sed有什么区别

    linux中awk和sed的区别:1、sed是一种非交互式且面向字符流的编辑器,awk是一门模式匹配的编程语言;2、sed常用于数据修改,awk常用于数据切片和数据格式化;3、sed一般对行进行操作,awk一般对列进行操作。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux中a…

    2026年10月10日 • 用户投稿
    200
  • 一键PHP环境出现500错误怎么办_500错误常见解决办法

    先检查错误日志定位问题,再依次排查PHP语法错误、文件权限、.htaccess配置及PHP扩展与内存限制,多数500错误可快速解决。 遇到一键PHP环境出现500错误时,不要慌。500错误是服务器内部错误的通用提示,通常说明服务器在处理请求时遇到了问题,但没有具体说明原因。以下是几种常见且有效的排查…

    2026年10月10日
    100
  • linux防火墙查看状态firewall、iptable[通俗易懂]

    linux防火墙查看状态firewall、iptable[通俗易懂]linux防火墙查看状态firewall、iptable[通俗易懂]linux防火墙查看状态firewall、iptable[通俗易懂]linux防火墙查看状态firewall、iptable[通俗易懂]

    大家好,欢迎再次光临,我是你们的朋友全栈君。 CentOS7的防火墙配置与之前的版本有显著差异,CentOS7默认采用的是firewall,而CentOS 6.x则使用iptables。 一、iptables防火墙1、基本操作 # 查看防火墙状态service iptables status # 停…

    2026年10月10日 • 用户投稿
    600
  • linux中bashrc文件在哪

    linux中bashrc文件在哪linux中bashrc文件在哪linux中bashrc文件在哪linux中bashrc文件在哪

    在linux中,bashrc文件在“/home”目录下,也即用户的主目录下;该文件是一个隐藏文件,用于存储并加载系统的终端配置和环境变量,可以用“ls -a”命令查看,用“find -name .bashrc”命令查找文件在什么位置。 本教程操作环境:linux7.3系统、Dell G3电脑。 li…

    2026年10月10日 • 用户投稿
    100
  • linux删除权限不够怎么办

    linux删除权限不够怎么办linux删除权限不够怎么办linux删除权限不够怎么办linux删除权限不够怎么办

    linux删除权限不够的解决方法:1、使用“chmod 777 文件名”,给文件添加读写权限即可删除;2、使用root身份,利用“cd 路径”配合“rm -rf 需要删除的文件或文件夹”命令删除即可。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux删除权限不够怎么办 第一种:…

    2026年10月10日 • 用户投稿
    600
  • linux僵尸进程杀不死怎么办

    linux僵尸进程杀不死怎么办linux僵尸进程杀不死怎么办linux僵尸进程杀不死怎么办linux僵尸进程杀不死怎么办

    linux僵尸进程杀不死的解决方法:1、利用cat命令,查看僵尸进程的父进程id,语法为“cat /proc/僵尸进程的进程号/status”;2、利用kill命令,将父进程给杀死即可,语法为“kill -9 父进程的进程号”。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux…

    2026年10月10日 • 用户投稿
    200
  • Java中如何调用Shell 掌握Runtime.exec

    Java中如何调用Shell 掌握Runtime.execJava中如何调用Shell 掌握Runtime.execJava中如何调用Shell 掌握Runtime.execJava中如何调用Shell 掌握Runtime.exec

    java中调用shell命令的核心方法是runtime.getruntime().exec(),但需注意进程阻塞、流处理等问题。1. 命令执行:exec()启动独立进程执行系统命令;2. 输入/输出流:需手动处理子进程的输入输出流,否则可能导致阻塞;3. 异常处理:必须捕获ioexception以应…

    2026年10月10日 • 用户投稿
    300
  • linux的root权限是什么

    linux的root权限是什么linux的root权限是什么linux的root权限是什么linux的root权限是什么

    在linux中,root权限是超级管理员用户的最高管理权限;root权限可以超越任何用户和用户组对文件或目录进行读取修改或者删除;linux通过UID来区分用户权限级别,UID为0的用户则被系统认定为具有超级权限,也即root权限。 本教程操作环境:linux7.3系统、Dell G3电脑。 lin…

    2026年10月10日 • 用户投稿
    1300
  • linux能查看文件地址吗

    linux能查看文件地址吗linux能查看文件地址吗linux能查看文件地址吗linux能查看文件地址吗

    linux能查看文件地址。查看方法:1、利用whereis命令,该命令可定位可执行文件、源代码文件、帮助文件的位置,语法为“whereis 文件名”;2、利用which命令,该命令可查看可执行文件的位置,语法为“which 文件名”。 本教程操作环境:linux7.3系统、Dell G3电脑。 li…

    2026年10月10日 • 用户投稿
    100
  • linux怎么查看进程在哪个cpu上

    linux怎么查看进程在哪个cpu上linux怎么查看进程在哪个cpu上linux怎么查看进程在哪个cpu上linux怎么查看进程在哪个cpu上

    查看方法:1、利用top命令,该命令可以显示进程在哪个CPU上运行,语法为“top -p 进程号”;2、利用taskset命令,该命令用于查看进程或线程运行在哪个CPU上,语法为“taskset -p 进程号”。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux怎么查看进程在哪…

    2026年10月10日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信