termux 内置功能
2026/9/6大约 3 分钟
备份与还原
Backing up Termux - Termux Wiki
# 挂载常用存储以便捷访问,含一些手机常用文件夹
termux-setup-storage
# 输出备份文件:/sdcard/Download/termux-backup.tar.gz
tar -zcf /sdcard/Download/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr
# 使用备份文件还原:/sdcard/Download/termux-backup.tar.gz
tar -zxf /sdcard/Download/termux-backup.tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissionstermux-login.sh 自启动
$PREFIX/etc/termux-login.sh文件会在每个shell会话启动时被执行一次,我们只需要将服务的启动命令追加到$PREFIX/etc/termux-login.sh中即可。
termux-login.sh脚本被执行完毕才会进入shell会话,使用命令将自启动的服务放到后台运行,不然会阻塞前台。
termux-services 守护进程
termux-services是基于runit封装的,支持大部分runit功能及命令,并专门针对Termux特殊结构做了优化。
termux-services会主动监视$PREFIX/var/service/目录,会自动未目录下服务生成守护程序,当服务意外崩溃时,会第一时间将服务重新启动。同时termux-services默认会后台启动服务,并将服务的输出流做重定向。
runit - Frequently asked questions (smarden.org)
# 安装
pkg install termux-services -y
# 相关命令
sv-enable sshd #sshd服务设为自启动
sv-disable sshd #取消sshd自启动
sv down sshd #停止sshd服务,并使本次Termux运行期间sshd自启动服务失效
sv up sshd #启动sshd服务
sv status sshd #查看sshd服务运行状态service 目录结构
$PREFIX/var/service
/服务名/
run ----- shell 文件,无后缀,必须具有可执行权限(chmod +x),下称 run-script
/log/
run ----- shell 文件,无后缀,必须具有可执行权限(chmod +x),下称 run-log- 以sshd为例,
<服务名>就是$PREFIX/var/service/的子目录名,如$PREFIX/var/service/sshd/。
编写自己的 service
export SN=XXX
# 创建服务文件夹,SN:服务名
$ mkdir -p $PREFIX/var/service/$SN
# 配置日志输出 run-log
$ mkdir -p $PREFIX/var/service/$SN/log
$ vim $PREFIX/var/service/$SN/log/run
#!/data/data/com.termux/files/usr/bin/sh
svlogger="/data/data/com.termux/files/usr/share/termux-services/svlogger"
exec "${svlogger}" "$@"
$ chmod +x $PREFIX/var/service/$SN/log/run
## 日志文件被重定向到了目录 $PREFIX/var/log/sv/<SN>官方wiki中,给出了创建软链接实现 run-log 的例子:
$ mkdir -p $PREFIX/var/service/$SN/log
$ ln -sf $PREFIX/share/termux-services/svlogger $PREFIX/var/service/$SN/log/run# 创建 run-script
$ vim $PREFIX/var/service/$SN/run
#!/data/data/com.termux/files/usr/bin/sh
### 启动 shell ...
# 赋予执行权限
$ chmod +x $PREFIX/var/service/$SN/run
$ sv up $SN
# 自启动
$ sv-enable $SN对于启动前台进程的shell,可以直接写入 run-script,使用
cd切换工作目录,如:#!/bin/sh cd ~/filebrowser ./filebrowser -a 0.0.0.0 -p 1888 -r /data/data/com.termux/files对于后台shell,必须以 exec 结尾(将拉起的后台进程交给服务管理器管理),如:
#!/bin/sh exec 2>&1 exec /usr/bin/sshd -D -e(待测验)
run-script 示例脚本
runit - collection of run scripts (smarden.org)
- 需要修改第一行 shell 解释器以符合 termux
- 修改必要的路径以符合 termux
*原生支持的服务
无需额外配置,需要先安装 termux-services,后使用 pkg install 包名 安装即可。
- 自带的 service 的 run-script、run-log 都可能无效。
| 包名 | 进程服务名 | 默认使用端口 | 服务描述 |
|---|---|---|---|
| apache2 | httpd | 8080 | Apache Web Server HTTP Web Server |
| at | atd | AT and batch delayed command scheduling utility and daemon at | |
| bitcoin | bitcoind | Bitcoin Core | |
| busybox | telnetd | 8023 | Remote terminal service Telnet |
| busybox | ftpd | 8021 | FTP (File Transfer Protocol) FTP |
| cronie | crond | Daemon that runs specified programs at scheduled times cron | |
| emacs | emacsd | Extensible, customizable text editor-and more EMACS | |
| ipfs | ipfs | A peer-to-peer hypermedia distribution protocol IPFS | |
| libmosquitto | mosquitto | 1883 | MQTT is a lightweight, publish-subscribe network protocol MQTT |
| lighttpd | lighttpd | 8080 | Lighttpd Small webserver HTTP Web Server |
| lnd | lnd | Lightning Network Daemon | |
| mariadb | mysqld | 3306 | MariaDB Community-developed fork of the MySQL from its original authors |
| mpd | mpd | Music Player Daemon (MPD) | |
| mpdscribble | mpdscribble | MPD client which submits tracks being played | |
| nginx | nginx | 8080 | NGINX Web server HTTP Web Server |
| openssh | sshd | 8022 | OpenSSH SSH |
| postgresql | postgres | 5432 | PostgreSQL database PostgreSQL |
| privoxy | privoxy | Privoxy is non-caching web proxy with advanced filtering capabilities HTTP Proxy | |
| tor | tor | The Onion Router anonymizing overlay network Tor | |
| transmission | transmission | BitTorrent client BitTorrent |