什么?Android上面跑Linux?
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
前言
众所周知,现在程序员因为工作、个人兴趣等对各种系统的需求越来越大,部分人电脑做的还是双系统。其中,比较常见的有各种模拟器、虚拟机在windows上面跑Android、Linux,大家估计都习以为常,Android上面跑windows也是Android 13做的一个有趣的新功能:工作虚拟化支持(不是重点,在这就不过多阐述),但是,你知道么,Android上面可以跑Linux了,重要的是,还无需root。接下来我们将介绍这款1万Star的神器——Termux。
什么是Termux?
Termux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需 root 权限,因此,绝大多数 Android 都可以运行。 Termux官网链接
Termux能做些什么?
目前来说,它能做一些简单的 Linux 任务:
- 享受 Bash 和 Zsh
- 使用 Vim 编辑文件
- 通过 SSH 访问服务器
- 使用 GCC 和 Clang 编译代码
- 使用 Git 检查项目
- 运行 MySQL,Redis 等服务器
- ...
使用方法
因为 Termux 是一款 Linux 终端模拟器,因此,在命令的使用方面和 Linux 是一致的。在这里,我将介绍一些针对 Termux 工具的一些使用方法。
初次使用
业内已经有了一种共识,在涉及包管理方面,尽量都会将官方源替换成国内镜像源,Termux 也不例外。初次进入 Termux 后,我们可以使用 阿里云 的 Termux 镜像:
$ sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.aliyun.com/termux/ stable main@' $PREFIX/etc/apt/sources.list # 更换源文件
$ pkg up # 更新源文件
$ pkg udpate -y && pkge upgrade # 更新系统及软件
替换为国内镜像后,接下来,需要开启 Termux 的存储权限:
$ termux-setup-storage
执行命令之后,会弹出权限确认窗口,选择「始终允许」即可。
pkg 使用命令速记
- pkg search搜索包
- pkg install安装包
- pkg uninstall卸载包
- pkg update 更新源
- pkg upgrade 升级软件包
- pkg shoe显示某个包的详细信息
长按屏幕
如果需要对 Termux 中的内容进行复制以及粘贴内容至 Termux,可以通过长按屏幕实现。
额外按键视图
可以看到,在正常的键盘上方,还有一盘额外的功能键,分别是:ESC 键,Tab 键,CTRL 键,ALT 键,- 符号,向下以及向上功能键。有了这一行额外视图,可以更加方便地实现 Android 键盘上没有,而电脑键盘上有的功能。
音量+组合
因为 Android 键盘没有电脑键盘上的一些功能按键,此时,我们可以通过按住音量键+,再输入键盘某个字母数字键,可以达到一些功能键的作用。
- 音量+ Q:显示/隐藏额外按键视图
- 音量+数字键:Fx(电脑键盘上的数字功能键)
- 音量+L:|(管道字符)
- 音量+H:~(波浪字符)
- 音量+U:_(下划线字符)
- 音量+P:上一页
- 音量+N:下一页
一些简单的应用
HTTP Server
有些时候,我们需要将 Android 上的某些文件发送到其他设备(例如笔记本,分享)。以往的解决方案一般是用微信或者 QQ 来作为中转站,现在,可以利用 Termux 搭建一个简单的文件服务器来实现。
$ pkg install python -y # 需要使用 Python
$ ifconfig wlan0 # 查看 Android 在局域网中的 IP 地址(我的为 192.168.2.104)
$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)...
命令成功运行之后,可以看到输出信息中包含了端口地址(我这里是 8000)。此时,用另外一台处于相同局域网(例如 Wi-Fi)的设备在浏览器地址输入 192.168.2.104:8000 即可访问文件服务器了。
看起来像黑客
一提到命令行,怎能少得了那些酷炫的字符如降雨一般,这看起来就很黑客。我们可以通过安装 pkg install cmartix
来实现这种效果。
尾言
总得来说,实用性相对较差,操作略有繁琐,不过B格拉满,可以不经意间在程序媛面前露上这么一手,保证收获妹子满满的崇拜眼神,发际线似乎都前移了几分XD