👨🏻‍💻

Termux 高级终端使用配置记录

date
slug
status
tags
手机
备忘
summary
type
Property
Jan 13, 2021 05:55 AM
notion image

简介

Termux 是 Android 下的终端模拟器,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持 Python、 PHP、 Ruby、 Nodejs、 MySQL等。
随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造 DIY 的话完全可以把手机变成一个强大的极客工具。

基础知识

快捷键表

Ctrl键是终端用户常用的按键,但大多数触摸键盘都没有这个按键,因此 Termux 使用音量减小按钮来模拟Ctrl键。例如,在触摸键盘上按音量减小L就相当于是键盘上按Ctrl + L的效果一样,达到清屏的效果。
  • Ctrl + A -> 将光标移动到行首
  • Ctrl + C -> 中止当前进程
  • Ctrl + D -> 注销终端会话
  • Ctrl + E -> 将光标移动到行尾
  • Ctrl + K -> 从光标删除到行尾
  • Ctrl + U -> 从光标删除到行首
  • Ctrl + L -> 清除终端
  • Ctrl + Z -> 挂起(发送SIGTSTP到)当前进程
音量加键也可以作为产生特定输入的特殊键.
  • 音量加 + E -> Esc键
  • 音量加 + T -> Tab键
  • 音量加 + 1 -> F1(音量增加 + 2 → F2…以此类推)
  • 音量加 + 0 -> F10
  • 音量加 + B -> Alt + B,使用readline时返回一个单词
  • 音量加 + F -> Alt + F,使用readline时转发一个单词
  • 音量加 + X -> Alt+X
  • 音量加 + W -> 向上箭头键
  • 音量加 + A -> 向左箭头键
  • 音量加 + S -> 向下箭头键
  • 音量加 + D -> 向右箭头键
  • 音量加 + L -> | (管道字符)
  • 音量加 + H -> 〜(波浪号字符)
  • 音量加 + U -> _ (下划线字符)
  • 音量加 + P -> 上一页
  • 音量加 + N -> 下一页
  • 音量加 + . -> Ctrl + \(SIGQUIT)
  • 音量加 + V -> 显示音量控制
  • 音量加 + Q -> 切换显示的功能键视
  • 音量加 + K -> 切换显示的功能键视图
快捷键用的熟悉的话也可以极大提高操作的效率。
 

基本命令

Termux 除了支持 apt 命令外,还在此基础上封装了pkg命令,pkg 命令向下兼容 apt 命令。
简单的介绍下pkg命令:
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> # 显示某个包的相关文件夹路径

配置

更换镜像源

使用如下命令自动替换官方源为 TUNA 镜像源
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 apt update && apt upgrade
 

定制常用按键

我们可以通过 ~/.termux/termux.properties 文件来定制我们的常用功能按键,注意,默认是不存在这个文件。
# 新建并编辑配置文件 vim ~/.termux/termux.properties # 内容填写,修改完成保存文件后,重启 Termux app 配置才会生效 extra-keys = [ \ ['ESC','|','/','HOME','UP','END','PGUP','DEL'], \ ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','BKSP'] \ ] # 单行 extra-keys = [['ESC','TAB','CTRL','ALT','LEFT','DOWN','UP','RIGHT']]
完整的特殊按键表如下:
CTRL 特殊按键 ALT 特殊按键 FN 特殊按键 ESC 退出键 TAB 表格键 HOME 原位键 END 结尾键 PGUP 上翻页键 PGDN 下翻页键 INS 插入键 DEL 删除键 BKSP 退格键 UP 方向键 上 LEFT 方向键 左 RIGHT 方向键 右 DOWN 方向键 下 ENTER 回车键 BACKSLASH 反斜杠 \ QUOTE 双引号键 APOSTROPHE 单引号键 F1~F12 F1-F12按键
 

修改启动问候语

vim $PREFIX/etc/motd
 

sudo 权限

手机没有 root
利用proot可以为手机没有root的用户来模拟一个root的环境,这里主要是经典的 Linux 文件系统布局上的模拟。
# 安装 proot pkg install proot -y # 执行下面命令即可模拟root环境 termux-chroot
手机已经 root
# 安装 tsu pkg install tsu -y # 执行下面命令即可切换到 root 用户 tsu

软件安装

Vim

# 安装 pkg install vim-python -y

MariaDB (MySQL)

# 安装命令 pkg install mariadb -y
安装完成之后需要编辑 my.cnf 改为 utf8 编码。
# vim /data/data/com.termux/files/usr/etc/my.cnf [mysqld] character-set-server=utf8mb4 [mysql] default-character-set=utf8mb4
# 启动服务 mysqld & # 或 mysqld_safe -u root &
由于 MariaDB 安装之后会默认生成的两个用户,一个 Termux 的用户名,默认密码为空,另外一个无法直接访问的 root 用户。
# 登录 Termux 用户 mysql -u $(whoami) # 修改 root 密码的 SQL语句 use mysql; set password for 'root'@'localhost' = password('你设置的密码'); # 刷新权限 并退出 flush privileges; quit;
 

Nginx

# 安装 pkg install nginx -y # 启动 nginx ,默认端口 8080 nginx # 重新加载配置 nginx -s reload # 停止 nginx -s stop
 

Redis

# 安装 pkg install redis -y # 启动服务 redis-server & # 客户端连接 redis-cli
 

备份/恢复

备份

# Ensure that storage permission is granted: termux-setup-storage # Go to Termux base directory: cd /data/data/com.termux/files rm -rf home/storage # Backing up files: tar -zcvf /sdcard/termux-backup.tar.gz home usr

恢复

# Ensure that storage permission is granted: termux-setup-storage # Go to Termux base directory: cd /data/data/com.termux/files # Extract home and usr with overwriting everything and deleting stale files: tar -zxf /sdcard/termux-backup.tar.gz --recursive-unlink --preserve-permissions

其他问题

bad interpreter: /usr/bin/env: no such file or directory
  • pkg install proot 并且执行 termux-chroot 之后即可正常使用。
  • pkg install termux-exec 然后开启新的会话。