Termux 高级终端安装使用配置教程

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