Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web安卓推荐termux(安卓5.0以上) GNUROOTDEBIANtermux和GNUROOTDEBIAN不只是针对python的,java,c,php之类也不在话下,超级强大;GNU属于大而全的,里面啥模块都有,安装包也挺大,termux如果不够用就直接用GNU。termux模块要少一些,有些可能安装不了或者比较麻烦,体积也是超小。(gnu更方便,直接aptinstallpython-scipy之类搞定)。termux是安卓手机上的一款软件,相当于在…

From:https://www.sqlsec.com/2018/05/termux.html

Termux 高级终端安装使用配置教程 :https://www.cnblogs.com/cutesnow/p/11430833.html
神器Termux 的使用记录:https://cloud.tencent.com/developer/article/1609398

​adb shell 下使用 termux:https://github.com/alwaystest/blog/issues/68
ttyd — ( 通过 web 共享、访问 终端 ):https://github.com/tsl0922/ttyd

​busybox ( 嵌入式 Linux 的瑞士军刀 ):https://github.com/mirror/busybox

BusyBox安装准备工作:
1. 手机 Root。
2. 下载 手机设备架构对应的BusyBox版本,下面将以busybox-armv6l文件名为示例。
3. 电脑上 下载安卓 adb 驱动工具。
4. 手机开启USB调试模式。在电脑上使用 adb 连接手机

BusyBox安装步骤:
1. 将 busybox-armv6l 重命名为 busybox
2. 将busybox传入手机的SD卡。打开 terminal(Linux,Mac)或cmd(Windows)
    adb push ~/Desktop/busybox /mnt/sdcard
    其中的~/Desktop请根据自己的情况替换成正确的路径
3. 使用 ls 检查一下 /system 里是否有 xbin 目录,
    没有的话输入 mkdir xbin 创建,
    因为本示例是要把busybox安装到 /system/xbin 。
4. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限
    cp /mnt/sdcard/busybox /system/xbin
    chmod 755 busybox
5. 这时就可以使用 busybox 的命令了。
    例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能
    使用完整版的 ls 只需输入 busybox ls 。
    但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。
    在 /system/xbin 下输入:busybox –install /system/xbin
    如果想安装到别的目录,则把点替换成别的路径。
    至此就安装完成了

    帮助:busybox –help
    使用示例:busybox nc –help

小技巧:

  • 1. busybox 里有 ash 和 hush 还有 sh 这几种 shell,在命令行输入 ash 或 hush,可以像在 bash 里那样,通过按上下键选择刚才输入的命令。
  • 2. android系统本身就有ls命令,busybox里也有ls,输入ls时调用的是android的ls,那么想用busybox的ls就要每次都在前面加个busybox吗?不用,使用alias命令可以搞定。alias ls=’busybox ls’  也可以通过修改 /init.rc 来解决。

termux 下安装 busybox,命令:pkg install busybox

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

termux-app:https://github.com/termux/termux-app
python 脚本在手机或安卓系统上运行:https://www.zhihu.com/question/28654702
安装 python库 + tasker调用:https://www.jianshu.com/p/c239a7eaadba
AidLearning-FrameWork :https://github.com/aidlearning/AidLearning-FrameWork

安卓

  • termux安卓5.0以上)。Termux 是 Android 手机上一个高级的终端模拟器软件,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持 Python、PHP、Ruby、Go、Nodejs、MySQL等。Termux  相当于在安卓上搭建了一个 Linux 平台,所以在 Linux上 能干的事情很多在手机上也都办得到。由于安卓平台的开放性,类似 termux 的手机神器还有很多。不输各类强大的编程 IDE,单是 termux 这样的 Linux 平台类软件就很多,如 GnuRoot 系列,LinuxDisplay 系列等。这其中 termux 很受人欢迎。随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造完全可以把手机变成一个强大的工具.。termux 还有许多插件

    Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

  • gnuroot debian。GNU 属于大而全,里面啥模块都有,安装包也大,termux 如果不够用就直接用 GNU 。GnuRoot 可以执行 python,java,c,php 。(gnu更方便,直接 apt install python-scipy之类搞定)。

IOS 推荐

  • pythonista(付费)。pythonista 只针对 python

1、在 Android 上安装 Termux

  • busybox 是一个工具箱,可以为系统增加一些常用的命令程序;
  • termux 是一个自带 linux 环境的终端模拟器。

Termux 是一个强大的终端仿真器,它提供了所有最流行的 Linux 命令,加上数百个额外的包,以便于安装。它不需要任何特殊的权限。安装 Termux 的三种方法:

  1. 使用默认的 Google Play 下载。版本比酷安要新,有能力建议下载Google PLay版本。
  2. 开源应用仓库 F-Droid  ( https://f-droid.org/packages/com.termux/ ) 来下载安装。
  3. 直接下载 Termux 的 APK 安装包进行安装,但是这种方式安装后将不会收到更新通知。 安装 Termux 应用程序https://opensource.com/article/20/8/termux )。

这里通过 F-Droid 下载安装,安装后如图所示:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

  • 1. 第一部分是 termux 官方网站和相关资源, github 和官方 wiki 有很多资源供进一步学习。
  • 2. 第二部分介绍了个包管理器命令 pkg,给出了四个命令。最后的 help 是通用的,前面分别是搜索/安装/升级包。跟 linux 的 apt/apt-get, python 的 pip 差不多,实际上直接用 apt 命令也可以的。

安装 Termux 后,启动它并使用 Termux 的 pkg 命令执行一些必要的软件安装。

  • 订阅附加仓库 root-repo :pkg install root-repo
  • 执行更新,使所有安装的软件达到最新状态:
            apt update     // 更新源
            apt upgrade  // 升级软件包
  • 安装 Python:pkg install python

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 安装和自动配置完成后,就可以构建你的应用了。

2、基本操作

长按屏幕

显示菜单项(包括复制、粘贴、更多),此时屏幕出现可选择的复制光标

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

从左向右滑动

显示隐藏式导航栏,可以新建、切换、重命名会话session和调用弹出输入法

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

显示扩展功能按键

扩展功能键是什么?就是PC端常用的按键如:ESC键,CTR键,TAB键,但是手机上难以操作的一些按键.

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

  • 方法一:从左向右滑动,显示隐藏式导航栏,长按左下角的 KEYBOARD。
  • 方法二:使用 Termux 快捷键:音量+ + Q键

3、更新源、升级软件包

下载安装后,要首先 更新、升级软件包,国内使用 termux 安装包速度那就是龟速,所以更换 Termux 清华大学源,加快软件包下载速度。

更新源

换好源后,记得 update,但是不需要 upgrade:apt update

方法 1:直接编辑 sourse.list 

  • 编辑文件:vim /data/data/com.termux/files/usr/etc/apt/sources.list
  • 输入:deb https://mirrors.ustc.edu.cn/termux/apt/termux-main stable main

清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/termux/

就将原来的官方源,替换为清华源了。( 可以将原来的源加上 # 来注释掉 )按 ESC 然后输入 :wq 保存并退出。上面是官方推荐的方法,其实还有更简单的方法,类似于 Linux 下直接编辑源文件:

vi  $PREFIX/etc/apt/sources.list    // 直接编辑源文件

方法 2:使用内置的 GUI 方式更换镜像源

执行命令 termux-change-repo,弹出窗口如下:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

dsaf

dsaf

方法 3:命令行方式替换

sed -i ‘s@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@’ $PREFIX/etc/apt/sources.listsed -i ‘s@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@’ $PREFIX/etc/apt/sources.list.d/game.listsed -i ‘s@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@’ $PREFIX/etc/apt/sources.list.d/science.listpkg update

安装基本工具

pkg update
pkg install vim curl wget git unzip unrar

pkg install nano proot curl wget git tree -y

Termux 除了支持 pkg 命令安装软件,也可以通过 apt 来安装,pkg 命令向下兼容 apt 命令,只是运行前会执行一次 apt update,保证安装的是最新版本。

apt update     // 更新源
apt upgrade  // 升级软件包

apt install git    // 分布式管理工具
apt install wget   // 下载工具
apt install vim    // vim编辑器
apt install tar    // 解压缩工具
apt install less   // termux下vim支持触摸移动光标移动位置

除了 pkg / apt 命令安装软件,也可以使用 dpkg 进行安装 .deb 的软件包文件

4、常用快捷键

Ctrl键是终端用户常用的按键,但大多数触摸键盘都没有这个按键。为此 Termux 使用音量减小按钮来模拟Ctrl键。 例如,在触摸键盘上按音量减小+ L发送与在硬件键盘上按Ctrl + L相同的输入。

Ctrl+A -> 将光标移动到行首
Ctrl+C -> 中止当前进程
Ctrl+D -> 注销终端会话
Ctrl+E -> 将光标移动到行尾
Ctrl+K -> 从光标删除到行尾
Ctrl+L -> 清除终端
Ctrl+Z -> 挂起(发送SIGTSTP到)当前进程

音量加键 也可以作为产生特定输入的 特殊键

音量加+E -> Esc键
音量加+T -> Tab键
音量加+1 -> F1(和音量增加+ 2→F2等)
音量加+0 -> F10
音量加+B -> Alt + B,使用readline时返回一个单词
音量加+F -> Alt + F,使用readline时转发一个单词
音量加+X -> Alt+X
音量加+W -> 向上箭头键
音量加+A -> 向左箭头键
音量加+S -> 向下箭头键
音量加+D -> 向右箭头键
音量加+L -> | (管道字符)
音量加+H -> 〜(波浪号字符)
音量加+U -> _ (下划线字符)
音量加+P -> 上一页
音量加+N -> 下一页
音量加+. -> Ctrl + \(SIGQUIT)
音量加+V -> 显示音量控制
音量加+Q -> 显示额外的按键视图

5、基本命令

Termux 除了支持 apt 命令外,还在此基础上封装了 pkg 命令,pkg 命令向下兼容 apt 命令。

pkg search <query>              搜索包
pkg install <package>           安装包
pkg uninstall <package>         卸载包
pkg reinstall <package>         重新安装包
pkg update                      更新源
pkg upgrade                     升级软件包
pkg list-all                    列出可供安装的所有包
pkg list-installed              列出已经安装的包
pkg show <package>              显示某个包的详细信息
pkg files <package>             显示某个包的相关文件夹路径

目录结构特殊环境变量 PREFIX

~ > echo $HOME
/data/data/com.termux/files/home

~ > echo $PREFIX
/data/data/com.termux/files/usr

~ > echo $TMPPREFIX
/data/data/com.termux/files/usr/tmp/zsh

长期使用 Linux 的朋友可能会发现,这个 HOME 路径看上去可能不太一样,为了方便,Termux 提供了一个特殊的环境变量:PREFIX

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

6、 更换配色

使用 zsh 来替代 bash 作为默认 shell。可以使用一键安装脚本来安装,执行下面这个命令确保已经安装好了curl,没有的话根据它的提示安装,你没安装的话,执行了下面这条语句,它会给你一条安装 curl 的语句的。

sh -c “$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)”

Android6.0以上会弹框确认是否授权,允许授权后Termux可以方便的访问SD卡文件。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

执行脚本命令后,会有两个选项,分别选择色彩样式、字体样式,重启app后生效配置。如果有选择困难症,可以一遍遍选择自己合适的配色和字体方案。

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

设置色彩样式:输入chcolor命令更换色彩样式,或者执行~/.termux/colors.sh命令
设置字体:运行chfont命令更换字体,或者执行~/.termux/fonts.sh命令

分别选择 背景色字体 想要继续更改挑选配色的话,继续运行脚本来再次筛选:

~/termux-ohmyzsh/install.sh

exit 退出,重启 sessions 会话生效配置,如想深入使用,请访问?GitHub

访问外置存储 ( sdcard  )

如果要访问 sdcard 的目录,需要先运行:termux-setup-storage

完成授权后,在 $HOME 目录会多出一个 storage 目录,并且生成若干目录,软连接都指向外置存储卡的相应目录

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

创建QQ文件夹软连接

手机上一般经常使用手机 QQ 来接收文件,这里为了方便文件传输,直接在 storage 目录下创建软链接。

  • QQ 软连接:ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ
  • TIM 软连接:ln -s /data/data/com.termux/files/home/storage/shared/tencent/TIMfile_recv TIM

最后效果图如下:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

这样可以直接在home目录下去访问QQ文件夹,非常方便文件的传输,大大提升了工作效率。

oh my zsh 主题配色

编辑 .zshrc 配置文件:$ vim .zshrc

第一行可以看到,默认的主题是 agnoster 主题:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

在 .oh-my-zsh/themes 目录下放着 oh-my-zsh 所有的主题配置文件。

下面是几款还可以的主题

agnoster

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 robbyrussell

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

jaischeema 

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

re5et 

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

junkfood 

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

cloud 

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

random 

也可以尝试random主题,每打开一个会话配色主题都是随机的:ZSH_THEME=”random”

编辑启动问候语

默认的启动问候语如下:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

这个对于初学者有一定的帮助在前期,随着对Termux的熟悉,这个默认的问候语就会显得比较臃肿。编辑问候语文件直接修改问候语:

vim $PREFIX/etc/motd  //编辑问候语文件直接修改问候语

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

7、 管理员身份

手机没有 root

利用 proot 工具来模拟某些需要 root 的环境:pkg install proot

然后终端下面输:termux-chroot

就可以模拟 root 环境,在这个 proot 环境下面,相当于是进入了 home 目录,可以很方便地进行一些配置。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

在管理员身份下,输入 exit 可回到普通用户身份。

ssh 连接

安装 SSH 服务:pkg install openssh
设置密码:passwd 
查询手机ip,以实际手机ip为准:ifconfig
查询当前用户:whoami
确认ssh服务的监听端口:netstat -ntlp | grep sshd

信息确认后就可以在电脑端 cmd 下输入连接了,命令如下(前提是电脑端openssh已经安上了):ssh u0_a123@192.168.0.1 -p 8022   

这里假定用户名为 u0_a123(whoami查询可得)。ip 为192.168.0.1(ifconfig查询可得)。至此,Termux 基本环境就搭好了!

开启 ssh 的指令是:

sshd
sshd -p 9000
上面的一个指令默认打开的端口是8022,后一个指定了新的端口9000。

其他需要的软件自行安装。

安卓版 Linux — Termux

https://zhuanlan.zhihu.com/p/92664273

安卓版 Linux — Aid Learning

https://zhuanlan.zhihu.com/p/92161002

Termux 是一款安卓版的 Linux。 Aid Learning 是 Termux 的高仿!而且自带界面,自带Python!还是国产的。Aid Learning安装完毕后,需要等待,后台开始下载各种库。

官网:https://www.aidlux.com/product

下载地址:https://www.pianwan.com/app/121392

aid learning,一般又称 AidLux。

【AidLux是什么】:

  • AidLux是一个基于ARM构建,同时支持多生态融合(Android+Linux)环境的AI应用开发和部署平台,为开发者带来强大、简单、无限创意可能的奇妙体验!

【AidLux简介】:

  • 基于Android底层Linux kernel构建了完整Linux的环境,并且与Android环境同时提供于用户访问。在为用户提供和原生Linux系统类似的命令行使用体验(如通过 `apt` 命令进行包管理)的同时,构建了图形化桌面环境,用户可以直接通过触摸屏或浏览器访问。
  • AidLux补全了AI运行所需的所有基础科学计算包/库,支持了业界主流深度学习框架,并内置自主研发的AI智能加速技术,为开发者提供了一个“AI 就绪”的应用开发平台。

【AidLux强大的功能】

  • 1、一部设备同时运行两个系统环境,既是一部Android设备,同时也是一部Linux设备。两个生态的资源优势可同时被加以利用;
  • 2、集成主流AI框架(caffe、mxnet、keras、MNN、pytorch、tensorflow、ncnn、MindSpore、PaddlePaddle、TNN、opencv),无需配置,直接使用;
  • 3、海量的AI案例,人脸识别、人脸关键点识别、肢体识别、手势识别、头发识别、物体分类、物体跟踪、3D检测-、身体交换、换脸、人体抠图等。
  • 4、内置创新性的CPU+GPU+NPU智能加速技术,通过“硬件+框架+Op”多层优化,赋予深度学习运算性能的大幅度提升。并且提供统一API接口,在方便开发者调用的同时,还支持不同AI框架模型自动转换;
  • 5、支持多种开发语言:C/C++,Python,Java,JavaScript,Ruby,PHP,Go,Shell等;
  • 6、支持多种开发工具:AidCode,Wizard,VSCode,Jupyter notebook,pycharm,积木编程(青少年);
  • 7、扩展性好:内置了极简的外设极速互连模块,通过USB和网络等方式控制Arduino、机械臂、高清摄像机、深度相机等;
  • 8、丰富的Linux软件:Git,MySql,Hadoop,Nginx,Apache,Vim,SSH,ROS,PCL点云,Eigen,Home Assistant和g2o等多种工具;

极致安卓之 — Termux 安装完整版 Linux

Termux 并非完整版 Linux,而是一个模拟环境,如果想基于 Termux 安装完整版 Linux,比如 Ubuntu、Debian、Kali 等,请参考: :https://zhuanlan.zhihu.com/p/95865982

安装基础件 proot-distro:
    pkg install proot-distro 
或者
    apt install proot-distro
查看 proot-distro 的使用帮助为:
    proot-distro help

proot-distro list     查看可以安装的 Linux 系统。

安装以上系统就简单了: proot-distro install <alias> 

比如,我要安装ubuntu 20.04,指令为: proot-distro install ubuntu-20.04 

安装完成后,进入Linux发行版环境的指令为,比如安装的 ubuntu 为:proot-distro login ubuntu-20.04

每次进入 ubuntu 的命令太长,可以在 Termux 环境新建一个sh文件,比如新建u20.sh:vim u20.sh

输入如下内容(就是esc键+i键):proot-distro login ubuntu-20.04

然后退出(esc键+:键,再输入wq,回车),最后,在终端输入 ./u20.sh 就进入了真正的 linux 环境了。之后,传统操作比如换源,安装软件等等,一条龙走起来吧。输入 exit 可以退出登录的 linux 系统。

以上就是官方版的纯种Linux安装全过程。只要是国内源亲测安装没有bug,非常顺畅。

装完之后,现在开始安装 python 环境

apt install python3
apt install python3-pip

极致安卓 — Termux/Aid Learning安装宇宙最强VS Code

https://zhuanlan.zhihu.com/p/106593146

把安卓手机性能发挥到极致之 — Termux/Aid Learning使用Fortran

https://zhuanlan.zhihu.com/p/92280533

Termux 运行 gcc、gfortran

proot 介绍

wiki:https://wiki.termux.com/wiki/PRoot#Installing_Linux_distributions

手机已经 root

安装 tsu,这是一个 su 的 Termux 版本,是一个真正的 root 权限,用来在 Termux上替代su,操作不慎可能对手机有安全风险,因为官方封装了,所以安装也很简单:

安装 tsu:pkg install tsu -y
切换到 root:tsu
退出 root:exit

tsu  切换 root 用户时会弹出 root 授权提示,给予其 root 权限即可。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

在管理员身份下输入 exit 可回到普通用户身份。

8、 安装 python 和 必要模块

安装 Python2 和 Python3

  • 安装 python2.7:pkg install python2  安装完成后,使用 python2 命令启动
  • 安装 python3:pkg install python 安装完成后,使用 python 命令启动。
            注意:pkg install python 安装的是最新版的 Python

升级 pip 版本

python2 -m pip install –upgrade pip
python -m pip install –upgrade pip

安装 ipython

ipython 是一个 python 的交互式 shell,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。学习 ipython 将会让我们以一种更高的效率来使用 python。
先安装 clang,否则直接使用 pip 安装 ipython 会失败报错.

pkg install clang
pip install ipython
pip3.6 install ipython

然后分别使用 ipython 和 ipython2 进入 py2 和 py3 控制台:

编辑器

终端下有 vim 神器,并且官方也已经封装了 vim-python,对 vim 进行了 Python 相关的优化。

pkg install vim-python

解决 termux 下的 vim 汉字乱码

在家目录下新建 .vimrc 文件:vim .vimrc

添加内容如下:

set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030

然后 source 下变量:source .vimrc

效果图:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

创建 Python 虚拟环境

有些第三方模块会依赖 python-dev,所以也可以装上

pkg install python, python2
pkg install python-dev, python2-dev

或者

apt install python python-dev python2 python2-dev

也可以创建一个 Python 虚拟环境。这是 Python 开发者的常见做法,它有助于让你的 Python 项目独立于你的开发系统(在本例中是你的手机)。在你的虚拟环境中,你将能够安装特定于你应用的 Python 模块。

$ python -m venv venv

**你的新虚拟环境(注意,开头的两个点用空格隔开

$ . ./venv/bin/activate
(env)$

请注意你的 shell 提示符现在以 (env) 开头,表示你在虚拟环境中。现在使用 pip 安装 Flask Python 模块。

(env) $ pip install flask

安装 科学计算包:jupyter、numpy、matplotlib、pandas

方法来自这篇文章:Running Jupyter and the Scipy stack on Android

安装这四个包,首先安装下依赖。

apt install python 
apt install clang 
apt install fftw 
apt install libzmq 
apt install freetype 
apt install libpng 
apt install pkg-config

或者一条命令

apt install python clang fftw libzmq freetype libpng pkg-config

这四个包安装方法类似,不过实际中安装时很多人会踩坑,其中 jupyter 是最容易安装的,一般没问题。安好了就可以拥有 ipython 和 jupyter notebook 两大神器了。

LDFLAGS=”-lm -lcompiler_rt” pip install jupyter

这里 pip 之前加了东西,看到网上说是链接到数学库编译的意思。剩下三个其中 numpy 是基础包,是 pandas 和 matplotlib 的依赖包,方法类似。

LDFLAGS=”-lm -lcompiler_rt” pip install numpy matplotlib pandas

ipython 和 matplotlib

用 ipython 写代码可以使用各种魔法操作,termux 里的界面看着也很漂亮,

termux 下 ipython 界面如下图所示

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 不过可以看到里面“`import matplotlib.pyplot“`报错了,主要是缺后端绘图界面支持。命令行作图确实也不大现实。但还是可以在手机上使用 matplotlib 的,毕竟还有 jupyter notebook 嘛。

在 jupyter notebook 作图如下:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

安装 numpy,matplotlib 可能遇到的问题

numpy,matplotlib 可能在安装时可能会有问题,这个跟各个模块的版本号有关系。

安装报错不妨多试几个版本。就是在最后加上版本号信息诸如“pip install numpy==1.12.1“`  “`pip install matplotlib==1.2.0“`

当然如果你还要一起安装下面两个模块的话,还可以有别的解决方法。

安装 scipy 和 scikit-learn

这里安装后一个scikit-learn需要先安装scipy。安装时要用到gcc来编译,不过从某版本开始 termux官方版把 gcc 去除了。

参照官方 wiki 和 Github 的大致安装方法如下:

1. 安装 curl:pkg install curl

2. 命令行输入以下命令:$ curl -L https://its-pointless.github.io/setup-pointless-repo.sh | sh安装一个叫 gnupg 的东西,链接到了 termux 社区一位贡献者(its-pointless)编译的源中,其中把 numpy 和 scipy 直接编译好都包括进去了。只需要  pkg install numpy, scipy 即可。

Github 里原话是这样的

This script essentially installs gnupg on your device and downloads and adds a public key to your apt keychain ensuring that all subsequent downloads are from the same source.

3. 上面已经说了,就是 “`pkg install numpy, scipy“`

4. 最后安装 scikit-learn 就很简单了,直接 “`pip install scikit-learn“` 就行。

假如前面那个方法按照 numpy 报错,可以采用该方法

安装 爬虫模块 ( requests,BeautifulSoup4,lxml,scrapy )

常见的几个比如 requests,BeautifulSoup4,lxml,scrapy。

pip install BeautifulSoup4 requests

前两个很简单,直接 pip 安装就行。后两个有一些依赖,而且安装 scrapy 前必须要先装 lxml。

lxml

apt-get install clang
apt-get install libxml2 libxml2-dev libxslt libxslt-dev
pip install lxml

scrapy

apt install libffi libffi-dev openssl openssl-dev libxml2 libxml2-dev libxslt libxslt-dev
pip install scrapy

安装 nodejs

命令:pkg install nodejs

安装比较方便,但是在安装的时候报错了:Cannot read property ‘length’ of undefined

查了下是这边版本的问题

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 官方的解决方法如下
disable concurrency in case of libuv/libuv#1459

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

解决 npm 安装报错

vim $PREFIX/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js

我这里修改 length 的是4,这个好像和CPU有关,总之这里的 length 得指定一个数字.

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 然后在重新安装下 npm install hexo-cli -g 成功.

安装 MariaDB ( MySQL )

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

pkg install mariadb    安装 mariadb
mysql_install_db       安装基本数据
mysqld                 启动 mariadb 服务

启动完成后,这个会话就一直存活,类似与 debug 调试一样,只有新建会话才可以操作。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

关于隐藏会话可以使用 nohup 命令和 tmux命令,这里我建议使用 tmux 命令

设置 MariaDB 密码

 新建 termux 会话,由于 mariadb 安装的时候没有设置密码,所以当前的 mariadb 密码为空。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

mysql                        直接进入 mariadb 数据库
exit                         退出数据库
mysql_secure_installation    修改密码命令, 进行密码相关的安全设置

下面根据个人偏好来进行设置,没有绝对的要求
Remove anonymous users? [Y/n] Y                #是否移除匿名用户
Disallow root login remotely? [Y/n] n          #是否不允许root远程登录
Remove test database and access to it? [Y/n] n #是否移除test数据库
Reload privilege tables now? [Y/n] y           #是否重新加载表的权限

使用密码登录数据库
$ mysql -uroot -p
Enter password:****

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

安装 tmux

Tmux 是一个优秀的终端复用软件,类似 GNU Screen,但来自于 OpenBSD,采用 BSD 授权。一旦你熟悉了 tmux 后, 它就像一个加速器一样加速你的工作效率。

安装 tmux 的命令:pkg install tmux

典型的命令行使用方式

  • 打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session)。
  • 会话的一个重要特点是,窗口与其中启动的进程是绑定的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
  • 因此SSH 登录远程计算机,打开一个远程窗口执行命令,如果网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
  • 为了解决这个问题,会话与窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。Tmux 就是会话与窗口的”解绑”工具,将它们彻底分离。

tmux基本用法

  • (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
  • (2)它可以让新窗口”接入”已经存在的会话。
  • (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
  • (4)它还支持窗口任意的垂直和水平拆分。

启动与退出

安装完成后,执行命令:tmux 就进入了 Tmux 窗口。
上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。

按下 Ctrl+d 或者显式输入 exit 命令,就可以退出 Tmux 窗口。

前缀键

Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。然后,按下 ESC 键或q键,就可以退出帮助。

会话管理

创建会话命令:$ tmux new -s <session-name>   

  • 当指定 session-name 是会为新创建的会话起名。
  • 当省略时,第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。使用编号区分会话,不太直观,最好指定  session-name

分离会话

在 Tmux 窗口中,按下 Ctrl+b d 或者输入tmux detach 命令,就会将当前会话与窗口分离。
$ tmux detach
上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。

tmux ls 命令可以查看当前所有的 Tmux 会话。 
$ tmux ls
# or
$ tmux list-session

附加到会话

tmux attach 命令用于重新接入某个已存在的会话。
# 使用会话编号
$ tmux attach -t 0
# 使用会话名称
$ tmux attach -t <session-name>

杀死会话

tmux kill-session命令用于杀死某个会话。
# 使用会话编号
$ tmux kill-session -t 0
# 使用会话名称
$ tmux kill-session -t <session-name>

切换会话

tmux switch 命令用于切换会话。
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name>

重命名会话

tmux rename-session命令用于重命名会话。
$ tmux rename-session -t 0 <new-name>        # 将0号会话重命名。

会话快捷键

下面是一些会话相关的快捷键。

  • Ctrl+b d:分离当前会话。
  • Ctrl+b s:列出所有会话。
  • Ctrl+b $:重命名当前会话。

最简操作流程

综上所述,以下是 Tmux 的最简操作流程。

  1. 新建会话 tmux new -s my_session
  2. 在 Tmux 窗口运行所需的程序。
  3. 按下快捷键 Ctrl+b d 将会话分离。( 或者 tmux detach )
  4. 下次使用时,重新连接到会话tmux attach-session -t my_session

窗格 ( 分屏 ) 操作

Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。

划分窗格:tmux split-window 命令用来划分窗格。
# 划分上下两个窗格
$ tmux split-window
# 划分左右两个窗格
$ tmux split-window -h

移动 到 不同分屏

tmux select-pane 命令用来移动光标位置。

 # 光标切换到上方窗格:$ tmux select-pane -U 
# 光标切换到下方窗格:$ tmux select-pane -D
# 光标切换到左边窗格:$ tmux select-pane -L
# 光标切换到右边窗格:$ tmux select-pane -R

交换 窗格位置

tmux swap-pane 命令用来交换窗格位置。

 # 当前窗格上移:$ tmux swap-pane -U
# 当前窗格下移:$ tmux swap-pane -D

窗格 快捷键

下面是一些窗格操作的快捷键。

Ctrl+b %:划分左右两个窗格。
Ctrl+b “:划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格与上一个窗格交换位置。
Ctrl+b }:当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

窗口管理

除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口。

新建窗口:tmux new-window 命令用来创建新窗口。 
# 新建一个指定名称的窗口:$ tmux new-window -n <window-name>

切换窗口:tmux select-window命令用来切换窗口。
# 切换到指定编号的窗口:$ tmux select-window -t <window-number>
# 切换到指定名称的窗口:$ tmux select-window -t <window-name>

重命名窗口:tmux rename-window命令用于为当前窗口起名(或重命名)。
$ tmux rename-window <new-name>

窗口快捷键。下面是一些窗口操作的快捷键。

Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。
Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。

其他命令

 # 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys
 
# 列出所有 Tmux 命令及其参数
$ tmux list-commands
 
# 列出当前所有 Tmux 会话的信息
$ tmux info
 
# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf

新建 mysql 会话

上面介绍的 mysqld 后会一直卡在那里,强迫症表示接受不了,重启手机,现在尝试使用 tmux 来管理会话。

tmux new -s mysql

可以看到最下面的提示,表明现在是在 mysql 的会话下面操作

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

启动 mysqld 并断开会话

启动 mysqld

mysqld

让会话后台运行
使用快捷键组合 Ctrl+b + d,三次按键就可以断开当前会话。

使用 mysql

现在那个mysqld会话被放在后台运行了,整个界面看上去很简介,使用

mysql -uroot -p

可以优雅的使用数据库了。效果图

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

关于 tmux 更多进阶的用法这里不在过多介绍了。

安装 PHP、nginx

termux 封装的 php 版本是 php 7.2.5

安装 nginx 包:pkg install nginx

安装命令:pkg install php ,查看 php 版本

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

自 PHP5.4之后 PHP内置了一个Web 服务器。

编写测试文件

在家目录下建一个 www 文件夹:mkdir www
在 www 文件夹下新建一个 index.php 文件,其内容为:<?php phpinfo();?>

具体操作如下:

mkdir www
vim www/index.php
tree www/

启动 WebServer

php -S 127.0.0.1:8080 -t www/

安卓 手机 web:https://cn.bing.com/search?q=%E5%AE%89%E5%8D%93%20%E6%89%8B%E6%9C%BA%C2%A0web

启动 nginx

Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性.

默认的普通权限无法启动 nginx,需要模拟 root 权限才可以,切换 root 用户(切换命令:termux-chroot )进入模拟的 root 环境,尝试能不能解析默认的 index.html 主页,这个文件在 termux 上的默认位置为 /data/data/com.termux/files/usr/share/nginx/html/index.html

在模拟的 root 环境下启动 nginx:nginx

termux 上 nginx 默认的端口是 8080,查看下8080端口是否在运行:netstat -an |grep 8080

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 然后手机本地直接访问:http://127.0.0.1:8080

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

这样一个默认的 nginx 服务就起来了,但是意义不大,得配置一下可以解析php才会有更大的意义.

停止 nginx 服务

这里是直接杀掉占用端口的进程,具体端口以实际情况为准.

fuser -k 8080/tcp

重启 nginx 服务

nginx -s reload

nginx 解析 PHP

成功解析的话,下面安装 wordpress 等 cms 就会轻松很多。
nginx 本身不能处理 PHP,它只是个 web 服务器,当接收到 php 请求后发给 php 解释器处理,nginx 一般是把请求发 fastcgi 管理进程处理,PHP-FPM 是一个 PHP FastCGI 管理器,所以这里得先安装 php-fpm。

这里默已经安装了nginx 和 php,没有安装的话,使用 pkg install php nginx 来进行安装,参考上面部分进行配置

安装并配置 php-fpm

安装 php-fpm

pkg install php-fpm

配置 php-fpm
进入proot环境,然后编辑配置文件www.conf(先进proot可以更方便操作编写相关配置文件)

termux-chroot
vim /etc/php-fpm.d/www.conf

定位搜索 listen 找到

listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock

将其改为

listen = 127.0.0.1:9000

配置 nginx

proot环境下,然后编辑配置文件nginx.conf

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;
        }
    }

}

里面的网站默认路径就是nginx默认的网站根目录:

root   /data/data/com.termux/files/usr/share/nginx/html;
fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

要修改网站默认路径的话,只需要修改这两处即可.

建立 php 测试文件

在 /usr/share/nginx/html 目录下新建一个 phpinfo.php 文件,其内容是:<?php phpinfo();?>

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

启动 php-fpm 和 nginx

proot环境下面分别启动php-fpmnginx,这里的nginx不在proot环境下启动后会出一些问题,感兴趣的可以自己去研究看看.

php-fpm
nginx

浏览器访问测试

浏览器访问 http://127.0.0.1:8080/phpinfo.php 查询php文件是否解析了. Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

搭建 WordPress

这里只是用 wordpress 做个典型案例来讲解,类似地可以安装 Discuz、DeDecms等国内主流的PHP应用程序。

方法一:使用 PHP 内置的 Web Server

确保安装并配置了php 和 mariadb,没有安装好的话,参考本文中具体细节部分来进行安装。
新建数据库

mysql -uroot -p*** -e"create database wordpress;show databases;"

*** 这里是 mysql 的密码

下载解压 wordpress

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
pkg install unzip
unzip wordpress-4.9.4-zh_CN.zip

启动 PHP Web Server

到解压后的 wordpress 目录下,执行

cd wordpress
php -S 127.0.0.1:8080

然后浏览器访问 127.0.0.1:8080 开始进行 wordperss 的安装。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

方法二:nginx + PHP + Mariadb

上面使用的方法一是直接使用 PHP 自带的 PHP Web Server 来运行的,看上去不够严谨~,所以这里用 nginx 来部署 wordpress。确保已经安装 PHP、php-fpm、mariadb,配置可以参考上面说明。这里主要介绍使用 nginx 去解析 wordpress源文件。 当前解压后wordpress的绝对路径是:

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

编辑 nginx.conf

vim /etc/nginx/nginx.conf

修改为如下几处:

root   /data/data/com.termux/files/home/wordpress;
        index  index.html index.htm index.php;
fastcgi_param  SCRIPT_FILENAME  /data/data/com.termux/files/home/wordpress$fastcgi_script_name;

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

启动 php-fpm 和 nginx

在 proot 环境下面分别启动 php-fpm 和 nginx,这里的 nginx 不在 proot 环境下启动后会出一些问题,感兴趣的可以自己去研究看看。

php-fpm
nginx

安装 wordpress

浏览器访问:http://127.0.0.1:8080/wp-admin/setup-config.php 进行安装.

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 同理安装其他博客也就轻而易举了,可玩性大大增加~

搭建 hexo 博客

没错还能搭建 Hexo,但是我的 hexo 是用的电脑。但是这并不代表手机就不能玩了,你要是觉得不方便,还可以用电脑来控制。

安装 hexo

npm install hexo-cli -g

部署 hexo 博客环境

然后建立一个目录,然后到这个目录下初始化 hexo 环境

mkdir hexoblog  # 手动创建一个目录
cd hexoblog
hexo init       # 初始化hexo环境
hexo g          # 生成静态文件
hexo s          # 启动hexo

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 然后就跑起来一个最基本的 hexo 博客。关于 hexo 博客的详细教程,建议搭建去参考 hexo 官方文档。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

termux ssh 连接电脑

有时候要操作电脑,这个时候有了 termux,躺在床上就可以操作电脑了,岂不是美滋滋~~

pkg Install openssh    # 安装 openssh
sshd                   # 启动SSH
pkill sshd             # 关闭SSH
whoami                 # 查看登录用户名
passwd                 # 设置密码

ssh root@192.168.1.8 -p 8022    # 使用 putty 连接,注意,这里指定SSH的端口是8022并不是22端口。值得注意的是关闭termux后,ssh进程也需要重新启动一下,或者加入系统自启动。

echo “sshd” >> ~/.bashrc

手机连接操作电脑效果图:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

电脑 ssh 连接 Termux

emmm 这个需求比较鸡肋,但是写文字嘛就得写全了~

安装 openssh,同样也需要openssh才可以:pkg install openssh

启动sshd,安装完成后,sshd服务默认没有启动,所以得手动启动下:sshd

因为手机上面低的端口有安全限制,所以这里的 openssh 的 sshd 默认端口是 8022。

使用 whoami 命令查看 登录 ssh 的用户名

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

可以看到 sshd 启动后,端口才可以看到. 

PC端生成公钥

​ssh 登录是 key 公钥模式登录,首先在PC端生成秘钥:sqlsec@ubuntu:-> ssh-keygen -t rsa
执行完成后,会在家目录下创建3个文件:id_rsa, id_rsa.pub , known_hosts

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

​拷贝公钥到手机。然后把公钥 id_rsa.pub 拷贝到手机的 data\data\com.termux\files\home\.ssh 文件夹中。然后再在 Termux 下将公钥拷贝到 验证文件中:cat id_rsa.pub > authorized_keys

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

PC端 连接 手机 termux

sqlsec@ubuntu-> ssh -p8022 u0_a119@192.168.1.3

效果图 

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

pc 端连接手机 termux 真心鸡肋呀~(忍不住自己吐槽下自己)

使用 Aria2 打造自己的下载工具

Aria2 是一个轻量级多协议和多源命令行下载实用工具。它支持 HTTP / HTTPS, FTP, SFTP, bt 和 Metalink。通过内置 Aria2 可以操作 json – rpc 和 xml – rpc。配置好的话还可以高速下载百度云文件.

安装 aria2

pkg install aria2

本地启动服务

aria2c –enable-rpc –rpc-listen-all

这个 rpc 服务默认监听的是 6800 端口,启动后方便下面的 Web 界面连接操作。

webui-aria2

这是个 Aria2 的热门项目,把 Aria2 封装在了 Web 平台,操作起来更加简单便捷。

git clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js

需要 node 来运行,没有安装的 话使用 pkg install nodejs来安装

使用效果图 ,速度蛮快的 ,有兴趣的可以研究如何利用aria2来下载百度云文件,等你们来探索.

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

多功能文件分享

官方项目地址:https://github.com/mholt/caddy

安装 caddy

官方:到目前为止,在Android上运行 Caddy 有两种方式:Termux和adb,所以那就顺便折腾一下看看吧:

cd ~
curl https://getcaddy.com | bash -s personal http.filemanager

这一步可能执行要3番钟左右,耐心等待一下即可.

编写配置文件

cd ~
vim Caddyfile
内容如下:

:8080 {

filemanager / /sdcard
timeouts none
gzip
}

这里的 8080 端口号可以随意指定,因为手机权限比较低,所以一般设置 1024 以上的端口。
注意:8080 和 { 之间有一个空格
注意:/ / sdcard 两个斜杠之间也有一个空格

启动 caddy

执行命令:caddy

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

效果

浏览器访问:http://127.0.0.1:8080 即可,局域网内的用户访问手机ip地址即可。
默认账号和密码为 admin / admin

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

可以在设置界面里面 设置简体中文,可以修改更新默认密码.

可以直接查看文件,也支持Linux命令搜索.

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Termux-api

Termux:API,用于访问手机硬件,实现更多的可玩性,可以实现如下等功能:

  • 访问电池信息
  • 获取相机设备信息
  • 获取本机设备信息
  • 获取设置剪贴板信息
  • 获取通讯录信息
  • 获取设置手机短信
  • 拨打号码
  • 振动设备

安装 Termux-api

Termux-api Google Play下载地址:https://play.google.com/store/apps/details?id=com.termux.api

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

如何在电脑上下载Google play上的应用?:https://www.zhihu.com/question/22382577

安装 Termux-api 软件包

安装完Termux-apiAPP后,Termux里面必须安装对应的包后才可以实现操作手机底层。

pkg install termux-api

下面只列举一些可能会用到的,想要获取更多关于Termux-api的话,那就去参考官方文档.

获取电池信息

termux-battery-status

可以看到电池的-健康状况-电量百分比-温度情况等

{

  “health”: “GOOD”,
  “percentage”: 67,
  “plugged”: “UNPLUGGED”,
  “status”: “DISCHARGING”,
  “temperature”: 24.600000381469727
}

获取相机信息

termux-camera-info

获取与设置剪贴板

查看当前剪贴板内容

termux-clipboard-get

设置新的剪贴板内容

termux-clipboard-set PHP是世界上最好的语言

效果演示

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

获取通讯录列表

termux-contact-list

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

查看短信内容列表

termux-sms-inbox

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

发送短信

termux-sms-send

支持同时发送多个号码,实现群发的效果,官方介绍如下:

termux-sms-send -n number(s)  recipient number(s) – separate multiple numbers by commas

发送测试

termux-sms-send -n 10001 cxl

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

拨打电话

termux-telephony-call

拨打电话给10001中国电信,查看下话费有没有欠费~?

termux-telephony-call 10001

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

WiFi 相关

获取当前WiFi连接信息

termux-wifi-connectioninfo

获取最近一次WiFi扫描信息

termux-wifi-scaninfo

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

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

一些无聊的尝试

一些无聊有趣的版块,如果你是一个正经讲究人,可以跳过这个板块以节约你的阅读时间.

nyancat 彩虹猫

彩虹貓(英语:Nyan Cat)是在2011年4月上传在Youtube 的视频,并且迅速爆红于网络,並在2011年YouTube浏览量最高的视频中排名第五.

pkg install nyancat
nyancat

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 什么鬼~完全Get不到国外人的趣味点~

终端二维码

Linux 命令行下的二维码,主要核心是这个网址:http://qrenco.de/

echo “http://www.sqlsec.com” |curl -F-=\<- qrenco.de

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

如果你不嫌无聊的话还可以扫描这个二维码,然后就打开我的博客了.

终端地图

一个基于nodejs编写的命令行下的地图.

npm install mapscii -g
mapscii

进入终端地图 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 操作方法

  • 方向键 移动
  • az键 放大缩小
  • q键 退出

终端下的地图!讲究人~ 如果你足够无聊的话,还可以尝试能不能在这个地图上找到自己所在的位置.

安装 Linux

甚至还可以在 Termux 里面在安装其他的 Linux 发行版.

由于本文篇幅已经过长了,这里不在叙述了,感兴趣,能折腾的自己去找一些资料。下面列出目前网友们用 Termux 可以成功安装的发行版:

  • Ubuntu
  • Arch
  • Fedora
  • Kali Nethunter

Ubuntu

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 Fedora

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

安装步骤

  • 1.下载安装脚本:wget http://funs.ml/file/atilo
  • 2.设置执行权限:chmod +x atilo
  • 3.运行atilo:./atilo

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 通过它告诉我们的用法,我们就可以来安装了,注意流量哦,记得用 WiFi,土豪随意。

4. 比如安装 Arch 试试:./atilo arch

然后稍等一会儿,安装完成之后会提示你通过 startarch 指令启动:startarch

5. 如果你不想要了,也可以删除:./atilo -r arch

内网穿透

使用 ngrok 或者 frp 可以将 Termux 上面搭建的网站映射到外网上去,手机建站也不是不可能了。

关键字: frp 内网穿透

关键字: frp 内网穿透 安卓 手机

Python Jupyter Notebook

Jupyter notebook(又称 IPython notebook),支持运行超过40种编程语言。Python 的一个强大的模块,成功安装的话可以实现比caddy的效果,支持web下的终端操作,支持代码高亮运行。由于这里需要安装大量文件,加上用户需求比较少,这一块感兴趣的话可以自己去探索。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

下载工具

you-get

是一款命令行工具,用来下载网页中的视频、音频、图片,支持众多网站,包含 41 家国内主流视频、音乐网站,如 网易云音乐、AB 站、百度贴吧、斗鱼、熊猫、爱奇艺、凤凰视频、酷狗音乐、乐视、荔枝FM、秒拍、腾讯视频、优酷土豆、央视网、芒果TV 等等,只需一个命令就能直接下载视频、音频以及图片回来,并且可以自动合并视频。而对于有弹幕的网站,比如 B 站,还可以将弹幕下载回来

BaiduPCS-Go

仿 Linux shell 文件处理命令的百度网盘命令行客户端。

项目地址:https://github.com/iikira/BaiduPCS-Go

可以完美在 Termux 上运行。

 Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 相对来说 国外的 Termux DIY 的氛围比国内好很多,Youtube 上的视频都有很高的播放量。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

9、termux / Tasker 联合使用

termux-tasker:https://github.com/termux/termux-tasker

安装 termux-task.apk 。具体使用方法:

1. Tasker任务里添加插件>termux:task,然后添加用termux编写的脚本了。

2. 脚本放置位置是有要求的,就是要放到“`~/.termux/tasker“`文件夹里。需要在termux里创建该目录(如下代码所示),然后放入脚本就行。

mkdir -p .termux/tasker

3. 这个跟文件系统有关系。比如“`~/.termux“`. ~ 表示 $HOME, 对于termux来说也就是这个路径 “/data/data/com.termux/files/home”.手机未root时 这个目录只有termux才有权限访问。

4. 实际测试时发现,termux中的可执行程序开头必须加上声明行才可以使用,不然都是当成sh脚本运行的。比如对于python文件,开头要加上一行:#!/data/data/com.termux/files/usr/bin/python

5. python程序中有文件操作时,没办法直接写一个相对路径,写上绝对路径是可以的。

比如之前提到的“`.termux/tasker“`文件夹中的xxx.py,

假如程序中有个写入文件“`data/xxx.csv“`,要换成下面的绝对路径:/data/data/com.termux/files/home/.termux/tasker/data/xxx.csv

如下图,为Tasker中添加Termux脚本的界面,这里添加了一个py脚本,选择在termux中运行

Tasker添加termux脚本

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 下图即为脚本执行界面

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

10、在 Android 上写 Python 代码,部署 web 服务

你已经准备好了。现在你需要为你的应用编写代码。要做到这一点,你需要有经典文本编辑器的经验。我使用的是 vi 。如果你不熟悉  vi ,请安装并试用  vimtutor ,它(如其名称所暗示的)可以教你如何使用这个编辑器。如果你有其他你喜欢的编辑器,如  jove 、 jed 、 joe 或  emacs ,你可以安装并使用其中一个。

现在,由于这个演示程序非常简单,你也可以直接使用 shell 的 heredoc 功能,它允许你直接在提示符中输入文本。

(env)$ cat << EOF >> hello_world.py
> from flask import Flask
> app = Flask(__name__)
>
> @app.route(‘/’)
> def hello_world():
>     return ‘Hello, World!’
> EOF
(env)$

这只有六行代码,但有了它,你可以导入 Flask,创建一个应用,并将传入流量路由到名为 hello_world 的函数。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 现在你已经准备好了网页服务器的代码。现在是时候设置一些 环境变量 ,并在你的手机上启动一个网页服务器了。

(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

启动应用后,你会看到这条消息:

serving Flask app… running on http://127.0.0.1:5000/

这表明你现在在 localhost(也就是你的设备)上运行着一个微型网页服务器。该服务器正在监听来自 5000 端口的请求。

打开你的手机浏览器并进入到 http://localhost:5000 ,查看你的网页应用。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 你并没有损害手机的安全性。你只运行了一个本地服务器,这意味着你的手机不接受来自外部世界的请求。只有你可以访问你的 Flask 服务器。

为了让别人看到你的服务器,你可以在 run 命令中加入  --host=0.0.0.0 来禁用 Flask 的调试模式。这会打开你的手机上的端口,所以要谨慎使用。

(env) $ export FLASK_ENV=””
(env) $ flask run –host=0.0.0.0

按 Ctrl+C 停止服务器(使用特殊的  Termux 键来作为  Ctrl 键)。

11、信息安全

因为 Termux 完美的支持 Python 和 Perl 等语言,所以有太多优秀的信息安全工具值得大家去发现了, 这里就不一一列举了。总的来说可玩性还是比较高的。

Metasploit

安装 Metasploit

Termux 官方提供的自动话脚本安装方法如下:

cd ~
pkg install wget
wget https://Auxilus.github.io/metasploit.sh
bash metasploit.sh

注:在x86平台下自动化安装失败,想在x86平台下安装的参考 官方的文档 手动去安装.  

这个过程平均耗时大约3分钟左右(使用国内的清华源的情况下).  

配置 msf 数据库缓存

意外发现数据库居然都配置好了,启动msfconsole会自动连接数据库了.  

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

 接下来重建数据库缓存:msf > db_rebuild_cache

这个时候立刻去搜索发现缓存依然没有建立,只能使用慢速搜索,这里其实是这个缓存建立需要时间,只要稍微等待一下就可以了。然后就可以实现msf 秒搜索的效果了,无需等待,感觉比电脑上还要快呐  

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

解决 metasploit 启动后无法连接数据库

使用自动化脚本安装好 Metasploit 后使用 db_status 发现数据库是处于连接状态的,然后在使用 db_rebuild_cache 重新建立缓存,等待大约3分钟后,便可以使用快速搜索了,没毛病~,但是在一段日子过后,可能会出现以下情况:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
        Is the server running on host “127.0.0.1” and accepting
        TCP/IP connections on port 5432?

报这个错误是因为 postgresql 数据库没有启动造成的。解决方法就是启动数据库:

本方法只针对termux上使用自动化脚本安装 msf

pg_ctl -D $PREFIX/var/lib/postgresql start

启动数据库后重新进入 msfconsole 会发现启动没有报错了, db_status 查看下数据库连接,也正常了:

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Nmap

端口扫描必备工具

安装命令:pkg install nmap

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

hydra

Hydra 是著名的黑客组织THC的一款开源暴力激活成功教程工具这是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。

 安装命令:pkg install hydra

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

sslscan

SSLscan 主要探测基于 ssl 的服务,如 https。SSLscan 是一款探测目标服务器所支持的SSL加密算法工具。SSlscan 的代码托管在 https://github.com/DinoTools/sslscan

安装命令:pkg install sslscan

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

whatportis

whatportis 是一款可以通过服务查询默认端口,或者是通过端口查询默认服务的工具,简单易用。在渗透测试过程中,如果需要查询某个端口绑定什么服务器,或者某个应用绑定的默认端口,可以使用 whatportis 查询。

 安装命令:pip2 install whatportis

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

SQLmap

SQLmap 是一款用来检测与利用SQL注入漏洞的免费开源工具,

官方项目地址: https://github.com/sqlmapproject/sqlmap

直接 git clone 源码

git clone https://github.com/sqlmapproject/sqlmap.git
cd sqlmap
python2 sqlmap.py

sqlmap 支持 pip 安装了,所以建议直接 pip install sqlmap 来进行安装,然后终端下直接 sqlmap就可以了,十分方便。

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

RouterSploit

RouteSploit 框架是一款开源的路由器等嵌入式设备漏洞检测及利用框架。

pip2 install requests
git clone https://github.com/reverse-shell/routersploit
cd routersploit
python2 rsf.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Slowloris

低带宽的 DoS 工具

git clone https://github.com/gkbrk/slowloris.git
cd slowloris
chmod +x slowloris.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

RED_HAWK

一款采用 PHP 语言开发的多合一型渗透测试工具,它可以帮助我们完成信息采集、SQL漏洞扫描和资源爬取等任务。

pkg install php
git clone https://github.com/Tuhinshubhra/RED_HAWK.git
cd RED_HAWK
php rhawk.php

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Cupp

Cupp 是一款用 Python 语言写成的可交互性的字典生成脚本。尤其适合社会工程学,当你收集到目标的具体信息后,你就可以通过这个工具来智能化生成关于目标的字典。

git clone https://github.com/Mebus/cupp.git
cd cupp
python2 cupp.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

Hash-Buster

Hash Buster 是一个用 python 编写的在线激活成功教程 Hash 的脚本,官方说5秒内激活成功教程,速度实际测试还不错哦~

git clone https://github.com/UltimateHackers/Hash-Buster.git
cd Hash-Buster
python2 hash.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

D-TECT

D-TECT 是一个用 Python 编写的先进的渗透测试工具,

  • wordpress 用户名枚举
  • 敏感文件检测
  • 子域名爆破
  • 端口扫描
  • Wordperss扫描
  • XSS扫描
  • SQL注入扫描等

git clone https://github.com/shawarkhanethicalhacker/D-TECT.git
cd D-TECT
python2 d-tect.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

WPSeku

WPSeku 是一个用 Python 写的简单的 WordPress 漏洞扫描器,它可以被用来扫描本地以及远程安装的 WordPress 来找出安全问题。被评为2017年最受欢迎的十大开源黑客工具.

git clone https://github.com/m4ll0k/WPSeku.git
cd WPSeku
pip3 install -r requirements.txt
python3 wpseku.py

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

XSStrike

XSStrike 是一种先进的 XSS 检测工具。它具有强大的模糊测试引擎.

git clone https://github.com/UltimateHackers/XSStrike.git
cd XSStrike
pip2 install -r requirements.txt
python2 xsstrike

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38817.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注