目录

介绍

Termux 是一个开源的虚拟终端软件,可以在 Android 设备上运行 Linux 环境。它把大量命令行实用程序移植到 Android 系统,无需 root 或特殊设置即可直接使用。其主要目标是为移动设备用户带来 Linux 命令行体验。

Termux 会自动安装一个最小的基础系统,其他软件可以通过软件包管理器获得。

大多数在 Linux 中可用的命令以及内置的 Bash 命令都可以在 Termux 中使用,也可以选择其他 Shell 如 Zsh。由于所有文件都安装在应用程序目录下,因此不需要 root。

Termux 拥有自己的软件包生态系统,目前有一千多个软件包可以下载。另外,软件包还可以从源代码编译,因为 Termux 支持各种构建工具,包括 C、C++、Go、Rust 等编译器。也可以使用 NodeJS、Python、Ruby 等常用语言的解释器。

常见用例

可以用 Termux 来做什么呢?例如在 Android 手机/平板上:

  • 通过 ssh 访问远程服务器;
  • 学习 Linux 命令行环境的基础知识;
  • 使用 Linux 生态下久经考验的工具;
  • 编写 Shell 脚本,用脚本和 Termux Tasker 插件实现设备自动化;
  • 使用 git 进行同步和版本控制;
  • 使用 curl 访问 API 端点;
  • 使用 rsync 同步和备份文件;
  • 使用 Python 进行数据处理;
  • 在开发环境中编程;
  • 不够尽兴的话,给你的 Android 设备连接蓝牙键盘鼠标,再接个外部显示器 —— 妥妥的 Linux 工作站摆在你面前。

使用场景不局限于上面列出的那些,取决于你的技能和想象力~ 💡️

我偶尔会在手机上通过 Termux 来更新本站的内容。

插件

Termux 可以通过安装附加组件来添加一些额外的功能。

Termux:API
将 Android 功能开放给 CLI 应用程序。
Termux:Boot
当设备启动时运行脚本。
Termux:Float
在一个浮动窗口中运行 Termux。
Termux:Styling
选择终端的配色方案和字体。
Termux:Tasker
将 Tasker 应用集成到 Termux。
Termux:Widget
从主屏幕的窗口小部件或快捷方式上启动脚本。

安装 和 使用

建议从 F-Droid 下载 Termux。

安装后即开即用,终端界面如下:

termux-ui

基本的手势操作,与很多常规 Android App 一样。

  • 调整字符大小 <- 两指捏合缩放或双击
  • 上下文菜单 <- 长按终端界面的任意位置
  • 导航抽屉 <- 从屏幕左侧向内滑动

切换 Termux 软件包库

执行下面的命令切换软件包存储库到国内(如清华/北外)的开源软件镜像站;当然,不切换也能用,切回国内下载软件包的时候可能会快一些。

~ $  termux-change-repo

termux-change-repo

termux-change-repo-mirror

用 Termux 访问设备存储

授予 Termux 存储访问权限,会在 ~/storage 目录下设置符号链接到设备存储目录,如 DCIMDownload 等。

~ $  termux-setup-storage
# ~/storage/shared = /sdcard

备份

卸载或重装 Termux 之前,记得对以下目录的重要文件进行备份。

  • /data/data/com.termux/files/usr
  • /data/data/com.termux/files/home

可以使用 tar 工具,将备份文件放在 Termux 私有目录以外的地方,如 /sdcard

~ $  tar -cf /sdcard/termux.bak.tar /files/to/be/backed/up

举个栗子 🌰

在手机上下载 YouTube 视频。

~ $  pkg upgrade
~ $  pkg install python
~ $  curl -L https://yt-dl.org/downloads/latest/youtube-dl -o $PREFIX/bin/youtube-dl
# $PREFIX = /data/data/com.termux/files/usr
# 是 Termux Shell 中的一个 export 环境变量
~ $  chmod a+rx $PREFIX/bin/youtube-dl
~ $  youtube-dl -o '~/storage/downloads/%(title)s.%(ext)s' https://youtu.be/PHe0bXAIuk0
# 上条命令会将给定的 YouTube 链接对应的视频下载到手机存储的 `Download` 目录

Tips

Termux 使用 减音量键 来模拟 Ctrl 键。例如,按下 减音量键 同时在触摸键盘上按 L,就会发出与硬件键盘上按下 Ctrl + L 相同的输入。

Ctrl 与某个键结合使用的结果取决于使用的是哪个程序,但对于多数命令行工具来说,以下快捷键是有效的。

    Ctrl + A → 光标移至行首
    Ctrl + C → 终止当前进程
    Ctrl + D → 注销终端会话
    Ctrl + E → 光标移到行尾
    Ctrl + K → 从光标处删除到行尾
    Ctrl + U → 从光标处删除到行首
    Ctrl + W → 清除连续一组字符
    Ctrl + Z → 暂停当前进程
    Ctrl + L → 清屏

按住手机 加音量键 再按 k 键,可以隐藏/显示 Termux “辅助小键盘”,暂且这么称呼它吧。

References: