当前位置:首页>Linux>每天学一个Linux命令系列(5):rm - 删库跑路前,这些安全措施你做了吗

每天学一个Linux命令系列(5):rm - 删库跑路前,这些安全措施你做了吗

  • 2026-06-30 19:29:53
每天学一个Linux命令系列(5):rm - 删库跑路前,这些安全措施你做了吗
运维少年 · 科技观察

这个命令是干啥的

rm,Remove,删除文件或目录。Linux 里最危险也最让人又爱又恨的命令,没有之一。

我记得刚做运维那会儿,带我的师傅说最经典的一句话就是:rm -rf / 能让你从运维变成"前运维"

后来我自己也踩过坑。有一次想在 /var/log/nginx 下清空日志,本来想打 rm -rf *.log,结果手滑多打了个空格成了 rm -rf * .log. 前面的 * 展开成了所有文件,差点把整个 /var/log 目录的东西都删了。

还有一次同事在跑脚本的时候,脚本里写的是 rm -rf ${DIR}/。结果 $DIR 变量因为某些原因没赋值,变成了 rm -rf /。你们懂的。

从那以后,我对 rm 就充满了敬畏心。安全措施一个都不能少。

基本用法(3分钟上手)

# 删除一个文件
rm file.txt

# 删除多个文件
rm file1.txt file2.txt file3.txt

# 删除目录,-r是recursive递归
rm -r dir_name

# 强制删除,不加-f会让你确认
rm -rf dir_name

# 删除空目录(非空会报错)
rm -d empty_dir

-rf 组合是我敲得最多的,但也是最危险的。每次敲 rm -rf 之前,我都强制自己停一秒,看一眼路径对不对。

删之前确认一下:

# 交互模式,删之前问一句
rm -i file.txt

# 超过3个文件才问
rm -I file1 file2 file3 file4

-i 适合逐个确认的场景,但如果文件很多的话,问几千次你也会烦。-I 是 "少啰嗦" 版,删除超过 3 个文件或者递归删除时问你一次。我一般用 -I,比 -i 干脆,但比什么都没有强。

查看要删什么:

# 用ls先确认一下
ls -la *.log

# 确认没问题再删
rm -f *.log

这条黄金法则记住了:删除前先用 ls 看一眼。有时候你觉得 * 匹配的是 10 个文件,结果其实是 100 个。看一眼心里有数。

进阶骚操作

用 trash-cli 代替 rm:

这个是我最推荐的。把 rm 变成"移到回收站"而不是"真的删掉"。

# 安装trash-cli
sudo apt install trash-cli    # Debian/Ubuntu
sudo yum install trash-cli    # CentOS(可能没有,要装EPEL)

# 使用
trash file.txt
trash dir/

# 列出回收站
trash-list

# 还原文件
trash-restore

# 清空回收站
trash-empty

# 删除7天前的回收站内容
trash-empty 7

我所有服务器上都装了 trash-cli 并且做了别名。

# 在.bashrc或.zshrc里
alias rm='trash'
# 这样每次敲rm,实际上是trash命令
# 但注意:sudo rm 不会走别名,该危险还是危险

不过有些系统的 trash-cli 会把文件移到 ~/.local/share/Trash/,如果文件很大,磁盘很快就满了。所以得搭配 trash-empty 定期清理。

通配符陷阱深度解析:

通配符展开是 shell 干的,不是 rm 的事。shell 先把 * 展开成文件名列表,再把列表传给 rm。

# 你想删所有.txt文件
rm *.txt
# 但如果没有.txt文件,shell展开成空
# 实际上变成了 rm 加上空参数
# rm会报错,不会删东西。但风险在下面...

# 更危险的
rm -rf * .txt
# 注意中间有空格!这其实是两个参数
# * 展开成所有文件,.txt作为第二个文件
# 相当于"删所有文件再加上一个叫.txt的文件"

用 echo 预览展开结果:

# 看看*到底展开成什么
echo *.log

# 或者用ls确认
ls -la *.log

执行 rm 之前先用 echols 看看 * 展开了什么,这个习惯能救你一命。

安全的 rm 写法:

# 在脚本里,先cd到目录再删
cd /target/dir && rm -rf ./some_dir

# 用相对路径比绝对路径安全
rm -rf ./logs   # 只删当前目录下的logs
rm -rf /logs    # 可能会删根目录下的logs

# 路径后不加斜杠,防止变量为空时变成 /
rm -rf "${DIR}"dir_name
# 而不是
rm -rf "${DIR}/dir_name"

/bin/rm vs /usr/bin/rm:

# 查看rm的位置
which rm
# 通常输出 /bin/rm 或 /usr/bin/rm

# 两个文件可能是硬链接或软链接
ls -li /bin/rm /usr/bin/rm

在一些系统里 /bin 是指向 /usr/bin 的软链接。但个别系统有自己的 rm 实现。这些差异在写跨平台脚本的时候要注意。

# 如果你在脚本里需要保证用系统的rm
/bin/rm -rf /some/dir
# 这样可以绕过别名

避坑指南

坑1:rm -rf / 真的能删一切

有些系统有保护,会提示 "rm: it is dangerous to operate recursively on /"。但不是所有系统都有,别指望这个。

# 保护措施
# 在 / 下创建一个叫 -no-preserve-root 的文件?NO!
# 正确方式
alias rm='rm -I --preserve-root'

# --preserve-root 参数让rm拒绝递归删除 /
alias rm='rm -i'

不过这些别名在 sudo 下面是不生效的。sudo rm -rf / 照样删。

坑2:变量为空导致灾难

DIR=
# $DIR没赋值
rm -rf /data/$DIR/logs
# 实际执行: rm -rf /data/logs   (还行)

# 但如果
rm -rf /data/${DIR}/
# 实际执行: rm -rf /data/
# 因为 ${DIR} 为空,变成了 rm -rf /data/

解决方案:判断变量是否为空再执行。

# 安全写法
[ -n "$DIR" ] && rm -rf "/data/$DIR/logs"

# 或者设置默认值
rm -rf "/data/${DIR:?变量为空,拒绝执行}/logs"

# 或者用&&串联
cd "/data/${DIR}" && rm -rf ./*

坑3:rm 删不掉特殊字符文件名的文件

# 文件名是 -r 或 --help 怎么办
touch -- -r
rm -r    # 惨了,rm以为你是让它递归删除

# 正确做法
rm -- -r
# -- 告诉rm后面不是参数了

# 或者用inode删
ls -li
# 找到inode号
find . -inum 123456 -delete

坑4:rm 删不掉"只读"文件系统

# 报了 Read-only file system
rm -f /some/file

# 检查挂载
mount | grep /some

# 重新挂载为读写
mount -o remount,rw /some

遇到这种问题别急着加 -f,先看看文件系统状态。

坑5:误删后别再写磁盘

# 误删了文件
# 1. 马上停止所有写操作
# 2. 用 debugfs 或 extundelete 尝试恢复
# 3. 越早恢复成功率越高

# 如果是文本文件,还在内存里的话
# 看一下有没有进程还在占用
lsof | grep deleted

不过说实话,删掉的文件能不能找回来看运气。所以最好的补救措施是备份

实战场景(重点!结合真实运维场景)

场景一:清理过期日志

公司的日志轮转策略没配好,日志文件越攒越多,磁盘报警了。

# 安全删除30天前的日志
LOG_DIR="/var/log/myapp"
DAYS=30

# 先用find查看要删什么
find "$LOG_DIR" -name "*.log" -mtime +$DAYS -ls

# 确认无误再删
find "$LOG_DIR" -name "*.log" -mtime +$DAYS -delete

# 或者用rm配合find
find "$LOG_DIR" -name "*.log" -mtime +$DAYS -exec rm -f {} \;

find -delete-exec rm 更快更安全。我一般在删之前一定先跑一遍 -ls 确认。

场景二:发布脚本中的安全删除

每次发版前要清理旧文件:

#!/bin/bash
DEPLOY_DIR="/data/app/releases/current"

# 安全删除脚本
safe_clean() {
  local target="$1"
  # 检查路径不为空且存在
  if [ -z "$target" ] || [ ! -d "$target" ]; then
    echo "无效路径: $target" >&2
    return 1
  fi
  # 检查路径不包含关键目录
  if echo "$target" | grep -qE '^(/|/etc|/var|/usr|/bin|/sbin)$'; then
    echo "危险路径: $target" >&2
    return 1
  fi
  # 干正事
  echo "清理: $target"
  rm -rf "$target"
}

# 调用
safe_clean "$DEPLOY_DIR/cache"
safe_clean "$DEPLOY_DIR/tmp"

这个 safe_clean 函数的思路是:路径为空不删,路径不存在不删,路径是系统根目录不删。加了三层保险。

场景三:crontab 自动清理的谨慎写法

# 不安全的cron写法
0 3 * * * rm -rf /tmp/*

# 安全的cron写法
0 3 * * * cd /tmp && find . -maxdepth 1 -mtime +1 -exec rm -rf {} \; 2>/dev/null

cd /tmp && find ... 比直接 rm -rf /tmp/* 安全多了。即使 cd 失败,find 也不会在错误目录执行。

场景四:用户家目录的迁移和清理

离职人员的家目录清理:

#!/bin/bash
USER="old_employee"
HOME_DIR="/home/$USER"
BACKUP_DIR="/data/archived_homes"

# 先备份,再删除
tar czf "$BACKUP_DIR/${USER}_$(date +%Y%m%d).tar.gz" "$HOME_DIR" && \
  echo "备份完成,等待确认后删除" && \
  rm -rf "$HOME_DIR"

# 备份成功后给个确认提示
echo "备份位置: $BACKUP_DIR/${USER}_$(date +%Y%m%d).tar.gz"
echo "请确认后再手动执行: sudo rm -rf $HOME_DIR"

先备份再删除。数据无价,别贪图方便直接删。

今日作业

你的服务器 /data/logs 目录下有大量历史日志文件,需要删除 90 天前的 *.log.gz 文件。

要求:
1. 先用一条命令查看这些文件的总数量和总大小
2. 写一条安全的删除命令(确保不会误删其他文件)
3. 不能用 rm,而是把文件移动到 /tmp/trash_$(date +%Y%m%d) 目录,确认后再执行 rm

你能写出来吗?注意每一步都要确保路径没错。

E N D

运维少年 · 科技观察

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:27:44 HTTP/2.0 GET : https://f.mffb.com.cn/a/501929.html
  2. 运行时间 : 0.131972s [ 吞吐率:7.58req/s ] 内存消耗:4,401.11kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=386536aca9d5da03f1421ff18bc1d97b
  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.000654s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001005s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008438s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006173s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000741s ]
  6. SELECT * FROM `set` [ RunTime:0.000279s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000732s ]
  8. SELECT * FROM `article` WHERE `id` = 501929 LIMIT 1 [ RunTime:0.000589s ]
  9. UPDATE `article` SET `lasttime` = 1783006064 WHERE `id` = 501929 [ RunTime:0.009290s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000458s ]
  11. SELECT * FROM `article` WHERE `id` < 501929 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000779s ]
  12. SELECT * FROM `article` WHERE `id` > 501929 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000672s ]
  13. SELECT * FROM `article` WHERE `id` < 501929 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.015416s ]
  14. SELECT * FROM `article` WHERE `id` < 501929 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001781s ]
  15. SELECT * FROM `article` WHERE `id` < 501929 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001049s ]
0.133839s