Termux笔记
前言⌗
Termux是Android终端模拟器,手机下载安装打开即可。支持 apt、pkg软件包管理,而且完美支持 Python、PHP、Ruby、Go、Nodejs、MySQL 等工具。你还可以用它安装Linux系统,可以做很多事情。第一次是从酷安下载提示网络问题,看评论区知道酷安版不完整。转去play下载。play插件收费,而在F-Droid商店上免费。后面play不再更新,换到F-Droid版。官方有提供 备份和恢复 方案。文章根据国光大佬、酷安分享、p3terx教程,自己总结记录。
termux-setup-storage
cd /data/data/com.termux/files
# 备份
tar -zcvf /sdcard/termux-backup.tar.gz home usr
# 恢复
tar -zxf /sdcard/termux-backup.tar.gz --recursive-unlink --preserve-permissions
转移成功,开屏问候语改变。其他基本没变化。
基本操作⌗
选项和菜单⌗
长按屏幕会调出显示菜单项(包括复制、粘贴、更多),方便我们进行复制或者粘贴。
More 菜单的说明如下:
长按屏幕
├── COPY: # 复制
├── PASTE: # 粘贴
├── More: # 更多
├── Select URL: # 提取屏幕所有网址
└── Share transcipt: # 分享命令脚本
└── Reset: # 重置
└── Kill process: # 杀掉当前会话进程
└── Style: # 风格配色 需要自行安装
└── Keep screen on: # 保持屏幕常亮
└── Help: # 帮助文档
左侧屏幕向右滑出来导航栏,可选收起/弹出键盘,新建/切换会话(session) 。通知栏会显示有多少会话。
常用快捷⌗
音量减模拟 Ctrl 键。下面列一些常用的按键。
Ctrl + A-> 将光标移动到行首Ctrl + C-> 中止当前进程Ctrl + D-> 注销终端会话Ctrl + E-> 将光标移动到行尾Ctrl + K-> 从光标删除到行尾Ctrl + U-> 从光标删除到行首Ctrl + L-> 相当于clear命令,清屏Ctrl + Z-> 挂起(发送 SIGTSTP 到)当前进程
音量加也可以作为产生特定输入的特殊键.
音量加 + E-> Esc键音量加 + T-> Tab键音量加 + 1-> F1(音量增加 + 2→ F2…以此类推)音量加 + 0-> F10
定制常用按键⌗
我们可以通过 ~/.termux/termux.properties 文件来进行定制。默认不存在,先创建这个文件。当时刚下载自己设置(看了教程,已创建目录)失败后卸载。后面安装借用酷安NibaZShab配置好的when,成功设置按键、安装fish终端、screenfetch等。后续有修改,博客做个记录。
自用按键表
extra-keys = [ \ ['ESC','|','/','PGUP','UP','PDDN','END'], \ ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','ENTER'] \ ]
基本命令⌗
Termux 除了支持 apt 命令外,还在此基础上封装了pkg命令,pkg 命令向下兼容 apt 命令。执行 pkg upgrade 相当于执行了 apt update && apt upgrade,简化了操作流程。
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> # 显示某个包的相关文件夹路径
安装一些常用工具,方便后续操作。
pkg i -y curl wget tree vim nano git
修改问候语⌗
vim $PREFIX/etc/motd换成你想显示的。也可以使用touch ~/.hushlogin让它不显示。
目录结构⌗
echo $HOME
/data/data/com.termux/files/home
echo $PREFIX
/data/data/com.termux/files/usr
echo $TMPDIR
/data/data/com.termux/files/usr/tmp/
root权限⌗
可以利用proot可以为手机没有root的用户来模拟一个root的环境。手机已root,推荐使用tsu,pkg install tsu -y。
tsu,这是一个
su的 Termux 版本,是一个真正的root权限,用来在termux上替代su。
缩放文本⌗
进阶配置⌗
adb连接⌗
酷安ID萌系生物研究员分享,安装adb和fastboot。
pkg update
pkg i -y git
cd ~
git clone https://github.com/Magisk-Modules-Repo/adb-ndk.git
cd ./adb-ndk/bin/
mv -f adb.bin adb
chmod +x ./*
mv -f ./* $PREFIX/bin/
cd ~
rm -rf adb-ndk/
可连接其他设备。有在线adb网站,测试需要usb连接手机,在局域网内。
换到F-Droid版,adb提示log文件无权限。新建修改权限,chmod,更改文件目录失败。重新安装可行。简单的方法,点开网络adb调试,有的开发者模式里没有,要借用其他app,需root。adb devices会出来权限弹窗,点接受就可以。
adb disconnect
adb kill-server
adb devices
还不行就三连,重启手机。
ssh服务⌗
同样萌系生物研究员大佬分享的教程。
安装openssh pkg i -y openssh,进行配置。
mkdir -p $PREFIX/etc/ssh/ ; ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 4096 -N '' -m PEM ; cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ; chmod -R 700 ~/.ssh/ ; chmod 600 ~/.ssh/authorized_keys ; echo -e "port 8022\nPrintMotd yes\nPasswordAuthentication no\nSubsystem sftp /data/data/com.termux/files/usr/libexec/sftp-server\nPubkeyAuthentication yes\nPermitRootLogin yes\nAuthorizedKeysFile .ssh/authorized_keys" > $PREFIX/etc/ssh/sshd_config ; pkill sshd ; sshd
设置密码,输入passwd进行设置。记得pkill sshd && sshd重启sshd。
ssh服务网上还有其他教程,国光大佬教程就有电脑/Termux生成密钥的不同方法。
电脑连接termux,ssh 192.168.x.x -p 8022 -i C:id_rsa。Termux不需要设置用户名。win10cmd连接提示Permissions for C:id_rsa are too open 。chmod 600 id_rsa复制到电脑失败,换成400也一样。
传输文件⌗
可以使用SSH自带的scp命令进行文件传输。
复制文件
# scp 本地文件路径 远程主机用户名@远程主机名或IP:远程文件保存的位置路径
scp local_file remote_username@remote_ip:remote_folder
复制目录
# scp -r 本地文件夹路径 远程主机用户名@远程主机名或IP:远程文件夹保存的位置路径
scp -r local_folder remote_username@remote_ip:remote_folder
sftp⌗
一般情况下,开启sshd就会顺带帮你开sftp服务,方便管理termux的内部文件。另外下载termux:api,跟termux对应商店下载,不要混用。装完termux:api的apk后,还需要输pkg i -y termux-api ; cat ~/.ssh/id_rsa | termux-clipboard-set,这时候它会自动把私钥文本复制到剪切板。termux:api的其他用法国光的教程里有详细说明。termux其他插件,boot开机启动,widge桌面小部件etc。
打开solid explorer或其他支持sftp的文件管理器,新建云连接,选择sftp。远程主机名localhost,端口8022。验证方式选SSH私钥,用户名乱填,最后粘贴刚才自动复制的内容。实际路径/data/data/com.termux/files/home。
用termux建立软链接。比如新建QQ下载,这样可以home目录下去访问QQ文件夹。
ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ。删除软链接,用unlink命令。测试unlink QQ可删除。

fish终端alias⌗
照研究员教程加了alias,termux-clipboard-get 获取剪切板内容,termux-clipboard-set 写入剪切板。发现重进就消失。考虑是不是fish要换路径。查阅资料,发现fish是 function 设置。tsu看文件有无创建,同样操作切换为普通账户才能成功创建。
alias get='termux-clipboard-get'
# This is equivalent to entering the following function
function get
termux-clipboard-get $argv
end
# save the function
funcsave get
这样会保存在~/.config/fish/functions文件夹下,名为xx.fish。
结尾⌗
这些还只是冰山一角,使用好Termux可以方便很多。



