Winse Blog

走走停停都是风景, 熙熙攘攘都向最好, 忙忙碌碌都为明朝, 何畏之.

Android Linux via Termux

牛逼的都在上面的链接,请点击查阅。


简单摘录

安装

  • Termux is an Android terminal app and Linux environment.
  • Android下的Linux环境和Shell终端程序,无须root,可使用apt包管理工具安装大部分Linux软件。
  • 国内下载通过官网F-Droid ,该网站安装包的各个版本描述下一个 下载APK 的链接。版本 0.72
  • Android源码:termux-app

使用

  • 一些按键
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
长按(more... - keep screen on)

从左往右滑(导航栏)

长按导航栏左下角的KEYBOARD
音量+ - Q 

Ctrl+A -> 将光标移动到行首
Ctrl+E -> 将光标移动到行尾
Ctrl+K -> 从光标删除到行尾
Ctrl+L -> 清除终端
Ctrl+C -> 中止当前进程
Ctrl+D -> 注销终端会话
-- 可使用音量减小按钮来模拟Ctrl键

Ctrl+Z -> 挂起(发送SIGTSTP到)当前进程
bg

音量加+W -> 向上箭头键
音量加+A -> 向左箭头键
音量加+S -> 向下箭头键
音量加+D -> 向右箭头键
(按太麻烦,可以通过 额外的按键视图 添加修改)

音量加+1 -> F1(和音量增加+ 2→F2等)
音量加+0 -> F10
  • otg USB键盘
  • sshd远程连接
1
2
3
4
5
6
pkg install openssh

ssh-keygen
cd .ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

再安装个http-server,可以下载手机上的私钥(懒得接数据线):

1
2
3
apt install nodejs
npm install -g http-server
http-server

下载id_rsa,最后远程连接

1
2
3
4
5
6
7
8
9
10
uname -a
cat /proc/version
ifconfig wlan0
whoami
#u0_a144

sshd

netstat -anp|grep sshd
#8022

客户端访问

1
2
3
4
5
6
ssh -i id_rsa -p 8022 u0_a144@192.168.2.241

$ which sshd
/data/data/com.termux/files/usr/bin/sshd
$ pwd
/data/data/com.termux/files/home

所有文件都放在 /data/data/com.termux/files 操作起来很不方便,没了Linux感觉。 可以通过chroot来切换根目录,安装proot:

1
2
3
4
5
6
7
8
$ pkg install proot
$ termux-chroot
$ vi /etc/ssh/sshd_config
Port 22

pkg install tsu
tsudo sshd # 手机已经root了的
tsudo ps aux|grep sshd

用22端口启动了。用了tsudo启动后,原来的u0_a144登录不了,好像只能谁启动就用谁登陆!

注:伤心,chroot后,nodejs安装的http-server用不了了…暂时不用chroot吧!加 $PREFIX 访问!

如果SecureCRT不兼容手机端生成的公私钥,可以生成一个,使用ssh复制然后写入authorized_keys:

1
scp -i id_rsa -P 8022 ~/.ssh/id_rsa.pub u0_a144@192.168.2.241:~/

注意:PC路径下必须两个key都存在,不能只有一个id_rsa.pub ,还要有一个id_rsa,尽管好象securtCRT没用到它。

修改源、安装常用软件:

1
2
3
4
5
6
7
8
9
10
11
12
export EDITOR=vi

apt edit-sources
deb http://mirrors.tuna.tsinghua.edu.cn/termux stable main

# or direct edit
#vi  $PREFIX/etc/apt/sources.list

apt update
apt upgrade 

pkg install vim curl wget net-tools git less tar unzip unrar tree
  • 安装配置zsh

终端配色
字体fonts-powerline
Themes

1
2
3
4
5
6
7
8
9
10
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
想要继续更改挑选配色的话,继续运行脚本来再次筛选:
$ ~/termux-ohmyzsh/install.sh
exit重启sessions会话生效配置

Enter a number, leave blank to not to change: 14
Enter a number, leave blank to not to change: 6

vi .zshrc
ZSH_THEME="cloud"

以下是zsh的一些使用技巧,因为都很常用:

1
2
3
4
5
6
7
8
9
连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换
命令选项补全。在zsh中只需要键入 tar -<tab> 就会列出所有的选项和帮助说明
命令参数补全。键入 kill <tab> 就会列出所有的进程名和对应的进程号
更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-1.0.0 目录,输入j hado 即可正确跳转。j --stat 可以看你的历史路径库。
目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
在当前目录下输入 .. 或 ... ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入 cd /u/l/b 然后按进行补全快速输入
通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索
扩展环境变量,输入环境变量然后按 就可以转换成表达的值

切回shell

1
chsh -s bash
  • nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
pkg install php nginx php-fpm mariadb

nginx
netstat -an |grep 8080

fuse -k 8080/tcp
nginx -s reload

termux-chroot
vim /etc/php-fpm.d/www.conf
listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
->
listen = 127.0.0.1:9000

vim /etc/nginx/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {

        listen       8080;
        server_name  localhost;
        root   /data/data/com.termux/files/usr/share/nginx/html;
        index  index.html index.htm;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /data/data/com.termux/files/usr/share/nginx/html;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

}

## -- wordpress

/data/data/com.termux/files/home/wordpress

vim /etc/nginx/nginx.conf
server {

listen 8080;
server_name localhost;
root /data/data/com.termux/files/home/wordpress;
index index.html index.htm index.php;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME  /data/data/com.termux/files/home/wordpress$fastcgi_script_name;
include fastcgi_params;
}

}

启动php-fpm和nginx

在proot环境下面分别启动php-fpm和nginx,这里的nginx不在proot环境下启动后会出一些问题。

1
2
php-fpm
nginx
  • tmux

Tmux是一个优秀的终端复用软件,类似GNU Screen

1
2
pkg install tmux
tmux new -s mysql

让会话后台运行 使用快捷键组合Ctrl+ b + d,三次按键就可以断开当前会话。tmux默认的前置操作是CTRL+b,下面所有的prefix均代表CTRL+b

1
2
3
4
5
6
7
8
9
10
11
12
13
14
查看/切换session  prefix s
离开Session prefix d
重命名当前Session  prefix $

新建窗口  prefix c
切换到上一个活动的窗口    prefix space
关闭一个窗口    prefix &
使用窗口号切换   prefix 窗口号

切换到下一个窗格  prefix o
查看所有窗格的编号 prefix q
垂直拆分出一个新窗格    prefix “
水平拆分出一个新窗格    prefix %
暂时把一个窗体放到最大   prefix z

其他

  • 额外的按键视图

termux也有一个额外的按键视图。它允许您使用ESC,CTRL,ALT,TAB,- ,/ 等等等键扩展当前的键盘。

1
2
vi ~/.termux/termux.properties
extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']] 
  • 实现操作手机底层
1
2
3
4
5
6
7
8
9
10
11
12
13
14
termux-setup-storage

pkg install termux-api

termux-battery-status
termux-camera-info
termux-clipboard-get
termux-clipboard-set PHP是世界上最好的语言
termux-contact-list
termux-sms-inbox
termux-sms-send -n 10001 cxll
termux-telephony-call 10001
termux-wifi-connectioninfo
termux-wifi-scaninfo

直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等。提供无限的想想空间。

  • 下载工具
1
2
you-get
BaiduPCS-Go
  • Linux
1
wget http://funs.ml/file/atilo
  • 资源

youtube termux

–END

Comments