慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

阮一峰的网络日志

科技爱好者周刊(第 396 期):互联网通信的替代方案 科技爱好者周刊(第 396 期):互联网通信的替代方案 - 阮一峰的网络日志 科技爱好者周刊(第 395 期):软件开发的第三种方式 科技爱好者周刊(第 395 期):软件开发的第三种方式 - 阮一峰的网络日志 科技爱好者周刊(第 393 期):脑腐状态 科技爱好者周刊(第 392 期):axios 投毒与好莱坞式骗术 科技爱好者周刊(第 391 期):AI 的贫富分化 科技爱好者周刊(第 390 期):没有语料,大模型就是智障 套壳中国大模型撑起500亿美元估值?扒一扒 Cursor 的"套壳"疑云 科技爱好者周刊(第 389 期):未来如何招聘程序员 科技爱好者周刊(第 388 期):测试是新的护城河 零安装的"云养虾":ArkClaw 使用指南 科技爱好者周刊(第 387 期):你是领先的 科技爱好者周刊(第 386 期):当外卖员接入 AI 字节全家桶 Seed 2.0 + TRAE 玩转 Skill 科技爱好者周刊(第 385 期):马斯克害怕中国车企吗? 智谱旗舰 GLM-5 实测:对比 Opus 4.6 和 GPT-5.3-Codex 科技爱好者周刊(第 384 期):为什么软件股下跌 科技爱好者周刊(第 383 期):你是第几级 AI 编程 Kimi 的一体化,Manus 的分层 科技爱好者周刊(第 382 期):独立软件的黄昏 AI native Workspace 也许是智能体的下一阶段 科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么 科技爱好者周刊(第 380 期):为什么人们拥抱"不对称收益" 科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录 我如何用 AI 处理历史遗留代码:MiniMax M2.1 升级体验 科技爱好者周刊(第 378 期):预测是新的互联网热点 科技爱好者周刊(第 377 期):14万美元的贫困线 科技爱好者周刊(第 376 期):太空数据中心的争议 科技爱好者周刊(第 375 期):一扇门的 Bug 终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了 科技爱好者周刊(第 374 期):6GHz 的问题 VS Code 使用国产大模型 MiniMax M2 教程 科技爱好者周刊(第 373 期):数据模型是新产品的核心 国产大模型接入 Claude Code 教程:以 Doubao-Seed-Code 为例 科技爱好者周刊(第 372 期):软件界面如何设计 大模型比拼:MiniMax M2 vs GLM 4.6 vs Claude Sonnet 4.5 科技爱好者周刊(第 371 期):一个乐观主义者的专访 科技爱好者周刊(第 370 期):正确的代码高亮 错误处理:异常好于状态码 科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈 科技爱好者周刊(第 368 期):不要这样管理软件团队 一天之内,智谱和 Anthropic 都发了最强编程模型 科技爱好者周刊(第 367 期):Nano Banana 的几个妙用 科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告 科技爱好者周刊(第 365 期):流量变现正在崩塌 科技爱好者周刊(第 364 期):最难还原的魔方 科技爱好者周刊(第 363 期):最好懂的神经网络解释 科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计 科技爱好者周刊(第 361 期):暗网 Tor 安全吗?
Termux 入門教程:架設手機 Server 下載文件
阮一峰 · 2019-07-23 · via 阮一峰的网络日志

手機文件,比如照片和視頻,如何下載到桌面電腦?

普通用戶可以使用手機線,將手機和電腦連起來。作為開發者,其實有更方便的方法,就是在手機架設一個 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)訪問手機,這裡就不詳細介紹了。

(完)