用手機寫代碼之終端 Termux
終端是每個程序猿的必需品,每天有很多的工作需要和終端打交道。但你有想過如何在手機上使用它嘛?沒錯 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 keycd .ssh/ ssh-keygen -b 4096 -t rsa
將生成的 id_rsa.pub 公鑰的內容放到伺服器的 authorized_keys 中,再創建 .ssh/ 下的 config 文件,將伺服器的地址等信息配置好。
// config 文件中添加Host _name_Hostname _ip_Port 22User rootIdentityFile ~/.ssh/id_rsa
如果需要 Android 對外提供 ssh 服務,可以將要授權機器上的公鑰添加到 .ssh/ 下的 authorized_keys 文件中。同時需要啟動 ssh 服務。
// ssh 到遠程伺服器ssh _name_// 啟動 ssh 服務nohup sshd &
查看編輯代碼
為了能夠愉快滴查看編輯代碼我們還需要裝一些包。
// 安裝 git 命令工具pkg install git// 安裝 vim, zsh 和 oh-my-zshpkg install vim zshbash -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_dbmysql -urootcreate database wordpress default character set utf8 collate utf8_general_ci;// 啟動各個服務nginxphp-fpmnohup mysqld &
工欲善其事必先利其器,最後讓我們來看看 Twitter 上的大佬們的裝備吧。
推薦閱讀:
※Android 如今仍有哪些缺點?
※安卓系統的缺點有多少是源於系統架構?
※c++/c#/android/ios/web里各有哪些輕量級開源項目適合入門者?
※andoird開發中,關於使用GSON解析JSON時,怎麼寫實體類的問題?
※如何評價魅藍 6?