技术随笔
Termux 高级终端安装使用配置教程
本文档使用 MrDoc 发布
-
+
首页
Termux 高级终端安装使用配置教程
## Termux 高级终端安装使用配置教程 > 🟣使用的是国光的termux > > 下载链接 > ``` > https://www.coolapk.com/apk/com.termux > ``` ## 基本命令 > Termux 除了支持 **apt** 命令外,还在此基础上封装了 pkg 命令,pkg 命令向下兼容 **apt** 命令。**apt** 命令大家应该都比较熟悉了,这里直接简单的介绍下 pkg 命令: ```bash pkg search <query> # 搜索包 pkg install <package> # 安装包 pkg uninstall <package> # 卸载包 pkg reinstall <package> # 重新安装包 pkg update # 更新源 pkg upgrade # 升级软件包 pkg list-all # 列出可供安装的所有包 pkg list-installed # 列出已经安装的包 pkg show <package> # 显示某个包的详细信息 pkg files <package> # 显示某个包的相关文件夹路径 ``` ## 软件安装 > 除了通过上述的 **pkg** 命令安装软件以外,如果我们有 **.deb** 软件包文件,也可以使用 **dpkg** 进行安装。 ```bash dpkg -i ./package.de # 安装 deb 包 dpkg --remove [package name] # 卸载软件包 dpkg -l # 查看已安装的包 man dpkg # 查看详细文档 ``` ## 目录结构 ```bash echo $HOME /data/data/com.termux/files/home echo $PREFIX /data/data/com.termux/files/usr echo $TMPPREFIX /data/data/com.termux/files/usr/tmp/zsh ``` > 长期使用 Linux 的朋友可能会发现,这个 HOME 路径看上去和我们电脑端的不太一样,这是为了方便 Termux 提供的特殊的环境变量。 ## 端口查看 ### Android 10 以下版本 Andorid 10 以下的版本是可以正常使用 netstat 命令的,这样可以方便的查看端口开放信息: ```bash # 查看所有端口 netstat -an # 查看3306端口的开放情况 netstat -an|grep 3306 ``` ### Android 10 版本 Andorid 10 版本的 Termux 下无法正常使用 netstat -an 命令,国光的解决方法是安装一个 nmap,然后扫描本地端口(弯道超车): ```bash # 安装nmap端口扫描神器 pkg install nmap # 扫描本地端口 nmap 127.0.0.1 ``` ## 更换国内源 > 使用 **pkg update** 更新一下的时候发现默认的官方源网速有点慢,在这个喧嚣浮躁的时代,我们难以静下心等待,这个时候就得更换成国内的 **Termux** 清华大学源了,加快软件包下载速度。 ### 方法一:自动替换(推荐) > ##green## > 🟢可以使用如下命令自动替换官方源为 **TUNA** 镜像源 ```bash sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list pkg update ``` > 🟣更换源几秒钟就可以执行完 **pkg update** 了,心里顿时乐开了花。 ## 终端配色方案 > ##green## > 🟢 > 该脚本主要使用了 **zsh** 来替代 **bash** 作为默认 **shell**,并且支持色彩和字体样式,同时也激活了外置存储,可以直接访问 **SD** 卡下的目录。主题默认为 **agnoster**,颜色样式默认为 **Tango**,字体默认为 **Ubuntu**。 ```bash sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" ``` 如果因为不可抗力的原因,出现 port 443: Connection refused 网络超时的情况,那么执行下面国光迁移到国内的地址的命令即可: ```bash sh -c "$(curl -fsSL https://html.sqlsec.com/termux-install.sh)" ``` 手机 **App** 默认只能访问自己的数据,如果要访问手机的存储,需要请求权限,如果你刚刚不小心点了拒绝的话,那么可以执行以下命令来重新获取访问权限: ```bash termux-setup-storage ``` 脚本允许后先后有如下两个选项: ```bash Enter a number, leave blank to not to change: 14 Enter a number, leave blank to not to change: 6 ``` > 分别选择**色彩样式**和**字体样式**,重启 Termux app 后生效配置。不满意刚刚的效果,想要继续更改配色方案的话,可以根据下面命令来更改对应的色彩配色方案: - 设置色彩样式: > 输入 **chcolor** 命令更换色彩样式,或者执行 **~/.termux/colors.sh** 命令 - 设置字体 > 运行 **chfont** 命令更换字体,或者执行 **~/.termux/fonts.sh** 命令 ## zsh 主题配色 > 编辑家目录下的**.zshrc** 配置文件 ```bash $ vim .zshrc ``` 第一行可以看到,默认的主题是 **agnoster** 主题:  实际上这个主题也蛮酷的,如果你还想更换其他主题的话,那么在**.oh-my-zsh/themes** 目录下放着 **oh-my-zsh** 所有的主题配置文件,只要将默认的 **agnoster** 更换为其他的主题文件名即可。 主题比较多,国光这里就不列举了,感兴趣大家可以一个个尝试去看看。 当然如果你是个变态的话,可以尝试 random 主题,每打开一个会话配色主题都是随机的。 ```bash ZSH_THEME="random" ``` > 🟣如果 **oh-my-zsh** 主题满足不了你们的话,**Github** 上还有很多高度定制的主题,感兴趣的朋友可以自己去折腾研究看看。 ## 超级管理员身份 实际上 Termux 不需要 root 权限也可以折腾各种各样的操作的,大家不必对 root 抱有啥幻想,本文的操作基本上没有涉及到手机要用到 root 的地步。 ### 手机没有 root 利用 **proot** 可以为手机没有 root 的用户来模拟一个 root 的环境,这里主要是经典的 **Linux** 文件系统布局上的模拟。 ``` pkg install proot -y ``` 然后终端下面输入: ``` termux-chroot ``` 即可模拟 **root** 环境,该环境模仿 Termux 中的常规 Linux 文件系统,但是不是真正的 root。 输入 **exit** 可回到普通用户的文件系统。 ## SSH ### 安装 openssh ```bash pkg install openssh ``` ### 电脑 ssh 连接 Termux 这个使用场景比较少,但是既然要打造中国的 Termux 文档的效果,还是一起写上去吧,首先确保你已经安装了 openssh 软件包,没有安装的话参考上一个小结进行安装,实现这个效果有两大种方法: 1. SSH 通过密码认证连接 2. SSH 通过公私钥连接 1. PC 端生成公私钥,然后将 公钥 拷贝到 Termux 中,通过公私钥连接。 2. Termux 端生成公私钥,然后将 私钥拷贝到 PC 中,通过公私钥连接。 ### 启动 ssh 服务 > 安装完成后,**sshd** 服务默认没有启动,所以得手动启动下: ```bash sshd ``` > ##green## > 🟢因为手机上面低的端口有安全限制,所以这里 openssh 默认的 sshd 默认的服务端口号为 **8022** ### 停止 ssh 服务 如果需要停止 ssh 服务,只需要 **kill** 杀掉进程即可: ```bash pkill sshd ``` ## 开发环境搭建 ### Vim > 🟣Vim 被称为编辑器之神,基本上 Linux 发行版都会自带 Vim,这个在前文基本工具已经安装了,如果你没有安装的话,可以使用如下命令安装: ```bash pkg install vim ``` > 🟣并且官方也已经封装了 **vim-python**,对 Python 相关的优化。 ```bash pkg install vim-python ``` - 解决汉字乱码 > 如果你的 Vim 打开汉字出现乱码的话,那么在家目录 (~) 下,新建.vimrc 文件 ``` vim .vimrc ``` > 添加内容如下: ``` set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1 set enc=utf8 set fencs=utf8,gbk,gb2312,gb18030 ``` > 然后 source 下变量 ```bash source .vimrc ``` ### Java > ##green## > 🟢Termux 早期原生编译 JAVA 只能使用 **ecj** (Eclipse Compiler for Java) 和 **dx** 了,然后使用 Android 自带的 dalvikvm 运行。后面 Termux 官方也封装了 openjdk-17 这样安装起来就更方便了。 > > 还有如果想要完整体验 JAVA 环境的话,另一个方法就是 Termux 里面安装一个完整的 Linux 系统,然后在 Linux 里面运行 Java,安装系统部分下面文章会详细介绍,这种思路也是可以的。 #### Openjdk-17 ```bash Openjdk-17 ``` > 当然这个包可能不太稳定。 ### PHP > ##green## > 🟢PHP 是一种开源的脚本语言,适用于网络开发。语法借鉴吸收 C 语言、Java 和 Perl 等流行计算机语言的特点,易于学习,PHP 是世界上最好的语言(手动狗头)。 #### 安装 PHP Termux 官方封装了 PHP,所以我们安装起来就很方便: ``` pkg install php ``` 安装完成后查看下版本信息: ``` php --version ``` #### 运行测试文件 > ##green## > 🟢自 **PHP5.4** 之后 PHP 内置了一个 Web 服务器。在 Termux 下可以很方便地测试 PHP 文件 首先在家 (~) 目录下建一个 www 文件夹,然后在 www 文件夹下新建一个 index.php 文件,内容为: ```php <?php phpinfo();?> ``` 完整的步骤如下: ``` # 新建 www 文件夹 mkdir ~/www # 创建 inedx.php 文件 echo '<?php phpinfo();?>' > ~/www/index.php ``` 编写完成 **index.php** 文件后,尝试使用 PHP 内置的 WebServer 直接启动: ``` # 进入家目录 cd ~ # 启动 WebServer php -S 0.0.0.0:8888 -t www/ ``` 自己制定端口后,浏览器访问 **http://127.0.0.1:8888** ### Python > ##green## > 🟢Python 是近几年非常流行的语言,Python 相关的书籍和资料也如雨后春笋一般不断涌现,带来了活跃了 Python 学习氛围。 #### 安装 Python3 Termux 安装 Python 默认版本是 Python3 的版本,与此同时也顺便安装了 **clang** ``` pkg install python -y ``` #### 注意版本区分 > ##green## > 🟢如果你同时安装了 Python3 和 Python2 版本的话,最好向下图中这样验证一下各个版本情况,做到心知肚明 ### MariaDB (MySQL) > ##green## > 🟢MariaDB 是 MySQL 关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在 GNU GPL 下开源。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 #### 安装 MariaDB Termux 官方也封装了 MariaDB,所以安装起来很方便: ```bash pkg install mariadb ``` #### 初始化数据库 > ##green## > 🟢早期的 Termux 安装完 MySQL 是需要初始化数据库的,新版本在安装时候就已经初始化了数据库 #### 启动 MySQL 服务 > ##green## > 🟢因为正常启动完成后,MySQL 这个会话就一直存活,类似与 Debug 调试一样,此时使用 **Ctrl + C** -> 中止当前进程也无济于事,体验式就一点都不优雅,所以这里国光使用 Linux 自带的 **nohup** 命令将其放到后台启动。 ```bash nohup mysqld & ``` #### 停止 MySQL 服务 Termux 下没有好的办法退出 MySQL 服务,只能强制杀掉进程了,使用如下命令格式可以轻松杀掉进程: ```bash kill -9 `pgrep mysql` ``` #### 远程登录 MySQL ```bash grant all on *.* to root@'%' identified by 'lizhanqi0228' with grant option; flush privileges; ``` ### Nginx > ##green## > 🟢Nginx 是一个高性能的 Web 和反向代理服务器,Nginx 用的熟悉的话,下面搭建各种网站也就轻而易举了。 #### 安装 Nginx Termux 安装 Nginx 也很简单,一条命令即可: ```bash pkg install nginx ``` #### 测试 Nginx 测试检查 Nginx 的配置文件是否正常: ```bash nginx -t ``` #### 启动 Nginx ```bash nginx ``` > 🟣 > > Termux 在 Nginx 上默认运行的端口号是 **8080**, 使用 pgrep 命令也可以查看 Nginx 进程相关的 PID 号。 > > 然后手机本地直接访问 http://127.0.0.1:8080 查看 Nginx 是否正常启动 #### 重启 Nginx 一般当修改完 Nginx 相关的配置文件时,我们需要重启 Nginx,使用如下命令即可重启: ```bash nginx -s reload ``` #### 停止 Nginx - 方法一 原生停止 ```bash nginx -s stop ``` **或者** ```bash nginx -s quit ``` > ##green## > 🟢quit 是一个优雅的关闭方式,Nginx 在退出前完成已经接受的连接请求。Stop 是快速关闭,不管有没有正在处理的请求。 - 方法二 杀掉进程 ~~只需三番钟,里造会干我一样,爱象节款游戏~~ 扯远了,只需要 1 条命令,即可优雅的终止掉 Nginx 服务: ```bash kill -9 `pgrep nginx` ``` #### Nginx 解析 PHP > ##green## > 🟢Termux 下的 Nginx 解析 PHP 这里单独拿出一级标题来叙述,成功解析的话,下面安装 wordpress 等 PHP 网站就会轻松很多。 ##### 安装 php-fpm > Nginx 本身不能处理 PHP,它只是个 Web 服务器,当接收到 PHP 请求后发给 PHP 解释器处理。Nginx 一般是把请求转发给 fastcgi 管理进程处理,PHP-FPM 是一个 PHP FastCGI 管理器,所以这里得先安装它: ```bash pkg install php-fpm ``` 安装完成顺便检查一下版本信息吧: ```bash php-fpm -v ``` ##### 配置 php-fpm > ##green## > 🟢编辑 php-fpm 的配置文件 **www.conf**: ```bash vim $PREFIX/etc/php-fpm.d/www.conf ``` 定位搜索 **listen =** 找到 ``` listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock ``` 将其改为: ``` listen = 127.0.0.1:9000 ``` ???啥 你不会使用 vim 搜索 ㄟ (▔,▔) ㄏ 那就老老实实一个个翻页吧。 ##### 配置 Nginx 编辑 Nginx 的配置文件 **nginx.conf**: ``` vim $PREFIX/etc/nginx/nginx.conf ``` 下面国光贴出配置好的完整配置文件,大家可以参考下面这些图,只需要两大步骤: 1. 添加 **index.php** 到默认首页的规则里面:  2. 取消 **location ~ \.php$** 这些注释,按照图片上的 提示修改:  Termux 里面的 Nginx 默认网站的根目为: ```bash /data/data/com.termux/files/usr/share/nginx/html ``` 如果想要修改默认路径的话 只需要在配置文件中 替换 2 处出现的这个路径即可 下面贴一份完整的配置文件: ```nginx worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8080; server_name localhost; location / { root /data/data/com.termux/files/usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /data/data/com.termux/files/usr/share/nginx/html; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/data/com.termux/files/usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } } } ``` ##### 测试 PHP 解析 > ##green## > 🟢Nginx 默认网站的根目录为: ``` /data/data/com.termux/files/usr/share/nginx/html ``` 在这个网站根目录下新建 **info.php** 内容为:**<?php phpinfo(); ?>** ``` echo '<?php phpinfo(); ?>' > $PREFIX/share/nginx/html/info.php ``` ##### 启动服务 先启动 php-fpm 服务: ``` php-fpm ``` 然后再启动 Nginx 服务: ``` nginx ``` > 🟣如果你的 Nginx 已经启动了的话,使用 **nginx -s reload** 重启 Nginx
limuzi
2025年6月11日 14:32
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码