终端 Termux

1,104 阅读2分钟
原文链接: zhuanlan.zhihu.com

终端是每个程序猿的必需品,每天有很多的工作需要和终端打交道。但你有想过如何在手机上使用它嘛?没错 Android 手机就可以。因为每时每刻都有为数众多的程序猿在为 Android 系统开发各种各样神奇的应用。在他们的努力下,应用市场上已经拥有了许多优秀的终端工具,而今天要说的 Termux 凭借出色的包管理工具和众多的工具包成为了它们中的佼佼者。

热爱编程的童鞋们赶紧去下载一个玩(折)耍(腾)下。还记得从前上课的时候只能用上文曲星的 GVBASIC 写写小程序,黑白的显示,超大的字体,代码写到后面键盘都被按坏了(捂脸)。而对于 Termux, 什么 Java,Python,PHP,JavaScript 都 so easy,妈妈再也不用担心我学写代码了~,没错一部手机就可以编程,想想还有些小激动~

初识环境

termux 的环境虽说和 Linux 有些类似,但在文件的路径方面还是有所不同。termux 有两个主要路径的环境变量一个为 $HOME,就是你刚进入终端时的位置。另一个就是 $PREFIX,是 usr 目录,下面有用于存放配置的 /etc,存放可执行文件的 /bin 等。

如果要访问 sdcard 的目录,需要先运行 termux-setup-storage。完成授权后,在 $HOME 目录会多出一个 storage 目录。

ssh

ssh 命令是日常中很重要的一个,我们通常会使用它登录远程服务器进行操作。在 termux 中 ssh 的配置方式和 Linux 基本相同。

// 安装 openssh 包
pkg install openssh    

// 生成 private 与 public key
cd .ssh/    
ssh-keygen -b 4096 -t rsa

将生成的 id_rsa.pub 公钥的内容放到服务器的 authorized_keys 中,再创建 .ssh/ 下的 config 文件,将服务器的地址等信息配置好。

// config 文件中添加
Host _name_
Hostname        _ip_
Port    22
User    root
IdentityFile ~/.ssh/id_rsa

如果需要 Android 对外提供 ssh 服务,可以将要授权机器上的公钥添加到 .ssh/ 下的 authorized_keys 文件中。同时需要启动 ssh 服务。

// ssh 到远程服务器
ssh _name_

// 启动 ssh 服务
nohup sshd &

查看编辑代码

为了能够愉快滴查看编辑代码我们还需要装一些包。

// 安装 git 命令工具
pkg install git
// 安装 vim, zsh 和 oh-my-zsh
pkg install vim zsh
bash -c “$(curl -fsSL https://git.io/oh-my-termux)

WordPress

啥~,觉得这些还不够。那让我们来运行一个 WordPress 吧。话说 Android 的分屏功能在这时候发挥了很大的作用。左侧编辑代码,右侧查看网页的效果,美滋滋~

// 从 Github 获取 WordPress 代码
git clone https://github.com/WordPress/WordPress.git 

// 安装 nginx,php,php-fpm,mariadb(mysql)
pkg install nginx php php-fpm mariadb

// nginx 配置
server {
  listen 9000;
  server_name localhost;
  index index.html index.htm index.php;
  root  /data/data/com.termux/files/usr/share/nginx/WordPress;

  location ~ .*\.(php|php5)?$ {
    fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}

// mariadb 创建 WordPress 数据库
mysql_install_db
mysql -uroot
create database wordpress default character set utf8 collate utf8_general_ci;

// 启动各个服务
nginx
php-fpm
nohup mysqld &

工欲善其事必先利其器,最后让我们来看看 Twitter 上的大佬们的装备吧。