Termux
这玩意是啥
Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager
Termux是一个在Android上可直接运行而无需root权限的终端模拟器和Linux环境应用程序。Termux自动安装了最小的基本系统并使用APT软件包管理器(硬是要翻译系列)。
这是我们写Blog的关键APP
该怎么用
具体的使用可以参考Termux 高级终端安装使用配置教程以及Termux 使用教程 #2 - 打造手机上的最强终端
这边列举关键的部分:
文档
下载
如何在Termux中安装软件
安装命令
Termux 除了支持 apt 命令外,还在此基础上封装了pkg命令,pkg 命令向下兼容 apt 命令。
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> # 显示某个包的相关文件夹路径
修改下载源
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
Termux常用
基本工具
git
curl
wget
tree
vim
nano
tmux
htop
pkg i -y git curl wget tree vim nano tmux htop
安装和配置 Oh My Zsh
使用 curl 下载安装
Android 平台
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
其他平台
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
如果出现 port 443: Connection refused
网络超时的情况,那么可以开代理(推荐)或者执行下面国光迁移到国内的地址的命令即可:
sh -c "$(curl -fsSL https://html.sqlsec.com/termux-install.sh)"
Android6.0以上会弹框确认是否授权,允许授权后Termux可以方便的访问SD卡文件。
脚本允许后先后有如下两个选项:
Enter a number, leave blank to not to change: 14
Enter a number, leave blank to not to change: 6
分别选择 背景色
和 字体
想要继续更改挑选配色的话,继续运行脚本来再次筛选:
~/termux-ohmyzsh/install.sh
exit
重启 sessions
会话生效配置
Oh My Zsh 安装完成后会提示你设置 zsh 为默认 sehll 。如果没有提示,输入下面的命令进行设置:
chsh -s zsh
卸载oh-my-zsh命令
uninstall_oh_my_zsh
安装 Oh My Zsh 插件
安装 zsh-syntax-highlighting(代码高亮)
git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
安装 安装 zsh-autosuggestions(自动建议)
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
安装 zsh-completions(自动补全)
git clone https://github.com/zsh-users/zsh-completions $ZSH_CUSTOM/plugins/zsh-completions
zsh-completions 插件还需把 autoload -U compinit && compinit 添加到.zshrc。输入命令可一键添加:
[ -z "`grep "autoload -U compinit && compinit" ~/.zshrc`" ] && echo "autoload -U compinit && compinit" >> ~/.zshrc
把需要启用的插件写入到配置文件中,使用 sed 命令一键操作。如果你有自己想添加的插件,写在括号内即可,插件名称用空格隔开。
sed -i '/^plugins=/c\plugins=(git z zsh-syntax-highlighting zsh-autosuggestions zsh-completions)' ~/.zshrc
最后应用配置
source ~/.zshrc
定制常用按键
新建并编辑配置文件 termux.properties
vim ~/.termux/termux.properties
如果无法创建这个文件,那么得首先新建一下这个目录
vim ~/.termux/termux.properties
如果 vim
提示未安装,使用如下命令安装
pkg install vim
修改该文件内容
extra-keys = [ \
['ESC','|','/','`','UP','QUOTE','APOSTROPHE'], \
['TAB','CTRL','~','LEFT','DOWN','RIGHT','ENTER'] \
]
遇到的问题
如何获取SDCard权限
使用 termux-setup-storage
命令获取
termux-setup-storage
备份与恢复
使用tar将 home和usr目录
备份,恢复时将备份文件移动到 /data/data/com.termux/files
目录下
备份
# 文件存储权限
termux-setup-storage
cd /data/data/com.termux/files
# 打包到/sdcard/Download文件夹
tar -zcvf /sdcard/Download/termux.tar.gz home usr
恢复
cd /data/data/com.termux/files
# 先恢复home目录
rm -rf home
tar -zxvf /sdcard/Download/termux.tar.gz home
# 恢复usr,恢复之前需要删除usr,删除了之后就不能用tar,因此需要使用busyboy。
apt update
apt install busybox
cp ./usr/bin/busybox ./tar
rm -rf usr
./tar -zxvf /sdcard/Download/termux.tar.gz usr
创建目录软连接
ln -s /data/data/com.termux/files/home/storage/shared/目标路径
这边结合Spck编辑器的 外部存储路径(SDCard路径)
即 SDCard -> /Android/data/io.spck/files/某仓库文件夹
# 个人项
ln -s /data/data/com.termux/files/home/storage/shared/Android/data/io.spck/files/某仓库文件夹
这样可以在 home
目录下直接访问 目标路径
解决汉字乱码
在 home
目录下新建 .vimrc
文件
vim .vimrc
添加内容:
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
然后source下变量:
source .vimrc
记住Git账号和密码
在Termux中使用Git时会遇到输入账号和密码进行登录,不太方便的是:无法账号和密码保存,每次进行push或者pull时都得再输一次,下面提供在Termux中保存Git帐号和密码。
在 home
路径下打开 .git-credntials
vim .git-credentials
输入以下内容并保存
https://username:password@github.com
其中
username
为账号password
为密码
配置Git
git config --global credential.helper store
针对Blog的常用软件和插件安装
可以用前文提到的 pkg
替代 npm
Termux
pkg版本
# git
pkg install git
# nodejs
pkg install nodejs
npm版本
# git
npm install git
# nodejs
npm install nodejs
# hexo
# 经测试 `npm install hexo` 会出现 `Unable to locate package hexo`
npm install -g hexo-cli
如果
npm install -g hexo-cli
命令不生效或者每次都需要重新安装,可以试试以下命令。
npm install --save hexo -g
Hexo常用插件
中文链接唯一化
hexo-abbrlink
sitemap生成
hexo-generator-sitemap
对css、js的压缩优化
hexo-neat
文章字数统计
hexo-wordcount
加密文章或页面
hexo-wordcount
RSS 订阅支持
hexo-generator-feed
添加emoji表情支持
hexo-filter-github-emojis
npm install hexo-deployer-git --save
npm install hexo-abbrlink --save
npm install hexo-generator-sitemap --save
npm install hexo-neat --save
npm install hexo-generator-search --save
npm i --save hexo-wordcount
npm install hexo-blog-encrypt --save
npm install hexo-generator-feed --save
npm install hexo-filter-github-emojis --save
Android
Git
Android 上也可以使用Git啦
Spck编辑器 / JS沙箱/ Git客户端
这个就厉害了而且很漂亮,登录GitHub需要使用token。美中不足的是该APP并不能指定存储路径,所有的文件和目录均指定在:Android/data/io.spck/files
下(须指定 存储器 -> External
,否则文件将位于 存储器 -> Internal
即内部存储 data/data/io.spack/files
下),并且APP一旦卸载或者清除数据,所有clone的仓库都会消失。