安裝Termux的手機上執行Python
1. Termux 終端
Android是一個單使用者圖形化系統,功能主要以應用的形式呈現給使用者,因此在系統上我們無法直接獲取終端,更是無法直接呼叫系統自帶的豐富指令。使用ADB是一個曲線救國的方法,開啟USB除錯後開發者可以在桌面系統的終端中觸發Android系統自帶指令,使用方法大概如下:
adb shell env # 檢視Android的環境變數
這種方法需要一臺電腦的配合,為了實現全天候、無差別的終端體驗,你首先需要一個終端模擬器來保證隨時隨地地使用終端。
Android平臺我們推薦Termux終端模擬器。
TermuxTermux終端有很多優秀的特性,這裡要說兩點:
- Termux有針對手機輸入優化的鍵盤顯示,長按KEYBOARD選項可開啟該功能
- Termux維護著適合Android的庫,並自帶包管理器apt
因此,在Android上使用Termux終端和在Linux上使用終端一樣方便。
安裝完Termux後你有以下幾個步驟需要完成:
- 到手機設定中開啟 Termux 的儲存許可權,否則在Termux終端無法訪問內部儲存
- 修改Termux的源地址 (特別是國內使用者)
和Linux類似,Termux有自己的軟體源,安裝Termux後預設的軟體源是Termux官網,即 http://termux.net,可開啟源列表檢視。
### 如何檢視
export EDITOR=vi
apt edit-sources
源列表的一般格式為:
# The main termux repository
deb [arch=all,你的平臺架構] http://termux.net stable main
上面的指令中我們指定 vi 作為預設文字編輯器,vi指令是Termux自帶的,你也可以指定其他文字編輯器,但需要先安裝。預設的源伺服器在國內是無法訪問的,除非使用梯子,也就是說剛開始你可能只能使用vi編輯器,而且不能安裝任何軟體,畢竟 apt updage && apt upgrade
都不能成功執行,換言之沒有梯子預設情況下你無法獲取資源列表。
國內使用者建議使用清華維護的源伺服器:
## 國內使用者建議使用的源列表內容
# The main termux repository
# deb [arch=all,你的平臺架構] http://termux.net stable main
deb [arch=all,你的平臺架構] http://mirrors.tuna.tsinghua.edu.cn/termux stable main
預設情況下內容是使用http協議傳輸的,我們可以為apt新增安全傳輸支援,這樣就可以使用https安全傳輸協議。
apt install apt-transport-https
這時再次修改源伺服器的傳輸協議為https並更新即可。
安裝Termux後我們不僅可以在手機上使用/system/bin
下的命令,還能下載新的指令使用。
2、Termux的安裝Python
1. 更新包
apt update
apt upgrade
2. 修改源
export EDITOR=vi
apt edit-sources
在vi編輯器裡把第二行替換成以下內容(清華映象源)
deb [arch=all,arm] http://mirrors.tuna.tsinghua.edu.cn/termux stable main
在vi編輯器裡,輸入第一個i
進入編輯模式(插入),下面會給出提示“INSERT”,此時再打字就是在游標左邊插入字元。等修改完畢後,按住音量上,同時輸入e
,即可退出編輯模式。再輸入:wq
儲存並退出vi。
3. Python環境部署
安裝python2.7
pkg install python2
安裝完成後,使用python2
命令啟動python 2.7.14
環境.
安裝python3
pkg instll python
安裝完成後,使用python
命令啟動python 3.6.5
環境.
升級pip版本
python2 -m pip install --upgrade pip
python -m pip install --upgrade pip
這兩條命令分別升級了pip2
和pip3
到最新版.
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
3、Termux的使用技巧
安裝基本工具
pkg update pkg install vim curl wget git unzip unrar
啟用外接儲存
Android6.0以上會彈框確認是否授權,執行這條命令確保termux在最前端(當前Activity)
termux-setup-storage
成功拿到儲存許可權後會在家目錄生成storage目錄,並且生成若干目錄,軟連線都指向外接儲存卡的相應目錄
顯示擴充套件功能按鍵
方法一
從左向右滑動,顯示隱藏式導航欄,長按左下角的KEYBOARD
.
方法二
使用Termux
快捷鍵:音量+
+Q
鍵
常用快捷鍵
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
-> 顯示額外的按鍵檢視
基本命令
Termux
除了支援apt
命令外,還在此基礎上封裝了pkg
命令,pkg
命令向下相容apt
命令.apt
命令大家應該都比較熟悉了,這裡直接簡單的介紹下pkg
命令:
pkg search <query> 搜尋包
pkg install <package> 安裝包
pkg uninstall <package> 解除安裝包
pkg reinstall <package> 重新安裝包
pkg update 更新源
pkg upgrade 升級軟體包
pkg list-all 列出可供安裝的所有包
pkg list-installed 列出已經安裝的包
pkg shoe <package> 顯示某個包的詳細資訊 pkg files <package> 顯示某個包的相關資料夾路徑
目錄環境結構
~ > 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
Termux-api
Termux:API,用於訪問手機硬體,實現更多的可玩性,可以實現如下等功能:
- 訪問電池資訊
- 獲取相機裝置資訊
- 獲取本機裝置資訊
- 獲取設定剪貼簿資訊
- 獲取通訊錄資訊
- 獲取設定手機簡訊
- 撥打號碼
- 振動裝置
安裝Termux-api
安裝Termux-api軟體包安裝完Termux-api
APP後,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 000
獲取通訊錄列表
termux-contact-list
檢視簡訊內容列表
termux-sms-inbox
傳送簡訊
termux-sms-send
支援同時傳送多個號碼,實現群發的效果,官方介紹如下:
termux-sms-send -n number(s) recipient number(s) - separate multiple numbers by commas
傳送測試
termux-sms-send -n 10001 cxll
撥打電話
termux-telephony-call
撥打電話給10001
中國電信,檢視下話費有沒有欠費~?
termux-telephony-call 10001
WiFi相關
獲取當前WiFi連線資訊
termux-wifi-connectioninfo
獲取最近一次WiFi掃描資訊
termux-wifi-scaninfo
小結
直接操作調動系統底層的話,可以通過程式設計來實現自動定時簡訊傳送,語音播報等 DIY空間無線
一些無聊的嘗試
一些無聊有趣的版塊,如果你是一個正經講究人,可以跳過這個板塊以節約你的閱讀時間.
nyancat 彩虹貓
彩虹貓(英語:Nyan Cat)是在2011年4月上傳在Youtube 的視訊,並且迅速爆紅於網路,並在2011年YouTube瀏覽量最高的視訊中排名第五.
pkg install nyancat
nyancat
什麼鬼~完全Get不到國外人的趣味點~
終端二維碼
Linux 命令列下的二維碼,主要核心是這個網址:http://qrenco.de/
echo "http://www.sqlsec.com" |curl -F-=\<- qrenco.de
如果你不嫌無聊的話還可以掃描這個二維碼,然後就開啟我的部落格了.
終端地圖
一個基於nodejs
編寫的命令列下的地圖.
npm install mapscii -g
mapscii
進入終端地圖
- 方向鍵 移動
a
和z
鍵 放大縮小q
鍵 退出
終端下的地圖!講究人~ 如果你足夠無聊的話,還可以嘗試能不能在這個地圖上找到自己所在的位置.
from: http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/4875.html
http://www.freebuf.com/geek/170510.html