首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 逆向】Linux 文件分类 ( 普通文件 | 目录文件 | 链接文件 | 字符设备文件 | 管道文件 | 块设备文件 )

文章目录 一、Linux 文件分类 1、普通文件 2、链接文件 3、字符设备文件 4、管道文件 5、块设备文件 一、Linux 文件分类 ---- Linux 文件分类 : " - " 表示 普通文件..." d " 表示 目录文件 " l " 表示 链接文件 " c " 表示 字符设备文件 " p " 表示 管道文件 " b " 表示 块设备文件 1、普通文件 " - " 表示普通文件 , 既不是目录...软链接文件 和 硬链接文件 , 软链接 是 符号链接 , 只包含了一个路径 , 可以链接任意文件目录 或 不存在文件 , 链接自己也可以 ; 硬链接 只能是 已存在文件 , 不能是目录 ; 创建软链接.../magisk 文件为例 , 该 su 文件不是一个真实存在文件 , 是一个软链接 , 其真实文件是 ..../magisk , 也就是本目录 magisk 文件 ; 3、字符设备文件 " c " 表示 " 字符设备文件 " , 如 /dev/ 目录下大部分都是字符设备文件 ; 4、管道文件 " p " 表示

3.2K10

linux 字符设备驱动

Linux设备可以分为三种: 字符设备:数据传输是以字节流形式传输,如键盘、鼠标、触摸屏、摄像头,LCD显示屏等等。 块设备:数据是以块为单位传输。如硬盘、U盘等存储设备。...Linux系统中,应用程序访问外设是通过文件形式来进行Linux将所有的外设都看做文件,统一存放在/dev目录下。...linux如何管理文件 Linux设备纳入文件系统范畴来管理。 每个设备Linux系统上看起来都像一个文件,它们存放在/dev目录中,称为"设备节点"。...Linux设备属性 设备类型:字符设备、块设备、网络设备; 主设备号:标识设备对应驱动程序。...inode; struct file 结构代表一个打开文件,同一个文件可以对应多个file结构; struct file_operations结构代表底层操作硬件函数集合** 怎么注册一个字符设备

9.6K45
您找到你想要的搜索结果了吗?
是的
没有找到

linux字符设备驱动

Linux设备可以分为三种: 字符设备:数据传输是以字节流形式传输,如键盘、鼠标、触摸屏、摄像头,LCD显示屏等等。 块设备:数据是以块为单位传输。如硬盘、U盘等存储设备。...Linux系统中,应用程序访问外设是通过文件形式来进行Linux将所有的外设都看做文件,统一存放在/dev目录下。...linux如何管理文件 Linux设备纳入文件系统范畴来管理。 每个设备Linux系统上看起来都像一个文件,它们存放在/dev目录中,称为"设备节点"。...Linux设备属性 设备类型:字符设备、块设备、网络设备; 主设备号:标识设备对应驱动程序。...inode; struct file 结构代表一个打开文件,同一个文件可以对应多个file结构; struct file_operations结构代表底层操作硬件函数集合** 怎么注册一个字符设备

10.6K65

Linux设备驱动之字符设备(一)

Linux设备驱动分类 从上图可以看到Linux系统将各异设备分为三大类:字符设备,块设备和网络设备。内核针对每一类设备都提供了对应驱动模型架构,包括基本内核设施和文件系统接口。...字符设备:在传送过程中以字符为单位,一个字节一个字节读写,不能随机读写数据,因为这类设备读写速度比较缓慢(因而其内核设施中不提供缓存机制),常见字符设备有键盘,鼠标已打印机设备等。...网络设备: 网络设备不同于字符设备和块设备,它是面向报文。同时在/dev目录下没有设备节点这样一说,在应用层是用户是通过APIsocket函数来使用网络设备。比如网卡等。...设备构成 主设备号与次设备号 关于设备号,我们先通过如下图来了解一下 从上图可以看出,c代表字符设备,d代码是块设备。...随着Linux系统演变,上述主次设备分发可能在将来会发生变化,所以设备驱动程序开发者应该避免直接使用主次设备号所占位宽来获得对于设备号或次设备号。

7.1K52

Linux设备驱动之字符设备(二)

通过上一节Linux设备驱动字符设备(一)了解了Linux设备驱动分类,设备构成,设备申请以及设备释放。 在Linux内核中使用struct cdev结构来代码字符设备。...struct kobject kobj 内核内嵌对象,是Linux设备驱动模型重要成员。...struct module *owner 字符设备驱动程序所在内核模块指针 struct file_operations *ops 字符设备驱动程序文件操作函数集,是应用程序通过文件系统访问驱动桥梁...该部分在后面Linux字符设备框架一节会详细分析,目前只要明白主要流程即可。 字符设备注销 当驱动程序需要从系统卸载时候,就需要使用cdev_del释放字符设备占用内存。...目前为止,已经了解了设备号,设备构成,字符设备分配,字符设备初始化,字符设备注册以及字符设备注销。将在下一节通过一个简单字符设备驱动程序来再次熟悉整个流程,然后总结字符设备驱动编写模型。

6K20

Linux 内核之字符设备驱动

支持阻塞IO驱动demo Linux设备类型可以大概分为以下几种: 字符设备:以字节为单位传输,传输率低,不支持随机访问,常见设备有鼠标,键盘,触摸屏等 块设备: 以块位单位传输,常见就是磁盘...网络设备:涉及网络协议设备 本篇先看字符设备内容。...先看下字符设备结构 struct cdev { struct kobject kobj; // 用于linux设备驱动模型 struct module *owner; // 字符设备驱动所在内核模块对象指针...const struct file_operations *ops; // 字符设备驱动中最关键一个操作函数,在和应用程序交互过程中起枢纽作用 struct list_head list...再介绍下misc 设备linux 内核将一些不符合预先确定字符设备划分为杂项设备,使用数据结构如下; struct miscdevice { int minor; const char

4.8K40

Linux驱动开发: 杂项字符设备

Linux内核include\linux目录下有Miscdevice.h文件,misc设备定义及其内核提供相关函数在这里。...其实是因为这些字符设备不符合预先确定字符设备范畴,所有这些设备采用主设备10,一起归于misc device,其实misc_register就是用主标号10调用register_chrdev()。...也就是说,misc设备其实也就是特殊字符设备。 在Linux驱动中把无法归类五花八门设备定义为混杂设备(用miscdevice结构体表述)。...name:备名/dev/下设备节点名。 fops:文件操作方法指针。 特点:当安装此类驱动后,会在系统/dev下生成相应设备节点文件。...三、内核提供来编写杂项设备API函数 3.1 注册函数 函数原型 int misc_register(struct miscdevice * misc) 头文件 #include <linux/miscdevice.h

3.7K10

linux特殊字符及其作用大全

匹配单个字符 * 代表所有字符 [abcd] 匹配[]里任意一个字符。4选1 [a-d] [!abcd] 匹配不含[]里任意一个字符字符。...作用是相同。...字元,有几个作用;放在指令前,有取消 aliases作用;放在特殊符号前,则该特殊符号作用消失;放在指令最末端,表示指令连接下一行。...状态值 (status variable) 一般来说,UNIX(linux) 系统进程以执行系统调用exit()来结束。这个回传值就是status值。回传给父进程,用来检查子进程执行状态。...总结 以上所述是小编给大家介绍linux特殊字符及其作用大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家。在此也非常感谢大家对ZaLou.Cn网站支持!

2.9K52

Linux实现字符设备驱动基础步骤

Linux应用层想要操作kernel层API,比方想操作相关GPIO或寄存器,能够通过写一个字符设备驱动来实现。 1、先在rootfs中 /dev/ 下生成一个字符设备。...-e audioIN ];then sudo mknod audioIN c 240 0 fi 生成设备为 /dev/audioIN ,主设备号240,从设备号0。...2、写audioINdriver.ko ,audioINdriver.c 基本代码框架例如以下:代码中定义了设备名audioIN,设备号240, 0 ,与之前创建设备一致。...insmod audioINdriver.ko 4、载入驱动成功后,就能够在应用层直接操作设备 /dev/audioIN,来实现相关功能,将一些參数传到驱动层,运行相关kernel层代码。...和 write函数,可从驱动中获取一些返回值,也可将字符串传到驱动中。

2.3K30

linux字符设备驱动基本框架

字符设备与块设备驱动程序区别与联系 1.字符设备最小访问单元是字节,块设备是块字节512或者512字节为单位 2.访问顺序上面,字符设备是顺序访问,而块设备是随机访问 3.在linux中,字符设备和块设备访问字节没有本质区别...3.字符设备驱动程序解析 字符设备Linux驱动中起到十分关键作用。包括我们要实现LCD驱动以及CAM驱动都属于字符设备驱动。所以现在主要分析一下字符设备驱动程序框架。...作为Linux特有的抽象方式,将所有的硬件抽象成文件读写。 (2)设备类型 字符设备、块设备、网络设备 (3)设备文件、主设备号、从设备号 有了设备类型划分,还需要进行进一步明确。...所以驱动设备会生成字符节点,以文件方式存放在/dev目录下,操作时可抽象成文件操作即可。每个设备节点有主设备号和次设备号,用一个32位来表示,前12位表示主设备号,后20位表示次设备号。...用户进程利用在对设备文件进行诸如read/write操作时候,系统调用通过设备文件设备号找到相应设备驱动程序,然后读取这个数据结构相应函数指针,接着把控制权交给该函数,这是Linux设备驱动程序工作基本原理

5.8K53

Linux设备全览:从字符到块,揭秘每种设备秘密

Linux世界里,设备是构成系统基础,它们使得计算机能够与外界互动。Linux设备可以大致分为几种类型,每种类型都有其独特特性和用途。让我们一起探索这些设备类型及其特性。1....字符设备(Character Devices)字符设备是一种可以按字符(字节)进行数据读写设备。这意味着数据以一个字符一个字符形式进行传输,如键盘、鼠标或串行端口。...它们是构建文件系统基石,可以随机访问存储在设备任何数据块。特性:随机访问:可以直接访问任何数据块,不需要按顺序。缓存操作:通常操作系统会缓存块设备操作,提高数据处理效率。...提供一个标准接口来访问系统资源或服务。5. 总结Linux设备多样性和复杂性是Linux系统强大功能体现。...通过了解不同类型Linux设备及其特性,开发者和系统管理员可以更有效地管理和利用这些设备,为用户提供丰富计算体验。掌握这些基础知识,是深入Linux世界第一步。

11210

Linux内核设备驱动之字符设备驱动笔记整理

/******************** * 字符设备驱动 ********************/ (1)字符设备驱动介绍 字符设备是指那些按字节流访问设备,针对字符设备驱动称为字符设备驱动...(2)主设备号和次设备号 a.设备编号介绍 对字符设备访问是通过文件系统内设备文件进行。...通常,主设备号标示设备对应驱动程序,linux允许多个驱动共用一个主设备号; 而次设备号用于确定设备文件所指设备。 在内核中,用dev_t类型保存设备编号。...inode定义在 dev_t i_rdev; 对于表示设备文件inode结构,i_rdev里包含了真正设备编号 struct cdev *i_cdev cdev是表示字符设备内核内部结构...见 a.通常在设备结构中加入cdev struct scull_dev{ ... struct cdev cdev; /* 字符设备结构 */ } b.初始化 void

4.7K20

Linux笔记(13)| 字符设备驱动基础入门

好了,言归正传,今天要分享linux驱动中字符设备驱动,我们知道,对于嵌入式linux开发来说,主要是分为应用开发和驱动开发,在前面的文章当中,都是在介绍应用开发,因为应用开发相对来说难度更低一些...前面的讲应用开发虽然不是特别深(以后会慢慢加深),但是大致覆盖了涉及到内容,还有一个线程没有讲,这个到后面再补充,从今天开始就正式进入驱动开发,linux驱动有字符设备驱动、块设备驱动和网络设备驱动...,其中字符设备驱动用非常多,而且相对容易一些,所以先从字符设备驱动开始。...2、了解驱动模块代码结构和安装、卸载 驱动模块是以.ko为后缀文件,驱动代码编译好之后就会得到.ko文件,然后使用命令insmod,就可以安装到linux系统中,使用rmmod命令就可以卸载模块,...这里还要先明确一个概念就是,在linux系统中有一个哲学思想,就是一切皆文件。我们设备,也抽象成了一个个设备文件,所以,要操作设备,实际上就是向这个设备文件写入内容或者读取内容。

1.9K20

Linux设备驱动程序(三)——字符驱动

前言 本章目的是编写一个完整字符设备驱动,我们开发一个字符驱动是因为这一类适合大部分简单硬件设备字符驱动也比块驱动易于理解。...本章涉及 scull0 到 scull3 内部结构 二、主设备号和次设备号 对字符设备访问是通过文件系统内设备名称进行,那些名称被称为文件系统特殊文件设备文件,或者简单称之为文件系统树节点...字符驱动特殊文件由使用 ls -l 输出第一列"c"标识,块设备也出现在 /dev 中,但是它们由"b"标识。 在Linux系统上输入:ls -l /dev 观察输出。...//获得dev_t dev中设备号 这三个宏在中定义。 2、分配和释放设备编号 内核是通过设备编号找到设备,理所当然地要建立一个字符设备那必须要获得字符设备编号。...成功调用申请设备编号函数后,在系统 /proc/devices 下就会包含设备以及设备设备信息。函数在中声明。字符设备不再使用时应该释放它们占用编号。

40041

字符设备与块设备区别

设备:系统中可以随机访问(不按顺序访问)数据,这种设备称为块设备。比如我们常用磁盘就是一种典型设备字符设备: 系统中按字符方式有序访问数据,这种设备称为字符设备。...比如我们常用键盘。 为什么说磁盘是一种典型设备呢?  假如磁盘是按字符设备方式访问数据, 那就是说磁盘是按顺序访问数据。 如果读取数据时一个数据在1扇区,另一个数据在20扇区。...那么这样的话读取数据是很慢,严重影响了系统性能。所以可以见得,当磁盘读取数据时,读完扇区1时,就跳到扇区20去读取。 这样磁盘效率就会明显提高。 为什么说键盘是一种典型字符设备呢?...字符设备特点是读取数据是按顺序读取数据。假如我从键盘输入数据,键盘读取顺序都不固定,而是随机顺序,那这样输入数据明显是不对。所以键盘是一种字符设备。...简单来说块设备就是随机读取,而字符设备却是按顺序读取

1.5K10

Linux内核设备驱动之高级字符设备驱动笔记整理

在用户空间,ioctl系统调用原型是: int ioctl(int fd, unsigned long cmd, …); fd: 打开设备文件描述符 cmd: 命令 第三个参数:根据不同命令,可以是整数或指针...(4)异步通知 a.异步通知作用 大多数时候阻塞型和非阻塞型操作组合以及select方法可以有效查询设备,但有时候用这种技术效率就不高了。...b.用户空间程序如何启动异步通知 为了启动文件异步通知机制,用户程序必须执行两个步骤: 01.指定一个进程作为设备文件 “属主(owner)”。...02.为了真正启动异步通知机制,用户程序还必须在设备中设置FASYNC标志,这是通过fchtl命令F_SETFL完成。执行完这两步后,设备文件就可以在新数据到达时请求发送一个SIGIO信号。...03.当数据到达时,由内核发送一个SIGIO信号给所有注册为异步通知进程 b.在设备结构体中加入fasync_struct指针 该结构在中定义: struct fasync_struct

3.4K31

Linux操作系统下文件作用

linux文件结构,看看每个文件夹都是干吗用 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动配置文件和脚本 /home 用户主目录基点...,比如用户user主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里.dll文件 /sbin 系统管理命令,这里存放是系统管理员使用管理程序...linux下开发和编译应用程序所需要文件 /usr/lib 常用动态链接库和软件包配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核源代码就放在/usr/src.../linux里 /usr/local/bin 本地增加命令 /usr/local/lib 本地增加库 通常情况下,根文件系统所占空间一般应该比较小,因为其中绝大部分文件都不需要 经常改动,而且包括严格文件和一个小不经常改变文件系统不容易损坏...这样,多数程序可以在多数终端上运行。 /dev文件系统 /dev 目录包括所有设备设备文件设备文件用特定约定命名,这在设备列表中说明。

79610

设备巡检管理系统作用

设备巡检系统是通过引入二维码、云计算、移动互联等技术,为生产企业提供设备管理和巡检解决方案,以确保设备巡检工作质量,提高巡检工作效率。...设备巡检系统目的是掌握设备日常运行动态和状态,及时发现设备缺陷以及安全隐患,让维修、保养、巡检、备件更换更及时,保障设备运行安全,减少停机时间,提升设备寿命和工厂生产率。...通过设备巡检系统可以解决当前企业设备巡检面临几个问题:1) 人工纸质巡检单据容易丢失,巡检容易遗漏或者巡检不及时。2) 手工填报巡检效率低、需要更多人力,且巡检结果容易不准确。...3) 管理人员难以及时、准确、全面地了解线路状况,难以制定最佳保养和维修方案。使用易点易动设备管理系统可解决以上难题,让设备巡检更智能,减少漏检、避免数据丢失,提高设备巡检效率和结果准确性。...图片使用易点易动设备巡检软件进行巡检时工作流程:1)用户在管理端制定设备巡检计划,包括定义相应巡检路线、巡检点等、巡检班组等。2)系统根据巡检方案中巡检周期和时间自动生成巡检任务。

65830
领券