当前位置:首页>Linux>读懂Linux文件系统:目录结构与设备驱动关联

读懂Linux文件系统:目录结构与设备驱动关联

  • 2026-02-05 01:09:11
读懂Linux文件系统:目录结构与设备驱动关联

对于Linux初学者及嵌入式开发者而言,文件系统是掌握Linux系统运行机制的核心基石——它不仅承担着文件与目录的组织管理功能,更是系统与硬件设备实现交互的关键桥梁。与Windows系统的盘符式管理逻辑不同,Linux采用单一根目录(/)的树状层级结构,系统中所有设备、配置文件、可执行程序,均以文件形式挂载在这棵“目录树”上。今天,我们将结合Linux文件系统的核心知识点,逐一拆解根目录下各核心目录的功能、文件系统与设备驱动的底层关联,以及驱动开发中不可或缺的关键结构体,助力大家快速吃透Linux文件系统的核心逻辑。

一、Linux根目录下的12个核心目录,各有分工不混乱

登录Linux系统后,输入“ls -l /”命令即可查看根目录下的所有内容,其中12个核心目录各司其职、分工明确,熟记这些目录的用途,能大幅提升我们日常操作、系统调试及问题排查的效率。

1. /bin:基础命令的“聚集地”

该目录存放着Linux系统最基础、最常用的可执行命令,涵盖我们日常操作中高频使用的ls(查看目录内容)、cp(复制文件/目录)、mkdir(创建目录)、rm(删除文件/目录)等。无论当前登录用户是普通用户还是管理员,均可直接调用这些命令,它们构成了系统正常运行所需的“最小命令集合”,缺一不可。

2. /sbin:系统管理的“专属工具”

与/bin目录功能类似,但该目录下的命令主要用于系统底层管理与维护,例如modprobe(加载/卸载内核模块)、hwclock(设置/查看系统硬件时钟)、ifconfig(配置网络接口)、reboot(重启系统)等。这类命令大多需要root管理员权限才能执行,是系统管理员维护系统稳定性、排查底层故障的核心工具。

3. /dev:设备文件的“映射中心”

这是Linux文件系统最具特色的目录之一,完美体现了Linux“一切皆文件”的设计理念——系统中所有硬件设备(键盘、鼠标、磁盘、串口、显卡等),都会在该目录下生成对应的设备文件。应用程序无需直接操作硬件底层,只需通过读写这些设备文件,即可间接实现对硬件设备的控制。例如,串口设备对应/dev/ttyS1,磁盘分区对应/dev/sdb1,鼠标设备对应/dev/mouse0。

4. /etc:系统配置的“总开关”

该目录是Linux系统的“配置中枢”,集中存放了系统所有的配置文件,小到用户账号密码(/etc/passwd)、用户组信息(/etc/group)、系统环境变量,大到服务器配置、busybox启动脚本、网络配置(/etc/sysconfig/network-scripts)等,均可在该目录下找到对应的配置文件。需特别注意:修改该目录下的文件时务必谨慎,错误的配置可能导致系统无法正常启动或运行异常。

5. /lib:系统运行的“依赖库”

该目录存放着系统本身及各类应用程序运行所需的共享库文件,相当于Windows系统中的.dll动态链接库文件。这些共享库是命令、应用程序运行的核心依赖,一旦缺失某个库文件,对应的命令或程序将无法正常执行,通常会提示“找不到某某库文件”的错误。

6. /mnt:挂载设备的“临时中转站”

该目录专门用于挂载外部存储设备(如U盘、光盘、移动硬盘、网络存储等),默认情况下可能为空目录。我们可以手动在该目录下创建挂载点(例如创建/mnt/cdrom用于挂载光盘,创建/mnt/usb用于挂载U盘),也可以通过配置/etc/fstab文件,实现系统开机后自动将外部存储设备挂载到指定的/mnt子目录下,无需手动执行挂载命令。

7. /opt:可选软件的“安装目录”

“opt”是“optional”(可选)的缩写,该目录主要用于安装第三方软件或非系统自带的软件包。例如,我们手动编译安装的开发工具(如Qt、VS Code)、第三方插件、自定义软件等,将其安装到该目录下,既能避免与系统自带程序发生冲突,也便于后续对软件进行管理、升级和卸载。

8. /proc:系统运行状态的“实时监控台”

这是一个特殊的伪文件系统——它不占用任何磁盘存储空间,所有内容均存储在系统内存中,用于实时映射系统的运行状态,包括CPU信息、内存使用情况、进程列表、内核参数、网络状态等。我们可以通过简单的cat命令查看相关信息,例如cat /proc/cpuinfo查看CPU详细参数,cat /proc/meminfo查看内存使用情况,是系统调试、性能排查的常用工具。

9. /tmp:临时文件的“垃圾桶”

该目录用于存放用户运行程序时生成的临时文件、系统运行过程中产生的临时数据,所有用户均可在该目录下创建和删除临时文件。系统会定期自动清理该目录下的内容(通常为重启后或定时清理),因此切勿在该目录下存放重要文件,以免丢失。

10. /usr:用户程序的“大仓库”

这是Linux系统中容量最大、内容最丰富的目录之一,主要存放用户常用的应用程序、共享库、帮助文档、头文件等。该目录下包含多个常用子目录,例如/usr/bin(用户常用命令)、/usr/lib(用户应用程序依赖库)、/usr/share/man(命令帮助文档)、/usr/include(开发所需头文件)等,相当于Windows系统中的“Program Files”目录。

11. /var:动态变化的“数据容器”

“var”是“variable”(变化)的缩写,该目录的核心特点是内容会随着系统运行不断动态变化。系统日志(/var/log)、邮件数据(/var/spool/mail)、数据库文件、网站静态资源、打印队列等,均存放在该目录下。其中,/var/log目录是排查系统故障的核心位置,系统运行过程中的大部分错误信息、警告信息、操作日志,都会记录在该目录下的日志文件中(如/var/log/messages)。

12. /sys:设备驱动模型的“映射表”

该目录是Linux 2.6内核之后新增的目录,用于映射sysfs文件系统,而sysfs是Linux内核中用于暴露设备驱动模型的虚拟文件系统。系统中的总线、驱动程序、硬件设备,都会在该目录下生成对应的节点,当内核检测到新的硬件设备时,会自动在该目录下添加对应的设备节点。对于设备驱动开发者而言,该目录是查看设备状态、调试驱动程序、获取设备信息的重要工具。

二、Linux文件系统与设备驱动的关联:如何通过文件操作硬件?

很多初学者都会有这样的疑问:“文件系统是管理文件的,设备驱动是控制硬件的,两者看似无关,实则存在紧密的底层关联”。事实上,Linux文件系统是连接应用程序与设备驱动的“中间桥梁”,而这一关联的核心,正是虚拟文件系统(VFS)的抽象化设计,实现了应用程序对文件和硬件的统一操作接口。

  1. 应用程序层面:应用程序不会直接操作硬件底层,也不会直接对接具体的文件系统(如ext4、xfs、proc等),而是通过统一的系统调用(如open打开文件/设备、read读取数据、write写入数据、close关闭文件/设备)与VFS进行交互;

  2. VFS抽象层层面:VFS是Linux文件系统的“核心抽象层”,它屏蔽了不同文件系统(磁盘文件系统、伪文件系统)和不同硬件设备的底层差异,统一了所有文件和设备文件的操作接口。这意味着,无论底层是ext4文件系统的普通文件,还是/dev目录下的串口设备文件,应用程序的调用方式完全一致;

  3. 驱动与文件系统层面:VFS与具体文件系统、设备文件之间的交互接口,是file_operations结构体。该结构体封装了对文件/设备的所有操作函数(如open、read、write、ioctl等),设备驱动开发者只需实现该结构体中的相关操作函数,并将其注册到内核,即可被VFS识别,进而被应用程序通过系统调用间接调用。

简单来说,整个交互流程可总结为:应用程序调用系统调用 → VFS接收请求并转发 → file_operations结构体调用对应的驱动函数 → 驱动程序操作硬件底层。这也正是Linux“一切皆文件”设计理念的底层逻辑——将硬件设备抽象为设备文件,通过统一的文件操作接口,实现对硬件的间接控制,降低了应用程序与驱动开发的复杂度。

三、驱动开发必懂:file与inode结构体

在Linux设备驱动开发中,有两个核心结构体是绕不开的——file结构体和inode结构体。这两个结构体是理解应用程序、VFS与设备驱动交互的关键,也是驱动代码中最常用、最核心的数据结构,掌握它们的核心字段,是编写稳定设备驱动的基础。

1. file结构体:代表“被打开的文件/设备”

file结构体的核心作用,是描述一个被打开的文件或设备文件。需要注意的是,它描述的不是磁盘上的静态文件本身,而是文件被打开后的“运行时状态”。系统每次打开一个文件(包括普通文件、设备文件),内核都会自动创建一个file结构体,用于记录该文件的打开模式、当前读写位置、私有数据等信息,并将其传递给所有对该文件进行操作的函数;当文件被所有进程关闭后,内核会自动释放该file结构体,回收相关资源。

驱动开发中,我们无需关注file结构体的所有字段,重点掌握以下3个核心字段即可:

①  f_mode:用于标识文件/设备的读写模式,例如只读(FMODE_READ)、只写(FMODE_WRITE)、可读可写(FMODE_READ | FMODE_WRITE),驱动程序可通过该字段判断应用程序的操作权限;

②  f_flags:用于标识文件/设备的打开标志,驱动开发中最常用的场景,是判断应用程序是否以阻塞或非阻塞模式打开设备,示例代码如下:

if (file->f_flags & O_NONBLOCK)     /* 非阻塞方式打开 */      pr_debug("open: non-blocking\n");else/* 阻塞方式打开 */      pr_debug("open: blocking\n");

③  private_data:私有数据指针,这是驱动开发中最常用、最灵活的字段。我们可以将自定义的设备描述结构体(如包含设备寄存器地址、GPIO信息、互斥锁等)指针,赋值给该字段,从而实现驱动程序中不同操作函数(如open、read、write)之间的数据共享,大幅简化代码逻辑,提升驱动的可维护性。

2. inode结构体:代表“文件/设备的静态属性”

inode结构体用于描述文件/设备文件的静态属性,这些属性在文件创建后基本保持不变(除非主动修改),包括文件的访问权限、文件属主、文件大小、创建时间、修改时间、存储位置等。inode结构体是Linux管理文件系统的最基本单位,也是连接目录项与文件本身的核心桥梁——目录项(dentry)记录的是文件名与inode的映射关系,而inode记录的是文件的实际属性和存储信息。

对于设备驱动开发而言,inode结构体最核心的字段是i_rdev,该字段用于存储设备编号,而设备编号是实现驱动程序与具体硬件设备关联的关键。Linux系统中的设备编号分为两部分,共同唯一标识一个设备:

①  主设备号(高12位):用于区分不同类型的设备,同一类设备通常共用一个主设备号(例如,所有串口设备的主设备号通常为4,所有块设备的主设备号有固定分配规则);

②  次设备号(低20位):用于区分同一类设备中的不同个体,例如/dev/ttyS0(次设备号64)和/dev/ttyS1(次设备号65),两者共用主设备号4,通过不同的次设备号,实现对不同串口设备的区分和控制。

驱动开发中,我们无需手动解析i_rdev字段,内核提供了两个封装好的函数,可直接从inode结构体中获取主设备号和次设备号,示例代码如下:

unsignedintiminor(struct inode *inode);  // 获取次设备号unsignedintimajor(struct inode *inode);  // 获取主设备号

此外,在日常调试和开发中,我们也可以通过以下两种常用方法,查看系统中已注册设备的设备编号:

  1. 查看/proc/devices文件:该文件记录了系统中所有已注册设备的主设备号和设备名称,第一列为设备的主设备号,第二列为对应的设备名,通过该文件可快速了解系统中已注册的设备类型;

  2. 查看/dev目录下的设备文件:通过ls -l /dev命令查看设备文件详情,文件权限信息后的两列数字,分别对应该设备文件的主设备号和次设备号(例如,crw-rw---- 1 root uucp 4, 64 /dev/ttyS0,其中4为主设备号,64为次设备号)。

四、总结:Linux文件系统的核心精髓

Linux文件系统的核心精髓,在于“单一根目录树”和“一切皆文件”的两大设计理念——通过单一根目录树,将系统中所有资源(文件、设备、配置)进行统一组织和管理,简化了系统的层级结构;通过“一切皆文件”的抽象化设计,将硬件设备映射为设备文件,借助VFS实现了应用程序对文件和硬件的统一操作接口,降低了开发和使用成本。

对于Linux初学者而言,熟记根目录下12个核心目录的用途,是入门Linux系统、提升操作效率的基础;对于嵌入式设备驱动开发者而言,深刻理解VFS与设备驱动的底层关联,熟练掌握file、inode两个核心结构体的核心字段及使用方法,是编写稳定、高效设备驱动程序的关键。后续我们还会结合具体的驱动开发案例,拆解设备驱动的完整编写流程,带你深入玩转Linux文件系统与设备驱动,助力大家夯实底层基础、提升开发能力。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 13:48:59 HTTP/2.0 GET : https://f.mffb.com.cn/a/471476.html
  2. 运行时间 : 0.196159s [ 吞吐率:5.10req/s ] 内存消耗:4,492.65kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8d7a4f7376c4d2994f8e8ea0de4a9755
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001103s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001362s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000695s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000658s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001232s ]
  6. SELECT * FROM `set` [ RunTime:0.000486s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001475s ]
  8. SELECT * FROM `article` WHERE `id` = 471476 LIMIT 1 [ RunTime:0.001564s ]
  9. UPDATE `article` SET `lasttime` = 1770443339 WHERE `id` = 471476 [ RunTime:0.013871s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.003557s ]
  11. SELECT * FROM `article` WHERE `id` < 471476 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001160s ]
  12. SELECT * FROM `article` WHERE `id` > 471476 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001557s ]
  13. SELECT * FROM `article` WHERE `id` < 471476 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001945s ]
  14. SELECT * FROM `article` WHERE `id` < 471476 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002348s ]
  15. SELECT * FROM `article` WHERE `id` < 471476 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002815s ]
0.200009s