安装配置
Termux是什么
Termux 是运行在 Android 上的 terminal。不需要root,运行于内部存储(不在SD卡上)。
自带了一个包管理器,可以安装许多现代化的开发和系统维护工具。
更换清华镜像
- 可视化界面更换
在较新版的 Termux 中,官方提供了图形界面(TUI)来半自动替换镜像,推荐使用该种方式以规避其他风险。 在 Termux 中执行如下命令
termux-change-repo
在图形界面引导下,使用自带方向键可上下移动。
第一步使用空格选择需要更换的仓库,之后在第二步选择 TUNA/BFSU 镜像源。确认无误后回车,镜像源会自动完成更换。
命令行替换
1
2sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade手动修改
编辑 $PREFIX/etc/apt/sources.list 修改为如下内容
1 | # The termux repository mirror from TUNA: |
请使用内置或安装在 Termux 里的文本编辑器,例如 vi / vim / nano 等,不要使用 RE 管理器等其他具有 ROOT 权限的外部 APP 来修改 Termux 的文件
安装基础工具
1 | pkg update |
更改配色和激活访问SD卡权限
1 | sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" |
使用简介
路径
安卓的data/data是所有程序存储数据的地方,不可以挂载,某某刷机的程序备份就备份程序和那里,如果需要备份某个程序,比如百度输入法,就去data/data文件夹找带着Baidu和input字样的文件夹然后复制出来,在更换系统或重装软件后再把这个文件夹复制回去就可以达到还原以前数据的效果,不过此操作需要你的手机已经ROOT。
Termux里这个路径代表data/data路径
cd /data/data/com.termux/files/home/storage/shared
建立符号链接与删除
1 | ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ |
git的使用
1 |
|
- git上传流程
本地库 -> 远程库
其他问题
内存占用
经过这次教训对termux这个手机模拟Linux终端软件有了更深刻认识,之前就被坑过一次今天再次,在同一个地方跌倒,原因是第一次没认识到该软件邪恶的本性。
该软件的安装后的文件,我们无法在没root的手机系统文件管理器上查看,所以对在该软件的home文件里的文件就无法直接操作。我们通过jupyter notebook,可以在手机内存和home两个存储空间之间进行相互基本对文件的操作。这个看起来没啥问题,但实际上有个bug。那就是home占用的空间只会越用越大,删除home里的文件后,其占用的空间不可被释放,这就形成一个死的存储空间,当你新文件写入时,不会覆盖该空间,这就意味着,你手机的存储空间,会被它很快吞噬掉,只要你经常用它,但实际上却白白浪费好多空间。
这个bug,就像是对存储空间分区了,home的只能长不能缩,且用过的删了,也不会将其释放。
具体就是如果你从storage导入文件到home,如果这个文件只是几十M,甚至几G。那么恭喜你,你手机文件可用的空间又少了这么多,就算你删除home里的文件,结果还是一样,而且home的空间也没腾出来,那部分空间就这样活活被吃掉。具体办法就是卸载重新安装,搭建。
因此,为了避免空间浪费,最好把工作路径cd,到/storage/downloads来。
另外,我上次出问题,重装记录如下图,还好记着,不然重建时间,以及问题太难搞清和解决。
文件系统
- 初始有两个文件夹home usr
- 初始home目录下无文件,开启权限后可使用手机内存,会出现一个storage文件夹,这就是手机内存。
- 从左往右滑可以使用键盘和创建新的工作区
mysql
1 | // 1. 安装 |
软件安装
大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。不同的Linux发行版使用不同的包管理工具,目前主流Linux发行版中主要是apt、yum、dnf 和 pkg 包管理命令为主。
报错解决
无法启动mysql服务
- 问题描述
安装mysql后昨天还能正常启动服务,今天使用nohup mysqld & 打开服务,但是查不到进程。 - 解决过程
- 使用本来的mysql服务启动方式,mysqld,发现报错。
- 在网上找到解决方法。
1
2cd ~/../usr/var/lib/mysql
只删除ib_logfile…
- 使用本来的mysql服务启动方式,mysqld,发现报错。
shell脚本编程
注意事项
- Shell脚本名称命名一般为英文、大写、小写,后缀以.sh
- 首行需要 #!/bin/bash 开头
- 当shell编写时的系统和执行脚本的的系统不一致,脚本会无法cd到指定目录。
1
2
3
4
5vim test.sh
:set ff
> fileformat = dos // window下编写为dos,linux执行的格式为unix
: set ff =unix
:wq // 保存退出
第一个shell脚本
1 | #!/bin/bash |
脚本打开应用自动执行
$PREFIX/etc/profile.d/
在此目录下的脚本会开机自动执行
安装autosuggestions插件,命令补全
拷贝项目
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
修改配置文件
vim ~/.zshrc
plugins=(git zsh-autosuggestions)生效配置
zsh
使用右方向键补全代码。