当前位置:首页>Linux>Linux Shell三剑客深度解析

Linux Shell三剑客深度解析

  • 2026-02-08 01:24:12
Linux Shell三剑客深度解析
一、三剑客概述
Linux Shell三剑客指的是三个强大的文本处理工具:
  1. grep - 文本搜索工具
  2. awk - 文本处理和数据提取工具  
  3. sed - 流编辑器
二、grep - 文本搜索之王
2.1 基础搜索功能
#!/bin/bash
grep-basic-usage.sh

echo"=== grep 基础搜索功能 ==="

# 创建测试文件
cat > test_grep.txt << 'EOF'
Linux shell programming is powerful
grepisa text search tool
AWK isfor pattern processing
SED isa stream editor
Find isforfile searching
Linux isopensource
Grep can use regular expressions
linux is case sensitive
EOF

echo"测试文件内容:"
cat test_grep.txt
echo"----------------------------------------"

1. 基本搜索
echo"1. 搜索包含 'Linux' 的行:"
grep"Linux" test_grep.txt

2. 忽略大小写
echo -e"\n2. 忽略大小写搜索 'linux':"
grep -i "linux" test_grep.txt

3. 显示行号
echo -e"\n3. 显示行号搜索 'is':"
grep -n "is" test_grep.txt

4. 反向搜索(不包含)
echo -e"\n4. 不包含 'is' 的行:"
grep -v "is" test_grep.txt

5. 统计匹配行数
echo -e"\n5. 统计 'Linux' 出现次数:"
grep -c"Linux" test_grep.txt

6. 显示匹配的上下文
echo -e"\n6. 显示匹配行及前后1行:"
grep -C1 "grep" test_grep.txt

# 清理
rm test_grep.txt
2.2 高级正则表达式
#!/bin/bash
# grep-advanced-regex.sh

echo"=== grep 高级正则表达式 ==="

# 创建测试文件
cat > regex_test.txt << 'EOF'
hello world
hello123
hello_world
hello-world
hello.world
hell o world
heLLo
hElLo
123hello
hello
helloo
hellooo
helloooo
EOF

echo"测试文件内容:"
cat regex_test.txt
echo"----------------------------------------"

# 1. 单词边界匹配
echo"1. 精确匹配 'hello':"
grep -w "hello" regex_test.txt

# 2. 正则表达式匹配
echo -e "\n2. 匹配 'hello' 后跟数字:"
grep "hello[0-9]" regex_test.txt

# 3. 扩展正则表达式
echo -e "\n3. 匹配 'hello' 重复2-4次:"
grep -E "hello{2,4}" regex_test.txt

# 4. 行首匹配
echo -e "\n4. 以 'hello' 开头的行:"
grep "^hello" regex_test.txt

# 5. 行尾匹配  
echo -e "\n5. 以数字结尾的行:"
grep "[0-9]$" regex_test.txt

# 6. 字符类匹配
echo -e "\n6. 包含特殊字符的行:"
grep "[_\-\.]" regex_test.txt

# 7. 分组和或操作
echo -e "\n7. 包含 'world' 或 '123':"
grep -E "world|123" regex_test.txt

# 8. 复杂模式匹配
echo -e "\n8. 匹配 'h' 开头 'o' 结尾的单词:"
grep -E "h.*o" regex_test.txt

# 清理
rm regex_test.txt
2.3 实战应用案例
#!/bin/bash
# grep-practical-examples.sh

echo"=== grep 实战应用案例 ==="

# 案例1: 日志分析
echo"1. 🔍 分析Apache日志中的404错误:"
if [ -f /var/log/apache2/access.log ]; then
    grep "404" /var/log/apache2/access.log | head -5
else
echo"Apache日志文件不存在,创建示例..."
    cat > apache_sample.log << 'EOF'
192.168.1.1 - - [10/Jan/2024:10:00:00] "GET /index.html HTTP/1.1" 200 1234
192.168.1.2 - - [10/Jan/2024:10:01:00] "GET /nonexistent.html HTTP/1.1" 404 234
192.168.1.3 - - [10/Jan/2024:10:02:00] "POST /submit.php HTTP/1.1" 200 5678
192.168.1.1 - - [10/Jan/2024:10:03:00] "GET /error.html HTTP/1.1" 404 345
192.168.1.4 - - [10/Jan/2024:10:04:00] "GET /image.jpg HTTP/1.1" 200 9876
EOF
    grep "404" apache_sample.log
fi

# 案例2: 配置文件检查
echo -e "\n2. 🔧 检查SSH配置中的关键设置:"
if [ -f /etc/ssh/sshd_config ]; then
    grep -E "^Port|^PermitRootLogin|^PasswordAuthentication" /etc/ssh/sshd_config
else
echo"SSH配置文件不存在"
fi

# 案例3: 进程监控
echo -e "\n3. 📊 监控特定进程:"
echo"Java进程:"
ps aux | grep -i java | head -3

echo -e "\nNginx进程:"
ps aux | grep -i nginx | head -3

# 案例4: 代码搜索
echo -e "\n4. 💻 在项目中搜索函数定义:"
# 模拟代码搜索
cat > sample_code.py << 'EOF'
def calculate_sum(a, b):
return a + b

def calculate_product(x, y):
return x * y

class Calculator:
    def __init__(self):
        pass

    def divide(self, a, b):
if b != 0:
return a / b
EOF

echo"搜索函数定义:"
grep -n "^def " sample_code.py

# 案例5: 系统信息提取
echo -e "\n5. 🖥️  提取系统信息:"
echo"CPU信息:"
grep -E "model name|cpu cores" /proc/cpuinfo | head -2

echo -e "\n内存信息:"
grep -E "MemTotal|MemFree" /proc/meminfo

# 清理
rm -f apache_sample.log sample_code.py
三、awk - 文本处理神器
3.1 基础awk语法
#!/bin/bash
# awk-basic-syntax.sh

echo"=== awk 基础语法 ==="

# 创建测试数据
cat > employee_data.txt << 'EOF'
张三 25 男 开发部 8000
李四 30 女 测试部 7000
王五 28 男 运维部 9000
赵六 35 女 开发部 8500
钱七 22 男 测试部 6500
EOF

echo"员工数据:"
cat employee_data.txt
echo"----------------------------------------"

# 1. 基本打印
echo"1. 打印所有行:"
awk '{print}' employee_data.txt

# 2. 打印特定字段
echo -e "\n2. 打印姓名和工资:"
awk '{print $1, $5}' employee_data.txt

# 3. 使用内置变量
echo -e "\n3. 显示行号和内容:"
awk '{print NR, $0}' employee_data.txt

# 4. 条件过滤
echo -e "\n4. 工资大于8000的员工:"
awk '$5 > 8000 {print $1, $5}' employee_data.txt

# 5. 模式匹配
echo -e "\n5. 开发部员工:"
awk '/开发部/ {print $0}' employee_data.txt

# 6. BEGIN和END块
echo -e "\n6. 统计信息:"
awk 'BEGIN {print "开始处理数据..."} 
     {total += $5; count++} 
     END {print "处理完成"; print "平均工资:", total/count}'
 employee_data.txt

# 清理
rm employee_data.txt
3.2 高级awk功能
#!/bin/bash
# awk-advanced-features.sh

echo"=== awk 高级功能 ==="

# 创建复杂测试数据
cat > sales_data.txt << 'EOF'
2024-01-01 产品A 北京 1000
2024-01-01 产品B 上海 1500
2024-01-02 产品A 广州 800
2024-01-02 产品C 深圳 2000
2024-01-03 产品B 北京 1200
2024-01-03 产品A 上海 900
2024-01-04 产品C 广州 1800
EOF

echo"销售数据:"
cat sales_data.txt
echo"----------------------------------------"

# 1. 数组使用
echo"1. 按产品统计销售额:"
awk '{sales[$2] += $4} END {for(product in sales) print product, sales[product]}' sales_data.txt

# 2. 内置函数
echo -e "\n2. 使用内置函数:"
awk '{print "日期:", $1, "长度:", length($1)}' sales_data.txt | head -3

# 3. 字段分隔符控制
echo -e "\n3. 自定义字段分隔符:"
echo"2024-01-01,产品A,北京,1000" | awk -F, '{print $2, $4}'

# 4. 多条件处理
echo -e "\n4. 北京地区的产品A销售:"
awk '$3 == "北京" && $2 == "产品A" {print "北京产品A销售:", $4}' sales_data.txt

# 5. 格式化输出
echo -e "\n5. 格式化报表:"
awk 'BEGIN {printf "%-12s %-8s %-6s %-8s\n", "日期", "产品", "地区", "销售额"}
     {printf "%-12s %-8s %-6s %-8d\n", $1, $2, $3, $4}'
 sales_data.txt

# 6. 字符串操作
echo -e "\n6. 字符串处理:"
awk '{print "产品:", toupper($2), "地区:", substr($3,1,2)}' sales_data.txt

# 7. 数学运算
echo -e "\n7. 数学计算:"
awk '{total += $4; max = $4 > max ? $4 : max} 
     END {print "总销售额:", total, "最高销售额:", max}'
 sales_data.txt

# 清理
rm sales_data.txt
3.3 awk实战案例
#!/bin/bash
# awk-practical-examples.sh

echo"=== awk 实战应用案例 ==="

# 案例1: 系统监控
echo "1. 📊 系统进程内存使用统计:"
ps aux | awk '
NR>1 { 
    mem[$11] += $4
    count[$11]++
}
END {
    print "进程内存使用统计:"
    for (proc in mem) {
        avg = mem[proc] / count[proc]
        printf "%-20s %6.1f%% (平均)\n", proc, avg
    }
}'
 | head -10

# 案例2: 日志分析
echo -e "\n2. 🔍 Nginx访问日志分析:"
cat > nginx_access.log << 'EOF'
192.168.1.1 - - [10/Jan/2024:10:00:00"GET /index.html HTTP/1.1"2001234
192.168.1.2 - - [10/Jan/2024:10:01:00"GET /about.html HTTP/1.1"2005678
192.168.1.1 - - [10/Jan/2024:10:02:00"GET /index.html HTTP/1.1"2001234
192.168.1.3 - - [10/Jan/2024:10:03:00"GET /contact.html HTTP/1.1"404234
192.168.1.2 - - [10/Jan/2024:10:04:00"GET /index.html HTTP/1.1"2001234
EOF

echo "IP访问统计:"
awk '{ip_count[$1]++} END {for(ip in ip_count) print ip, ip_count[ip]}' nginx_access.log

# 案例3: 数据清洗和转换
echo -e "\n3. 🧹 CSV转JSON:"
cat > data.csv << 'EOF'
name,age,department,salary
张三,25,开发部,8000
李四,30,测试部,7000
王五,28,运维部,9000
EOF

echo "CSV转JSON:"
awk -F, '
NR==1 {
    for(i=1;i<=NF;i++) headers[i]=$i
}
NR>1 {
    printf "{\n"
    for(i=1;i<=NF;i++) {
        printf "  \"%s\": \"%s\"", headers[i], $i
        if(i<NF) printf ",\n"
        else printf "\n"
    }
    printf "}"
    if(NR<FNR) printf ",\n"
}'
 data.csv

# 案例4: 系统性能报告
echo -e "\n\n4. 📈 系统性能报告:"
echo "内存使用情况:"
free -m | awk '
NR==2 {total=$2; used=$3; free=$4}
NR==3 {cache=$3}
END {
    printf "总内存: %dMB\n", total
    printf "已使用: %dMB (%.1f%%)\n", used, (used/total)*100
    printf "空闲: %dMB\n", free
    printf "缓存: %dMB\n", cache
}'


# 案例5: 文本处理
echo -e "\n5. 📝 文本格式处理:"
cat > text_data.txt << 'EOF'
John Doe:25:New York:Engineer
Jane Smith:30:London:Designer
Bob Johnson:35:Tokyo:Manager
EOF

echo "格式化输出:"
awk -F: '{
    printf "%-12s: %s\n", "姓名", $1
    printf "%-12s: %s\n", "年龄", $2
    printf "%-12s: %s\n", "城市", $3
    printf "%-12s: %s\n", "职业", $4
    print "----------------"
}'
 text_data.txt

# 清理
rm -f nginx_access.log data.csv text_data.txt
四、sed - 流编辑器
4.1 基础sed操作
#!/bin/bash
# sed-basic-operations.sh

echo"=== sed 基础操作 ==="

# 创建测试文件
cat > sed_test.txt << 'EOF'
Hello World
Linux is great
Sed is powerful
Awk is amazing
Find is useful
Welcome to Linux
EOF

echo"原始文件内容:"
cat sed_test.txt
echo"----------------------------------------"

# 1. 替换操作
echo"1. 替换 'Linux' 为 'Unix':"
sed 's/Linux/Unix/g' sed_test.txt

# 2. 删除操作
echo -e "\n2. 删除包含 'is' 的行:"
sed '/is/d' sed_test.txt

# 3. 插入和追加
echo -e "\n3. 在第一行前插入标题:"
sed '1i\=== 标题 ===' sed_test.txt

echo -e "\n4. 在最后一行后追加结束标记:"
sed '$a\=== 结束 ===' sed_test.txt

# 4. 行范围操作
echo -e "\n5. 替换第2-4行的 'is' 为 'IS':"
sed '2,4s/is/IS/g' sed_test.txt

# 5. 保存修改到文件
echo -e "\n6. 保存修改到新文件:"
sed 's/Linux/UNIX/g' sed_test.txt > sed_modified.txt
echo"修改后的文件:"
cat sed_modified.txt

# 6. 使用正则表达式
echo -e "\n7. 使用正则表达式替换:"
sed 's/^[A-Z]/【&】/g' sed_test.txt

# 清理
rm sed_test.txt sed_modified.txt
4.2 高级sed技巧
#!/bin/bash
# sed-advanced-techniques.sh

echo"=== sed 高级技巧 ==="

# 创建复杂测试文件
cat > config_file.txt << 'EOF'
# Server configuration
ServerName example.com
Port 8080
Timeout 300
MaxClients 100

# Database settings
DB_Host localhost
DB_Port 3306
DB_User root
DB_Password secret

# Log settings
LogLevel info
LogFile /var/log/app.log
EOF

echo"配置文件内容:"
cat config_file.txt
echo"----------------------------------------"

# 1. 模式空间和保持空间
echo"1. 反转文件行顺序:"
sed '1!G;h;$!d' config_file.txt

# 2. 分支和标签
echo -e "\n2. 条件处理:"
sed '/DB_/{
    s/3306/5432/
    s/secret/NEW_PASSWORD/
}'
 config_file.txt

# 3. 多命令执行
echo -

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 16:43:16 HTTP/2.0 GET : https://f.mffb.com.cn/a/463631.html
  2. 运行时间 : 0.189337s [ 吞吐率:5.28req/s ] 内存消耗:4,436.77kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=010e6a4a27d39d8ec69b02c82ff2562f
  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.001035s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001481s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.004377s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003484s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001369s ]
  6. SELECT * FROM `set` [ RunTime:0.002163s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000981s ]
  8. SELECT * FROM `article` WHERE `id` = 463631 LIMIT 1 [ RunTime:0.000581s ]
  9. UPDATE `article` SET `lasttime` = 1770540197 WHERE `id` = 463631 [ RunTime:0.010752s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.008704s ]
  11. SELECT * FROM `article` WHERE `id` < 463631 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001758s ]
  12. SELECT * FROM `article` WHERE `id` > 463631 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000439s ]
  13. SELECT * FROM `article` WHERE `id` < 463631 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005116s ]
  14. SELECT * FROM `article` WHERE `id` < 463631 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000720s ]
  15. SELECT * FROM `article` WHERE `id` < 463631 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000769s ]
0.190967s