我们现在使用的主流桌面系统都有自己的命令行程序,Windows也不例外(Windows10推出了BashShell和powershell),由此可见,单独使用图形界面可以已经不能满足我们的需求了,尤其是对于像我这样从事软件开发的人来说,没有命令行的系统会造成极度的不适。但是在我们常用的智能手机上却缺少这样一个方便的工具,现在的手机已经达到了初级台式电脑的标准,比如我两年前买的小米5sp,4核6G内存128G存储空间.在上面运行一些常规软件是没有问题的。大家都知道Android是基于Linux内核的。所以可以单独作为Linux主机使用(苹果手机好像要越狱,这里不关心),可以在上面安装Python、git、openssh、数据库等。Android是单用户图形化系统,功能主要以应用程序的形式呈现给用户,所以我们无法直接获取系统上的终端,也就无法使用丰富的Linux命令。但是借助终端仿真器,这个需求是可以实现的。之前也用过一些工具,但是都不太好用,所以就卸载了,直到找到神器Tremux。介绍与安装Termux是一个Android终端模拟器和Linux环境应用程序,无需root或设置即可直接运行。自动安装一个最小的基本系统-使用APT包管理器可以获得额外的包。Termux将强大的终端仿真与广泛的Linux软件包集合结合在一起。享受bash和zshshell。使用nano和vim编辑文件。通过ssh访问服务器。使用clang、make和gdb在C中进行开发。使用python控制台作为袖珍计算器。?使用git和subversion检查项目。?使用frotz运行基于文本的游戏。首先下载一个小的基本系统——然后可以使用apt包管理器安装所需的包。通过长按终端上的任意位置并选择“帮助”菜单选项来访问内置帮助以了解更多信息。官网GooglePaly下载地址下方是启动Termux后的界面。底部有一些Linux上经常用到的虚拟键盘但是手机键盘屏幕上没有按钮(音量键+q显示/隐藏),截图显示可以使用pkg命令来管理包,但Termux也自带apt包管理器,并维护着适合Android的库,并有自己的软件源。开始首先,Termux进入Android系统的home目录位置为:/data/data/com.termux/files/home,环境变量$PREFIX=/data/data/com.termux/files/usr指向Termux的/usr目录下,使用aptinstallvim安装vim编辑器。特性类型这是一个只有几百K大小的apk,安装后可以在安卓手机上搭建一个完整的Linux环境。很不友好,但是它其实提供了很多隐藏功能,而且上手后其实非常好用。关于软件源Termux有官方软件源,网速很快,与Linux软件源保持同步。关于root无需root!无需root!无需root!Termux可以在没有root权限的情况下正常运行,但最适合需要root的用户。可以执行许多需要root权限的命令,包括文件管理。也会很方便。扩展性很强,挖个坑,后面再介绍。SSH登录在手机上使用命令行还是很不方便的,主要是键盘的问题。我们最好能通过SSH连接电脑上的Termux,然后进行操作。当然,你也可以用手机连接电脑。外出时,即使电脑不在身边,也可以进行一些操作。在Termux终端中使用ssh访问远程服务器与在Linux终端中使用ssh是一样的。但是使用ssh访问Android设备是不同的。Termux终端中的sshd服务不支持密码验证,这意味着用户不能指望通过sshuser@server从其他终端访问Android设备,然后输入用户密码。Termux终端中的sshd只支持密钥认证。比如我电脑的IP是172.16.128.96,用户名为admin;手机IP为172.16.128.245,用户名为u0_a494;(IP和用户名分别用ifconfig和whoami查看)installopensshontermux#installaptupdateaptinstallopenssh#在电脑上启动sshd生成秘钥。ssh-keygen-trsa会生成id_rsa和id_rsa.pub两个文件,保存在~/.ssh/下。前者是私钥,后者是公钥。如果电脑有生成秘钥的话,可以跳过这一步。发送id_rsa.pub到安卓手机,在手机的Termux终端输入如下命令cdscpadmin@172.16.128.96:.ssh/id_rsa.pub。接下来,系统会提示您输入计算机上的id_rsa.pub用户密码。传输完成后,将电脑的公钥添加到手机的授权文件中:catid_rsa.pub>>.ssh/authorized_keys当然也可以采用其他方式传输公钥。反正最终的目的是把电脑的公钥内容写入授权文件即可。ssh连接在手机上启动sshd服务。sshd连接到计算机终端。Termux的openssh默认端口是8022sshu0_a494@172.16.128.245-p8022,请发挥你的想象力,在界面后面做你能做的事情。参考资料神器Termux使用Everydayyouwasteacomputerubuntu使用SSH通过Termux登录安卓设备
