---
title: "【转载】Termux命令行神器初体验"
id: "1256"
type: "post"
slug: "%e3%80%90%e8%bd%ac%e8%bd%bd%e3%80%91termux%e5%91%bd%e4%bb%a4%e8%a1%8c%e7%a5%9e%e5%99%a8%e5%88%9d%e4%bd%93%e9%aa%8c"
published_at: "2017-05-13T14:51:28+00:00"
modified_at: "2017-05-13T14:52:43+00:00"
url: "https://seq.ink/all/1256.html"
markdown_url: "https://seq.ink/all/1256.html.md"
excerpt: "原文地址 对 Termux 折腾的一点记录。 前言 什么是Termux Termux 的 官方网站 上已经介绍的很详细了。 Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are..."
taxonomy_category:
  - "ALL"
  - "Coding代码堆"
  - "Live日常"
  - "Share分享"
---

[原文地址](https://www.sfantree.com/termux_01/?utm_source=tuicool&utm_medium=referral)

对 `Termux` 折腾的一点记录。

## 前言

### 什么是Termux

`Termux` 的 [官方网站](https://termux.com/)
 上已经介绍的很详细了。

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically – additional packages are available using the APT package manager.

Termux是一款强大的安卓终端模拟APP，无需root直接启动，自动安装最小化linux系统，使用APT作为包管理工具并提供各种各样的软件包。

### 安装

#### 配置要求

对手机的配置没啥特殊要求，5.0及更高版本，还有为了操作方便最好有 `root` 权限，为什么待会儿再说，手机的存储容量一定要充足，因为随便一个安装包就是几十兆。

#### 下载地址

[酷安基佬传送门](http://coolapk.com/apk/com.termux)
 [重度骨粉传送门](https://play.google.com/store/apps/details?id=com.termux)

#### 其他工具

由于操作比较反人类，为了使用更方便最好再装一些其他工具。

- [黑客键盘](http://coolapk.com/apk/org.pocketworkstation.pckeyboard) 提供一些常用的终端符号的输入
- [输入法切换](http://coolapk.com/apk/com.appaholics.keyboardswitch) 便于和常用输入法进行切换
- [RE管理器](http://coolapk.com/apk/com.speedsoftware.rootexplorer) 便于提取和更改模拟终端系统中的文件(需root)
- [JuiceSSH](http://coolapk.com/apk/com.sonelli.juicessh) SSH连接增强，内置了一些软键盘十分强大

## 上手

### 目录分析

打开 `app` 就是黑底白字的命令行，默认以 `/data/data/con.termux/files/home` 作为家目录，对安卓文件系统有点了解的同学都知道 `/data/data/` 存放的是所有APP自身的数据， `/data/data/con.termux/`

这张图是我用电脑上的 `xshell` 连接的效果，具体连接方式下文会讲，这里只是简单列出目录结构。

进入 *RE管理器* 查看到的文件目录，可以看到 `/data/data/com.termux/files/usr` 路径很像是`Termux` 创建的根文件系统，每个目录的功能和普通 `linux` 下类似，详见 [鸟窝](http://cn.linux.vbird.org/linux_basic/0210filepermission_3.php)
 。

知道这一点就可以知道修改配置文件的几种方法：

- 在命令行操作使用vi编辑器
- 使用RE管理器直接修改

个人觉得第两种方法要方便一些，尤其是后来的ssh密钥操作，接下来以第二种文件修改方式为主。

### 改源

不管是不是 `linux` ，只要涉及到网络服务改源便是家常便饭

编辑 `/data/data/com.termux/files/usr/etc/apt/sources.list` 文件，修改 `apt` 源为清华大学开源镜像

```
# The main termux repository:
#deb [arch=all,arm] http://termux.net stable main
deb [arch=all,arm] http://mirror.tuna.tsinghua.edu.cn/termux stable main
```

修改的两种方式

更多信息可以看看清华大学 `Termux` 镜像 [使用帮助](https://mirror.tuna.tsinghua.edu.cn/help/termux/)

```
apt update
```

更新软件源信息

### SSH增强

原生的 `Termux` 即使搭配黑客键盘也显得操作很不方便，于是想开启 `sshd` 服务来远程控制 `Termux` 。下面以手机上的 `juicessh` 和电脑上的 `xshell` 为例

```
apt install openssl
```

安装完成后 `/data/data/com.termux/files/usr/bin` 目录下会多几个有关 `ssh` 的可执行文件。接下来开启 `sshd` 服务。

```
sshd
```

查看 `sshd` 使用的端口，我这里是 `8022`

```
netstat -ntlp
```

查看当前登录终端的用户名 **找不到命令就按提示信息装，缺什么装什么** 我这里是 `u0_a8`

```
whoami
```

由于一直未找到 `ssh` 密码相关的命令设置，例如 `passwd` 相关的命令，只能使用 `ssh` 免密码登录，涉及到 `ssh` 密钥

```
ssh-keygen
```

接下来的问题一律回车默认，你会看到 `/data/data/com.termux/files/home/.ssh` 多出两个文件 `id_rsa.pub` 和 `id_rsa` ，分别是公钥和私钥，将公钥导入到信任主机列表

```
cd /data/data/com.termux/files/home/.ssh
cat id_rsa.pub >>　authorized_keys
```

进入 `JuiceSSH` 的认证，用户名填写刚才的用户名，私钥复制粘贴 `id_rsa` 的内容，建议使用`RE管理器` 操作。

#### xshell

xshell设置也是类似，不过xshell可以直接生成密钥对，生成过后只需把公钥添加到 `authorized_keys`

今天就写到这里吧，连上了 `ssh` 一切都方便了，接下来折腾搭建web服务，内网穿透，交叉编译…
