繁体   English   中英

Linux内核模块,可以列出给定路径内的文件和文件夹

[英]Linux Kernel Module that can list files and folders inside a given path

我想知道是否可以从Linux内核中列出给定文件夹内的文件和文件夹。 我敢打赌有办法。

我已经在网上进行搜索,并给出了一些照片,但仍然无法做到。

谢谢!

回应您的评论:您的问题不是关于文件读取,而是关于目录的条目。 关于您的最后一句话:是的,每个文件系统都实现readdir()函数,因此它将独立于文件系统。

我认为您需要执行以下步骤:

  1. 研究,如何编写内核模块。 网上有很多教程,包括带注释示例的分步教程。

  2. 编写一个简单的模块,在其初始化函数中, printk() s是一些简单的文本。

  3. 研究如何从内核模块调用系统调用。 从用户空间来看,它可能不那么简单,但是几乎可以肯定。

  4. 通过路径传递到模块参数中目录的最简单方法。 Linux内核模块可以具有多个参数,这些参数的处理可以很好地实现自动化(实际上,您可以将参数名称直接绑定到模块中的静态变量)。

  5. 模块可以调用系统调用并获得输入后,现在可以使用opendir()调用在其init函数中打开此目录。 然后读取其内容(请参阅readdir() ),最后使用printk()输出结果。

可能会有一些障碍,例如,您可能无法使用来自模块init函数的syscall或类似的调用,但是它们都不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM