当前位置:首页>Linux>告别手动筛选!正则表达式让你成为Linux文本处理高手

告别手动筛选!正则表达式让你成为Linux文本处理高手

  • 2026-02-26 00:56:44
告别手动筛选!正则表达式让你成为Linux文本处理高手

字数 3111,阅读大约需 16 分钟

一、正则表达式:Linux字符串处理的高效工具

接触Linux一段时间后,你难免会遇到这些场景:从海量系统日志中提取错误信息、快速找出含特定关键词的配置文件、批量筛选符合规则的文本内容……手动处理不仅效率低下,还容易出错,而**正则表达式(Regular Expression,RE)**就是解决这些问题的高效工具。

简单来说,正则表达式不是某个具体工具,而是一套字符串处理的标准规则——通过特殊字符的组合,实现对字符串的搜索、替换、删除等操作。只要Linux工具支持这套规则(比如grep、vim、egrep等),就能借助它完成复杂的字符串处理,这也是它成为系统管理员必备技能的核心原因。

很多人会把正则表达式和Shell通配符混淆,这里必须划清界限:

  • • 通配符:是Shell自带的功能(比如ls *.txt中的*),仅用于匹配文件名等简单场景;
  • • 正则表达式:是通用的字符串处理规则,功能更强大,可处理任意文本内容,学习时要彻底区分两者概念。

正则表达式的应用场景十分广泛:邮件服务器的垃圾邮件过滤、系统日志分析、服务器软件的规则配置等,都离不开它。掌握它,能让你的Linux文本处理工作效率翻倍。

二、基础准备:避坑语系影响,玩转核心工具grep

开始学习正则语法前,必须先解决两个关键问题:语系对匹配结果的影响,以及核心工具grep的使用,否则后续实操很容易出现“结果与预期不符”的情况。

2.1 避坑指南:语系对正则的关键影响

Linux的语系设置会直接改变文本编码顺序,进而影响正则匹配结果。比如英文大小写的编码顺序:

  • • 当LANG=C时,编码顺序是0-9→A-Z→a-z[A-Z]能精准匹配所有大写字母;
  • • 当LANG=zh_CN.UTF-8时,编码顺序混乱,[A-Z]可能会匹配到部分小写字母。

因此,实操正则表达式时,建议先执行export LANG=C切换到C语系,确保匹配结果的准确性。

为了彻底摆脱语系影响,Linux提供了预定义字符类,比直接写a-zA-Z更可靠,常用类别一定要记牢:

预定义字符类
代表含义
[:alnum:]
数字+大小写字母(0-9、A-Z、a-z)
[:alpha:]
大小写字母(A-Z、a-z)
[:digit:]
纯数字(0-9)
[:lower:]
小写字母(a-z)
[:upper:]
大写字母(A-Z)
[:blank:]
空格+Tab键
[:space:]
所有空白字符(空格、Tab、换行等)
比如要匹配任意数字,用[[:digit:]][0-9]更稳妥,完全不受语系干扰。

2.2 核心工具:grep——正则匹配的常用工具

grep是Linux中最常用的文本搜索工具,完美支持基础正则表达式,核心功能是按行匹配字符串,输出匹配到的整行内容。先掌握它的进阶选项,后续正则练习会更顺畅:

grep [-n] [-v] [-i] [-A n] [-B n] [--color=auto] '匹配规则' 文件名
  • • -n:显示匹配行的行号,方便定位;
  • • -v:反向匹配,显示不满足规则的行;
  • • -i:忽略大小写匹配;
  • • -A n:显示匹配行及后续n行
  • • -B n:显示匹配行及前面n行
  • • --color=auto:将匹配到的关键词标色,直观易看。

实用小技巧:每次输入--color=auto太麻烦,可在~/.bashrc中添加别名,让颜色自动生效:

alias grep='grep --color=auto'
source
 ~/.bashrc  # 立即生效

实操示例:从系统核心日志中查找网卡(eth)相关信息,显示行号并标色:

dmesg | grep -n 'eth'

若想查看匹配行的前2行和后3行,只需补充参数:

dmesg | grep -n -A3 -B2 'eth'

三、基础正则表达式:核心语法+实操示例

基础正则表达式是所有用法的核心,掌握以下特殊字符,就能解决80%的日常文本处理需求。为了方便练习,我们先创建测试文件regular_express.txt(内容如下),后续所有示例均基于此文件:

"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
However, this dress is about $ 3183 dollars.
GNU is free air not free beer.
Her hair is very beauty.
I can't finish the test.
Oh! The soup taste good.
motorcycle is cheap than car.
This window is clear.
the symbol '*' is represented as start.
Oh! My god!
The gd software is a library for drafting programs.
You are the best is mean you are the no. 1.
The world <Happy> is the same with "glad".
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let's go.
# I am VBird
(最后一行是空白行)

3.1 匹配特定字符串:最基础的用法

直接输入要匹配的字符串,即可实现精准搜索,结合grep选项可灵活拓展:

  • • 匹配含the的行,显示行号:grep -n 'the' regular_express.txt
  • • 反向匹配,显示不含the的行:grep -vn 'the' regular_express.txt
  • • 忽略大小写,匹配the/Thegrep -in 'the' regular_express.txt

3.2 集合字符[]:匹配“二选一”的字符

[]代表匹配其中任意一个字符,适用于有相似性的字符串匹配。比如同时匹配testtaste,两者核心结构是t?st,用[ae]匹配中间字符即可:

grep -n 't[ae]st' regular_express.txt  # 仅匹配test或taste

[]中加^表示反向选择,即“不匹配其中任意字符”。比如匹配oo,但oo前面不能是g

grep -n '[^g]oo' regular_express.txt

若要匹配连续字符范围,可在[]中用-,比如:

  • • 匹配oo前面不是小写字母的行:grep -n '[^a-z]oo' regular_express.txt
  • • 匹配含数字的行:grep -n '[0-9]' regular_express.txt
  • • 用预定义字符类替代(更稳妥):grep -n '[^[:lower:]]oo' regular_express.txt

3.3 行首^与行尾$:精准定位行的开头和结尾

^$定位符,分别表示行首和行尾,搭配使用可实现精准行匹配,是日志分析的常用技巧:

  • • 匹配行首为the的行:grep -n '^the' regular_express.txt(仅第12行匹配)
  • • 匹配行首为小写字母的行:grep -n '^[a-z]' regular_express.txt
  • • 匹配行首不是字母的行:grep -n '^[^a-zA-Z]' regular_express.txt(第1行和第21行)
  • • 匹配行尾为小数点的行:grep -n '\.$' regular_express.txt(小数点是特殊字符,需用\转义)
  • • 匹配空白行grep -n '^$' regular_express.txt(仅最后一行匹配)

实用场景:查看配置文件时,过滤注释行(#开头)和空白行,只显示有效配置:

grep -v '^$' /etc/syslog.conf | grep -v '^#'

3.4 任意字符.与重复字符*:匹配不确定的字符

  • • .:代表任意一个字符(必须有一个,不能为空);
  • • *:代表重复前一个字符0次或无限次,需和其他字符搭配使用。

示例1:匹配g??d形式的字符串(g和d之间有2个任意字符):

grep -n 'g..d' regular_express.txt  # 匹配good、glad等

示例2:匹配至少含2个o的字符串,用oo*(第一个o必选,第二个o可重复):

grep -n 'oo*' regular_express.txt

示例3:匹配任意字符组合,用.*.是任意字符,*是重复,合起来表示“0个或多个任意字符”)。比如匹配以g开头、g结尾的字符串:

grep -n 'g.*g' regular_express.txt

3.5 限定重复次数{}:精准控制字符重复次数

*只能表示0次或无限次,若要限定具体重复范围,需用{},语法为:

  • • {n}:重复前一个字符n次
  • • {n,m}:重复前一个字符n到m次
  • • {n,}:重复前一个字符至少n次

注意:{}在Shell中有特殊含义,需用\转义(即\{n\}\{n,m\})。

  • • 示例1:匹配含2个o的字符串:grep -n 'o\{2\}' regular_express.txt
  • • 示例2:匹配g后接2-5个o再接g的字符串:grep -n 'go\{2,5\}g' regular_express.txt
  • • 示例3:匹配g后接至少2个o再接g的字符串:grep -n 'go\{2,\}g' regular_express.txt

3.6 基础正则语法汇总表

特殊字符
含义
示例
^word
行首为word
grep -n '^#' regular_express.txt
word$
行尾为word
grep -n '!$' regular_express.txt
.
任意一个字符
grep -n 'g..d' regular_express.txt
|转义特殊字符
grep -n '.$' regular_express.txt
*
重复前一个字符0次/无限次
grep -n 'oo*' regular_express.txt
[list]
匹配list中任意一个字符
grep -n 't[ae]st' regular_express.txt
[n1-n2]
匹配n1到n2的连续字符
grep -n '[0-9]' regular_express.txt
[^list]
不匹配list中任意一个字符
grep -n '[^g]oo' regular_express.txt
{n,m}
重复前一个字符n-m次
grep -n 'go{2,5}g' regular_express.txt

四、延伸正则表达式:简化复杂匹配

基础正则能解决大部分问题,但遇到多条件“或”匹配精准重复群组时,写法繁琐,而延伸正则表达式通过新增特殊字符,让复杂匹配更简洁。

延伸正则需用egrepgrep -E执行(egrepgrep -E的别名,更易记),核心特殊字符如下:

4.1 +:重复前一个字符至少1次

*的区别:*可重复0次,+必须至少1次。比如匹配godgoodgoood等(g和d之间至少1个o):

egrep -n 'go+d' regular_express.txt

4.2 ?:重复前一个字符0次或1次

适用于匹配“可有可无”的字符,比如匹配gdgod(g和d之间0个或1个o):

egrep -n 'go?d' regular_express.txt

4.3 |:多条件“或”匹配

这是延伸正则的实用功能,可同时匹配多个字符串,替代多次grep操作。比如同时匹配gdgooddog

egrep -n 'gd|good|dog' regular_express.txt

实用场景:一次性过滤注释行和空白行,替代两次反向匹配:

egrep -v '^$|^#' regular_express.txt

4.4 ():分组匹配

()用于将多个字符归为一个群组,结合|可实现群组间的或匹配。比如同时匹配gladgood,两者共同部分是g?d,将中间的laoo分组:

egrep -n 'g(la|oo)d' regular_express.txt

4.5 ()+:重复匹配整个群组

表示整个群组重复至少1次,适用于匹配连续的群组字符串。比如匹配AxyzxyzC(A开头、C结尾,中间至少1个xyz):

echo 'AxyzxyzxyzC' | egrep 'A(xyz)+C'

五、正则的延伸应用:文件格式化与比对

掌握正则核心语法后,再学习几个文件处理实用技巧:格式化输出printf、文件比对diff/cmp、补丁制作patch,让文本处理更完整。

5.1 printf:格式化输出,让数据更整齐

printf是比echo更强大的输出工具,可自定义格式,常用于结构化数据展示,语法:

printf '格式化规则' 实际内容

常用格式化规则:

  • • %ns:n个字符的字符串;
  • • %ni:n个字符的整数;
  • • %n.mf:总长度n,保留m位小数的浮点数;
  • • \t:Tab键,\n:换行。

示例:创建printf.txt存储成绩数据,用printf格式化输出:

# printf.txt内容
Name Chinese English Math Average
DmTsai 80 60 92 77.33
VBird 75 55 80 70.00
Ken 60 90 70 73.33
# 格式化输出,列对齐

printf
 '%10s %5i %5i %5i %8.2f \n' $(cat printf.txt | grep -v Name)

5.2 diff/cmp:文件比对,找出版本差异

  • • diff按行比对纯文本文件,适用于找出版本间的行差异。比如比对新旧配置文件:

# 比对passwd.old和passwd.new的差异

diff passwd.old passwd.new

还能比对整个目录的差异:

diff /etc/rc3.d/ /etc/rc5.d/
  • • cmp按字节比对任意文件(包括二进制文件),快速找到第一个差异点:
    # 比对两个文件的第一个差异:cmp passwd.old passwd.new

5.3 patch:制作补丁,实现版本升级

结合diff制作补丁文件,可将旧版本文件快速升级为新版本,避免重复修改:

  1. 1. 制作补丁:用diff -Naur生成标准化补丁(.patch):
    diff -Naur passwd.old passwd.new > passwd.patch
  2. 2. 应用补丁:将旧文件升级为新版本:
    patch -p0 < passwd.patch
  3. 3. 回滚补丁:将新版本恢复为旧版本:
    patch -R -p0 < passwd.patch

正则表达式是Linux中最强大的文本处理工具之一,看似有入门门槛,但只要掌握基础语法和实用工具,就能让繁琐的文本处理工作变得高效简洁。从今天开始,把正则融入日常操作,你会发现处理日志、筛选文本、比对文件都能事半功倍!

相关阅读:
Linux sed命令详细教程
awk核心命令行参数详解

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-01 05:09:18 HTTP/2.0 GET : https://f.mffb.com.cn/a/476804.html
  2. 运行时间 : 0.130670s [ 吞吐率:7.65req/s ] 内存消耗:4,855.69kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9dd30e8dfbfbe9cb5508d25288068c0f
  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.000553s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000741s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000323s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000295s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000681s ]
  6. SELECT * FROM `set` [ RunTime:0.000296s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000655s ]
  8. SELECT * FROM `article` WHERE `id` = 476804 LIMIT 1 [ RunTime:0.001622s ]
  9. UPDATE `article` SET `lasttime` = 1772312958 WHERE `id` = 476804 [ RunTime:0.000972s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000291s ]
  11. SELECT * FROM `article` WHERE `id` < 476804 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000437s ]
  12. SELECT * FROM `article` WHERE `id` > 476804 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000422s ]
  13. SELECT * FROM `article` WHERE `id` < 476804 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001004s ]
  14. SELECT * FROM `article` WHERE `id` < 476804 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000761s ]
  15. SELECT * FROM `article` WHERE `id` < 476804 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003528s ]
0.132205s