Termux 入門教程:架設手機 Server 下載檔案

阮一峰發表於2019-07-23

手機檔案,比如照片和視訊,如何下載到桌面電腦?

普通使用者可以使用手機線,將手機和電腦連起來。作為開發者,其實有更方便的方法,就是在手機架設一個 HTTP 服務,然後從桌面瀏覽器訪問手機。

本文講解如何使用 Termux 架設手機的 HTTP 伺服器。

一、Termux 是什麼?

Termux 是一個安卓手機的 Linux 模擬器,可以在手機上模擬 Linux 環境。它提供一個命令列介面,讓使用者與系統互動。

它就是一個普通的手機 App,可以從應用商店下載安裝。不需要 root 許可權,也不需要設定,開啟就能使用。

二、環境準備

開啟 Termux 以後,就是一個全屏的命令列介面。雖然可以用手機的觸控鍵盤輸入命令,但還是推薦使用藍芽鍵盤。

第一步,更新一下系統,保證使用最新版本。


# 連線遠端倉庫,獲取軟體包資訊
$ apt update

# 更新本地已經安裝的軟體包
$ apt upgrade

第二步,測試系統。


# 安裝 sl 軟體包
$ apt install sl

# 執行
$ sl

上面命令安裝測試包sl,然後執行。如果一切正常,會顯示一個火車的命令列動畫。

第三步,訪問本機儲存。

手機 App 預設只能訪問自己的資料,如果要訪問手機的儲存,需要請求許可權。


$ termux-setup-storage

執行上面的命令以後,會跳出一個對話方塊,詢問是否允許 Termux 訪問手機儲存,點選"允許"。

這會在當前目錄下生成一個storage子目錄,它是手機儲存的符號連結,後文下載檔案就是到這個目錄去下載。

三、軟體包管理

除了apt命令,Termux 還提供pkg命令進行軟體包管理。


# 安裝軟體包
$ pkg install [package name]

# 解除安裝軟體包
$ pkg uninstall [package name]

# 列出所有軟體包
$ pkg list-all

其實,pkg底層就是apt,只是執行前會執行一次apt update,保證安裝的是最新版本。所以,apt install sl基本等同於pkg install sl

Termux 支援的軟體包清單,可以到這裡檢視。

四、Node.js

下面,安裝 Node.js。


$ apt install nodejs

安裝完成後,就可以執行 JavaScript 指令碼了。比如,新建一個指令碼hello.js


// hello.js
console.log('hello world');

然後,執行這個指令碼。


$ node hello.js
hello world

五、架設 Server

現在,通過 Node.js 執行 HTTP Server。

首先,安裝 npm 模組http-server


$ npm install -g http-server

然後,執行 Server。


$ http-server

正常情況下,命令列會提示 Server 已經在 8080 埠執行了,並且還會提示外部可以訪問的 IP 地址。

舉例來說,手機的區域網 IP 是 192.168.2.6,那麼我們通過桌面電腦的瀏覽器訪問http://192.168.2.6:8080,就可以看到 Termux 的根目錄了。進入下面的storage子目錄,就可以下載手機檔案了。

如果手機和電腦不在同一個區域網,那可以開啟手機的熱點功能,讓桌面電腦通過手機熱點上網,再訪問手機的 HTTP Server。

這裡順便提一下,下面的命令可以從命令列檢視手機的 IP 地址。


$ apt install net-tools
$ ifconfig

六、Python

不使用 Node.js,而使用其他方法架設 HTTP Server 也是可以的。下面演示 Python 的方法。


$ apt install python
$ python -m http.server 8080

然後,桌面電腦就可以訪問手機了。

Termux 是非常強大的工具,除了上面的方法,還可以架設 Apache 伺服器,或者通過其他途徑(FTP、SSH、Rsync)訪問手機,這裡就不詳細介紹了。

(完)

相關文章