当前位置:首页>Linux>Termux下的Linux初识

Termux下的Linux初识

  • 2026-06-28 07:38:09
Termux下的Linux初识
↓内容,由Ai撰写而成,仅作阅读分享!
------
一个Windows用户的命令行漂流记
写在前面
如果你和我一样,从小在Windows的图形界面里长大,习惯了鼠标点击、拖拽、双击安装,那么第一次打开Termux的时候,大概率会对着那个黑漆漆的屏幕发呆三秒钟——然后发现连vim都没有。
这篇文章不是一本正经的技术文档,而是我作为一个“Linux小白”的真实学习笔记。我会把踩过的坑、搞不懂的概念、终于搞懂之后的狂喜,都原原本本地写下来。如果你也在尝试用手机学习Linux,希望能给你一点陪伴和启发。
---
一、Linux是什么?——从“一个人的假期项目”说起
1.1 1991年的那个芬兰大学生
1991年,芬兰赫尔辛基大学有个21岁的学生叫林纳斯·托瓦兹。他觉得当时的教学操作系统Minix不够好用,想自己写一个。于是他花了好几个月,写出了Linux内核的第一版。
是的,Linux一开始只是一个人的假期项目。
他把代码放到了互联网上,说:“嘿,朋友们,这是我写的一个小东西,你们可以免费使用,也可以修改它。”然后,全世界的程序员蜂拥而至。今天,Linux内核有超过2000万行代码,贡献者来自全球各地的大小公司和个人。
1.2 Linux到底是个什么“东西”?
你可能听过“Linux是一个操作系统”。严格来说,Linux只是操作系统的内核——内核是负责管理硬件、调度程序、分配内存的那个核心部分。
而我们平时说的“Linux系统”,其实是Linux内核 + GNU工具集 + 各种应用软件的合体。很多人喜欢叫它GNU/Linux。
这就像一辆汽车:内核是发动机,GNU工具(比如bash、grep、ls)是方向盘和刹车,图形界面是车身装饰。缺了哪一样都不完整。
1.3 为什么Linux如此重要?
你今天可能根本没意识到自己在用Linux:
· 全球90%以上的云服务器跑的是Linux
· Android手机的系统内核就是Linux
· 超级计算机TOP500里,100% 运行Linux
· 你的路由器、智能电视、汽车中控,大概率也是Linux
Linux是开源软件的旗帜。它的源代码对所有人开放,你可以自由使用、修改、分发。这造就了一个庞大的生态:从嵌入式设备到巨型数据中心,到处都有它的影子。
1.4 发行版:Linux的“各种口味”
因为Linux是开源的,任何人都可以拿内核加上自己的一套工具,打包成一个发行版。常见的发行版有:
· Ubuntu:最友好的新手发行版
· Debian:稳定著称,Termux的包管理就深受其影响
· CentOS/RHEL:企业服务器常用
· Arch Linux:极简、滚动更新,适合折腾
而在我们手机上,Termux算是一个特殊的“发行版”——它运行在Android之上,提供了一个迷你的Linux环境。
---
二、Termux是什么?——口袋里的Linux实验室
2.1 Termux不是虚拟机
我第一次听说Termux时,以为它类似VirtualBox,在手机上跑一个完整的Linux虚拟机。后来才知道,Termux不是虚拟机,也不是模拟器。
Termux是一个运行在Android上的终端模拟器,外加一套专门为Android编译的Linux软件包。它利用Android的Linux内核(是的,Android内核就是Linux),通过NDK(Native Development Kit)把常用的GNU工具移植到了手机上。
你可以这样理解:
· Android = 一辆自动挡汽车(提供发动机和基础功能)
· Termux = 在仪表盘上开了一个洞,直接给你一个方向盘和手动挡
2.2 Termux的“限制”与“巧妙”
因为Termux运行在普通App的沙盒里,没有root权限,所以它和真正的Linux电脑相比有不少限制:
方面 Termux 电脑Linux
用户权限 普通App权限,无root 完整root/sudo
文件系统 只能访问自己的私有目录 整个文件系统
硬件访问 受Android限制(不能直接驱动硬件) 完整驱动支持
后台运行 会被系统杀进程 可以常驻服务
C库 Bionic(Android的C库) glibc(GNU C库)
但Termux也有自己的“黑科技”:
· 通过termux-api调用手机传感器:可以获取GPS、通知、相机等
· 通过proot-distro运行完整发行版:在不需要root的情况下,模拟出一个完整的Ubuntu/Debian文件系统
· 配合VNC运行图形界面:甚至可以跑轻量级桌面环境
2.3 我的第一个Termux命令
下载Termux(从F-Droid或GitHub,不要从Google Play,旧版已不再维护),打开。
第一件事是更新包管理器:
```bash
pkg update
pkg upgrade
```
然后你可能会想试试ls、cd这些命令,它们都能用。但当你输入vi时,屏幕出现了:
```
The program vi is not installed. Install it by executing:
  pkg install busybox
  pkg install vim
  ...
```
啊这……连vi都没有?原来Termux为了精简,只装了最基础的包,编辑器需要自己安装。
这正是Linux世界的常态:给你一个最简系统,然后让你自己组装工具。
---
三、编辑器之战:nano vs vim
3.1 nano:新手最好的朋友
nano是Termux默认安装的编辑器(如果你选了最小安装,可能也没有,那就pkg install nano)。
nano的设计哲学是“打开就能用”。你会看到屏幕底部有一排快捷键提示:
```
^G 获取帮助  ^O 写入  ^W 搜索  ^K 剪切  ^X 退出
```
^X表示Ctrl+X,按Ctrl+X就会退出。就这么简单。
用nano写一个Python脚本
```bash
nano hello.py
```
输入:
```python
print("Hello from Termux!")
```
按Ctrl+O保存,按Ctrl+X退出。然后运行:
```bash
python hello.py
```
这就是nano的全部:你不需要学习任何额外知识,就能开始写文件。适合快速修改配置、写短小的脚本。
3.2 vim:一座值得攀登的山
vim(Vi IMproved)是经典编辑器vi的增强版。它的学习曲线陡峭得像悬崖,但一旦翻过去,你的编辑效率会成倍提升。
安装vim
```bash
pkg install vim
```
验证安装:
```bash
vim --version
```
你会看到一长串输出,其中有很多+和-,比如+python、-clipboard。不用担心,那些是功能开关,基础使用无需关心。
vim的核心:模式
vim和普通编辑器的最大区别是模式:
· 普通模式:不能打字,只能输入命令(移动光标、删除、复制等)
· 插入模式:可以打字,和普通编辑器一样
· 可视模式:选中文本
· 命令行模式:输入:开头的命令(保存、退出、搜索等)
刚打开vim时,你处于普通模式。想输入文字?按i进入插入模式。想执行命令?按Esc回到普通模式。
新手最常见的困惑是:“我怎么打不了字?”——因为你没按i。
最基础的vim操作(救命手册)
你想要的 按什么
进入插入模式,在光标前打字 i
退出插入模式 Esc
保存文件 :w + 回车
退出vim :q + 回车
保存并退出 :wq 或 ZZ(大写)
不保存强制退出 :q!
删除当前行 dd
复制当前行 yy
粘贴 p
撤销 u
搜索关键词 /关键词 + 回车,按n下一个
替换所有 :%s/旧/新/g
一个完整示例
1. 打开文件:vim test.txt
2. 按i,输入“Hello vim”
3. 按Esc,输入dd——诶,整行删掉了?
4. 按u——撤销,字回来了。
5. 按yy复制行,按p粘贴出一行副本。
6. 按:进入命令行,输入wq保存退出。
为什么要学vim?
vim的学习成本确实高,但收益也大:
· 手不离键盘:所有操作都在主键区,不需要移动右手去按方向键或鼠标
· 组合命令:dw删一个词,ci"删引号里内容并进入插入模式,gg=G全文格式化……这些复合操作非常高效
· 无处不在:ssh登录到任何一台服务器,几乎都有vi或vim;VS Code等编辑器也有vim模拟插件
· 极致轻量:vim本身只有几MB,却能完成IDE级别的文本操作(通过插件)
配置vim:让它更好用
默认vim对新手不太友好(没有行号、没有语法高亮等)。你可以创建一个配置文件~/.vimrc:
```bash
vim ~/.vimrc
```
输入以下内容:
```vim
set number          " 显示行号
syntax on           " 语法高亮
set tabstop=4       " Tab显示为4空格
set expandtab       " Tab自动转空格
set autoindent      " 自动缩进
set cursorline      " 高亮当前行
set incsearch       " 实时搜索
set hlsearch        " 高亮搜索结果
set ignorecase      " 搜索忽略大小写
```
保存退出。以后再打开vim,这些设置会自动生效。
3.3 nano vs vim:我的选择
场景 推荐
改一行配置 nano(快进快出)
写一个50行以内的小脚本 nano 或 vim 都行
写几百行代码,需要频繁重构 vim
远程服务器上没有nano vim(因为基本都有vi)
你今天只想简单记个笔记 nano
我个人的建议:先用nano解决眼前需求,同时每天花15分钟跑一遍vimtutor(Termux里直接输入vimtutor),一两周后你就会发现,自己已经离不开vim了。
---
四、在Termux里写C语言和Python
4.1 安装编译工具
Termux可以安装完整的C/C++开发环境:
```bash
pkg install clang          # C/C++编译器
pkg install make           # 构建工具
pkg install python         # Python解释器
```
验证:
```bash
clang --version
python --version
```
4.2 第一个C程序
```bash
vim hello.c
```
输入:
```c
#include <stdio.h>
int main() {
    printf("Hello from C!\n");
    return 0;
}
```
保存退出,编译运行:
```bash
clang hello.c -o hello
./hello
```
看到“Hello from C!”的那一刻,你会觉得:啊,原来在手机上写C语言这么简单。
4.3 第一个Python程序
```bash
python
>>> print("Hello Python")
>>> exit()
```
或者写脚本:
```bash
nano hello.py
```
```python
import sys
print(f"Hello, Termux on {sys.platform}")
```
```bash
python hello.py
```
Python和C的关系很有意思:Python解释器是用C写的。你写print("hello"),背后Python解释器会调用C语言的printf,printf再通过Linux系统调用把字符输出到终端。
4.4 关于“系统调用”的一点延伸
当你写C程序调用printf,或者Python调用print,最终都会经过一层层封装,到达Linux内核的write系统调用。系统调用是用户程序请求内核服务的唯一接口。
可以用strace追踪这个过程:
```bash
pkg install strace
strace ./hello
```
你会看到密密麻麻的write、open、read等系统调用。这就是用户空间和内核空间的边界。
---
五、踩坑记录:那些让我抓狂的问题
5.1 “pkg update失败,repository is disabled”
有一段时间,我运行pkg update总是报错:
```
N: Metadata integrity can't be verified, repository is disabled now.
E: Failed to fetch ... Clearsigned file isn't valid
```
原因是Termux的默认镜像源有时不稳定,或者签名验证失败。解决方法很简单:
```bash
termux-change-repo
```
方向键选择Main repository,空格选中,然后在镜像列表里选择国内的源(比如清华、中科大镜像)。之后pkg update就正常了。
5.2 “为什么我的Tab键不能补全?”
Termux默认的Tab补全很弱,可以安装bash-completion:
```bash
pkg install bash-completion
```
然后编辑~/.bashrc,添加:
```bash
if [ -f /data/data/com.termux/files/usr/share/bash-completion/bash_completion ]; then
    source /data/data/com.termux/files/usr/share/bash-completion/bash_completion
fi
```
重启Termux,Tab键会变得强大很多。
5.3 “怎么访问手机相册里的文件?”
Termux默认只能访问自己的数据目录。要访问手机共享存储(比如/sdcard/DCIM),先运行:
```bash
termux-setup-storage
```
系统会弹出一个权限请求,同意后,Termux会在~/storage下创建几个符号链接,指向相册、下载等目录。
5.4 “vim里怎么粘贴外部复制的内容?”
Termux的vim默认不带剪贴板支持(-clipboard)。但你可以这样:
· 在插入模式下,长按Termux窗口,选择“粘贴”
· 或者用Termux的额外按键行(Ctrl+Alt等)里的“粘贴”按钮
如果你经常需要复制粘贴,可以考虑用neovim(pkg install neovim),它对剪贴板支持更好。
---
六、进阶:用PRoot运行完整的Ubuntu
Termux虽然好用,但受限于Bionic C库和文件系统布局,有些软件(比如需要glibc的)无法直接运行。这时候可以用PRoot。
PRoot是一个用户空间的chroot实现,不需要root权限,就能在Termux里模拟出一个完整的Linux根文件系统。
6.1 安装proot-distro
```bash
pkg install proot-distro
```
6.2 安装Ubuntu
```bash
proot-distro install ubuntu
```
下载大概几百MB,之后登录:
```bash
proot-distro login ubuntu
```
你会看到提示符变成了root@localhost:~#——恭喜,你现在在一个“真实”的Ubuntu环境里,可以用apt装各种软件了。
6.3 在Ubuntu里安装gcc
```bash
apt update
apt install gcc
```
然后编译C程序,和在真正的Linux电脑上完全一样。
6.4 退出Ubuntu
输入exit即可回到Termux。
PRoot的妙处在于:你可以在Android手机上跑apt、systemctl(虽然systemd不能用)、甚至编译一些原本不支持Bionic的软件。性能会有所下降(因为每个文件操作都要经过一层转发),但对于学习Linux来说,已经绰绰有余。
---
七、Linux的“前世今生”再补充
7.1 GNU:自由软件的基石
Linux内核诞生之前,理查德·斯托曼在1983年发起了GNU项目,目标是创建一个完全自由的操作系统。到1991年,GNU已经完成了几乎所有的用户空间工具(bash、gcc、emacs等),唯独缺少一个自由的内核。
Linux内核填补了这个空缺。所以“Linux系统”严格来说应该是GNU/Linux系统。
7.2 开源许可证的哲学
Linux内核使用GPL(GNU通用公共许可证)。它的核心要求是:如果你分发修改过的Linux内核,你必须也公开你的源代码。
这种“传染性”保证了Linux始终是自由的。但也正是这种自由度,让无数公司和个人能够基于Linux开发产品(比如Android),而不用担心法律问题。
7.3 Linux vs Unix
很多教程说“Linux是类Unix系统”。Unix是上世纪70年代贝尔实验室开发的操作系统,后来商业化了,价格昂贵。Linux从头重写了内核,但遵循了Unix的设计哲学:
· 一切皆文件
· 小工具组合完成复杂任务
· 文本流作为通用接口
这也是为什么你在Linux里看到/etc、/usr、/home这些目录结构——它们继承自Unix。
---
八、写在最后:从用户到创造者的转变
学习Linux,其实不仅仅是学一个操作系统。它更像是一种思维方式的转变:
· 在Windows里,你是软件的使用者,被图形界面引导着点来点去。
· 在Linux里,你逐渐学会用命令精确表达意图,把重复劳动写成脚本,用文本配置文件管理一切。
当你第一次用grep从几千行日志里找出错误信息,第一次用awk处理数据,第一次写一个for循环批量重命名文件,你会发现:原来电脑可以这样听话。
Termux在手机上提供了一个低门槛的入口。你不需要买一台新电脑装Linux,也不需要折腾双系统。只要有一部Android手机,随时随地都可以练习。
从pkg update开始,到学会vim,到编译C程序,到用PRoot跑Ubuntu……我还在路上。
如果你也在这条路上,遇到了什么坑、搞懂了什么新东西,欢迎一起交流。😜
Happy Hacking!
-----
(全文约6800字,记录了作者从零开始学习Termux和Linux的过程。文中所有命令均在Termux中实测通过。如果有错误或改进建议,欢迎指正。)

延伸阅读:

Linux下的编辑双雄

Linux系统概述

为什么中国很少有人使用linux桌面?


Linux 为何永远无法走向主流?

要说系统怎么整漂亮,还得是 Linux!

网友的 Linux 桌面和我的 Linux 桌面!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 00:56:52 HTTP/2.0 GET : https://f.mffb.com.cn/a/499093.html
  2. 运行时间 : 0.169646s [ 吞吐率:5.89req/s ] 内存消耗:4,869.63kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=cd4ad9a8c6afa03fc50fc7ee1ca027de
  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.000643s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000776s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.024947s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001362s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000786s ]
  6. SELECT * FROM `set` [ RunTime:0.005940s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000632s ]
  8. SELECT * FROM `article` WHERE `id` = 499093 LIMIT 1 [ RunTime:0.001188s ]
  9. UPDATE `article` SET `lasttime` = 1783011412 WHERE `id` = 499093 [ RunTime:0.021431s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000455s ]
  11. SELECT * FROM `article` WHERE `id` < 499093 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000636s ]
  12. SELECT * FROM `article` WHERE `id` > 499093 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000401s ]
  13. SELECT * FROM `article` WHERE `id` < 499093 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007490s ]
  14. SELECT * FROM `article` WHERE `id` < 499093 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.031584s ]
  15. SELECT * FROM `article` WHERE `id` < 499093 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001676s ]
0.171290s