做运维这些年,我养成了一个习惯——不管走到哪儿,手机里都得装个能连服务器的工具。等高铁的时候、躺在床上的时候、甚至蹲坑的时候,服务器出告警了,掏出手机就能处理。你说爽不爽?
很多人问我:你手机上装的啥?我说:Termux。然后他们就懵了——啥?手机上能跑Linux?
今天这篇就是来给你解惑的。不吹不黑,咱们从安装到实战,一步一步来。保证你看完之后,你的手机就不再只是一台刷短视频的机器,而是变成你口袋里的一台微型Linux服务器。
一、Termux 到底是个啥?
简单说,Termux就是一个运行在安卓手机上的终端模拟器,但它可不是那种只能敲几个命令的花架子。它自带了一个完整的Linux运行环境——有包管理器、有编译器、有各种开发工具,甚至能跑Python、Node.js、Ruby。
你不需要root权限,不需要刷机,不需要装虚拟机,去应用商店下个APK装好就能用。对,就这么简单。
而且它的包管理器 pkg 跟 Ubuntu 的 apt 用法几乎一模一样,学过Linux命令的人上手零门槛。没学过?正好,用Termux练手是最佳入门方式。
二、安装Termux:别下错版本!
这里我要特别提醒你一件事:千万别去Google Play或者其他乱七八糟的地方下载Termux。Google Play上的版本已经停止维护好几年了,装上去一堆bug。
正确的下载渠道就一个——GitHub Releases:
• 打开浏览器,访问 https://github.com/termux/termux-app/releases
• 下载最新的 termux-app_v0.118.x_arm64.apk
• 手机允许安装未知来源应用,安装APK
装好之后打开,你会看到这样的界面——一个黑乎乎的终端窗口,上面显示着欢迎信息。别被这朴素的外表骗了,这玩意儿的功能强大到超出你的想象。
Termux安装完成后的欢迎界面
三、第一步:更新软件源
装好之后第一件事,更新软件源。就跟新装了Ubuntu要 apt update 一样:
$ pkg update && pkg upgrade
这个命令会做两件事:先更新软件包列表(pkg update),然后升级已安装的包到最新版本(pkg upgrade)。中间会问你确认,直接按回车就行。
如果你的网络比较慢,可以换国内的软件源。Termux默认用的是清华大学的源,国内用户速度通常还行。如果确实卡,可以手动编辑源文件:
$ sed -i 's@packages.termux.dev@mirrors.tuna.tsinghua.edu.cn/termux@' $PREFIX/etc/apt/sources.list
四、装一套趁手的工具
Termux的默认环境比较精简,很多工具需要自己装。我一般会一次性装齐下面这些:
$ pkg install git python wget curl vim openssh tmux htop nmap tree
一条命令安装全套开发工具
来解释一下这些工具都是干嘛的:
• git:代码管理,程序员必备
• python:Python运行环境,写脚本、跑数据都行
• wget / curl:下载文件、测试接口
• vim:终端里的文本编辑器,远程改配置全靠它
• openssh:SSH客户端,连接远程服务器
• tmux:终端复用器,后台跑任务不中断
• htop:进程监控,比系统自带的top好用十倍
• nmap:网络扫描,排查网络问题
• tree:目录树形展示,看文件结构一目了然
五、访问手机文件:termux-setup-storage
这是我最推荐新手第一时间运行的命令:
$ termux-setup-storage
它会弹出一个权限请求,点"允许"。然后Termux的 ~/storage 目录下就会出现你手机的相册、下载、音乐等文件夹的软链接。从此以后,你可以在Termux里直接操作手机里的文件——下载、解压、移动、重命名,全都行。
手机文件可以直接在Termux里操作
举个例子,你在浏览器下载了一个压缩包到"下载"文件夹,然后打开Termux:
$ cd ~/storage/downloads
$ tar -xzf myproject.tar.gz
$ ls myproject/
三步搞定,比在手机上找个解压APP方便多了。
六、在手机上写Python代码
Termux里装了Python之后,你就可以直接写代码、跑脚本了。用vim编辑:
$ vim hello.py
写一个简单的小脚本试试:
import socket, platform
print(f'Hostname: {socket.gethostname()}')
print(f'Platform: {platform.system()}')
print(f'Python: {platform.python_version()}')
然后运行:
$ python hello.py
在手机上跑Python就是这么简单
输出会告诉你:嘿,你跑的确实是Linux环境。Python 3.12,版本比很多服务器上的都新。用Termux装Python不需要配置什么环境变量,包管理器帮你全部搞定了。
你还可以装pip来管理Python包:
$ pkg install python
$ pip install requests flask numpy
用Termux跑Flask搭个本地Web服务?完全没问题。跑数据分析脚本?numpy、pandas都能装。甚至可以用来跑一些自动化脚本,定时处理手机下载的文件。
七、SSH远程连接服务器
这才是我装Termux最大的理由——随时随地SSH连服务器。以前出门总得带个iPad装个Termius,现在手机就够了。
$ ssh root@47.96.xx.xx -p 22
第一次连接会提示你确认主机指纹,输入 yes。然后输入密码,搞定——你现在已经在一台远程Linux服务器上了。
手机上SSH管理服务器,随时待命
强烈建议配置SSH密钥登录,这样连密码都不用输:
$ ssh-keygen -t ed25519
$ ssh-copy-id root@47.96.xx.xx
配置好之后,以后连服务器就是一秒钟的事。服务器出问题了,地铁上掏出手机敲几下就修复了——这种体验真的会上瘾。
八、进阶玩法:这些工具让Termux更强
上面说的只是基础操作,下面这些才是真正让Termux变身为"口袋服务器"的进阶用法。
8.1 tmux:任务不中断
你有没有过这种经历:在Termux里跑了个脚本,然后不小心把APP划掉了,结果任务全没了。tmux就是来解决这个问题的。
$ tmux new -s mysession
$ python long_running_script.py
# 按 Ctrl+B,然后按 D 退出(任务继续在后台跑)
# 重新进入:tmux attach -t mysession
用了tmux之后,你随便切APP、随便关Termux,任务都在后台稳稳地跑着。下次打开Termux,tmux attach 一下,一切如初。
8.2 tsu:获取Root权限
如果你的手机已经root了,装个 tsu 包就能在Termux里获取root权限:
$ pkg install tsu
$ tsu
然后你就可以用root身份执行各种命令了。不过说实话,日常使用99%的场景都不需要root,Termux的普通用户权限已经够用了。
8.3 nmap:网络扫描
装了nmap之后,你的手机就变成了一个便携式网络扫描工具。排查局域网设备、检测开放端口,都不在话下:
$ nmap -sP 192.168.1.0/24
手机变身网络扫描工具
8.4 proot-distro:安装完整Linux发行版
这是Termux的终极杀器——你可以在手机上跑一个完整的Linux发行版!Ubuntu、Debian、Arch Linux,随便选:
$ pkg install proot-distro
$ proot-distro list
$ proot-distro install ubuntu
$ proot-distro login ubuntu
进去之后你就拥有了一个完整的Ubuntu环境,可以用apt装软件、用systemctl管理服务(部分支持),甚至能跑Docker(需要root)。这不是模拟器,这是真正的Linux发行版运行在你手机上。
九、实用小技巧合集
9.1 键盘增强
Termux默认在屏幕上方提供了一排额外按键(ESC、Ctrl、Alt、Tab等),这对手机输入特别友好。如果你不习惯触屏输入,还可以外接蓝牙键盘——Termux完美支持外接键盘的所有快捷键。
9.2 Termux:API 扩展
Termux有一组配套APP叫Termux:API,装好之后你可以通过命令行调用手机的各种硬件功能:
• termux-camera-photo — 拍照
• termux-location — 获取GPS定位
• termux-sms-send — 发短信
• termux-notification — 发系统通知
• termux-vibrate — 让手机震动
想象一下:写个脚本,检测到服务器告警自动发通知+震动提醒——这才是真正的自动化运维。
9.3 安装Node.js环境
Termux也可以跑Node.js,前端同学也能用:
$ pkg install nodejs npm
$ node -v
v20.11.0
$ npm install -g create-react-app
9.4 搭建本地Web服务
在Termux里起一个HTTP服务,手机上其他APP可以直接访问:
$ python -m http.server 8080
然后浏览器打开 http://localhost:8080,就能看到你当前目录的文件了。传文件、临时共享,特别方便。
十、常见问题和踩坑指南
10.1 电池优化问题
安卓的电池优化会自动杀掉后台进程,导致你的Termux任务被中断。解决方法:
• 长按Termux图标 → 应用信息 → 电池 → 选择"无限制"
• 或者在Termux里运行 termux-wake-lock
10.2 存储权限被拒绝
如果运行 termux-setup-storage 后没反应,去手机设置里手动给Termux授予存储权限。
10.3 下载速度慢
换源!前面已经提到换清华源的方法。如果清华源也不行,试试中科大源:
$ sed -i 's@packages.termux.dev@mirrors.ustc.edu.cn/termux@' $PREFIX/etc/apt/sources.list
10.4 Termux崩溃打不开
清除Termux的缓存数据试试:设置 → 应用 → Termux → 存储 → 清除缓存。注意不是清除数据,清除数据会删除你安装的所有包和脚本。
总结一下
Termux这个东西,用好了就是神器。它让你在地铁上、咖啡馆里、甚至躺在床上,都能拥有一台完整的Linux环境。练习Linux命令?没问题。SSH连服务器?没问题。写Python脚本?没问题。甚至跑Docker、搭Web服务、做渗透测试,都能干。
对于正在学Linux的同学来说,Termux更是一个绝佳的练习平台。不用装虚拟机,不用买云服务器,手机拿出来就能练。ls、cd、grep、awk、sed,这些命令随时随地都能练。碎片时间利用起来,一个月下来你的Linux水平能上一个大台阶。
这是「Linux运维系列教程」的第21期。如果你觉得这篇文章对你有帮助,欢迎转发给身边也在学Linux的朋友。