我瞬间倒吸一口凉气。40GB!这在赶时间的情况下简直是噩梦。
我拉开抽屉,翻遍了所有的 U 盘,最大的只有一个可怜的 16G 启动盘。 我试图用 Mac 引以为傲的隔空投送(AirDrop),但在传输这种巨型文件时,进度条刚跑到 1/3 就一直转圈圈,然后直接报错中断。 打开微信或者钉钉?别闹了,超过 1G 的文件直接被无情拦截。 难道我真的要花 2 个小时把它上传到某度网盘,再让他在隔壁工位花大半天时间下载下来?客户估计早就掀桌子了。
这太不极客了。既然我俩此时此刻连着同一个公司的千兆 WiFi(局域网),那数据就应该像在高速公路上一样,不经过任何云端的服务器绕远路,直接以极其暴力的千兆内网速度,从我的硬盘飞到他的硬盘里!
为了解决这个极其日常却又极其恶心的职场痛点,我向 AI 发出了求救:“能不能写一段代码,让我的电脑瞬间变成一个可以供人下载网页的云盘服务器?让他自己用浏览器连过来下?”
AI 的回答让我大跌眼镜:“如果是为了这个,连代码都不用写。Mac 和大多数 Linux 系统都内置了 Python 环境,而 Python 的肚子里,藏着一行价值连城的超级咒语。”
这行魔法的底层逻辑,就是强行调用 Python 内部自带的一个极其微型的网页服务模块,把你当前的文件夹,直接暴露成一个 HTTP 下载站点。
第一步:进入弹药库
千万别乱开!首先,你必须在终端里进入那个装有 40G 源文件的文件夹。
# 切换到放着 40G 大文件的那个专属目录cd /Users/fafa/Downloads/BigProject第二步:念出咒语,开启大门
在这个极其安全的专属目录里,敲下这行让你瞬间封神的咒语:
# 启动一个最简易的 HTTP 网页服务器,并让它监听 8000 端口python3 -m http.server 8000回车后,终端里没有出现花里胡哨的界面,只冒出了一行极其低调的白字:Serving HTTP on :: port 8000 (http://[::]:8000/) ...
不要小看这行字。从这一刻起,我的电脑已经不再是一台普通的个人电脑了,它正式化身成为了一台局域网内的高速“云盘服务器”!
第三步:接管下载
接下来,我用我们在 Shell_V37 讲过的 ifconfig 命令,查出我自己在公司 WiFi 下的内网 IP 地址(假设是 192.168.1.108)。
然后我转头对焦急的剪辑师说:“打开你的谷歌浏览器,地址栏输入 192.168.1.108:8000 ,回车。”
△ 同事的浏览器瞬间打开了一个极其简陋的白底黑字网页,里面赫然躺着所有需要的东西。点击它,进度条瞬间飙升到 80MB/s 的满带宽内网下载速度!
看着终端里刷出的一长串类似 192.168.1.109 - - [10/Nov/2023 14:30:20] "GET /BigProject.zip HTTP/1.1" 200 - 的访问和下载日志,我有一种掌控全局的暗爽。不到 10 分钟,40G 巨型炸弹安稳落地。
进阶变阵:老版 Python 怎么破?
如果你用的是很老的系统(比如它自带的是 Python 2),你敲上面的命令会报错找不到模块。没关系,老版本的咒语稍微长一点,效果完全一样:python -m SimpleHTTPServer 8000
防呆铁律 1:千万别当敞开大门的傻白甜!
这是最重要、最要命的一点!同事下载完后,你必须、立刻、马上回到终端,按下 Ctrl + C 把这个命令强行掐断!如果你因为装 X 忘了掐断它,你这台电脑就相当于一直对整个公司局域网敞开着大门。在这个 WiFi 下的任何人,只要扫出了你的 IP,就能随意浏览甚至下载这个文件夹里的所有东西。这在企业里是极其严重的红线事故!传完就杀,这是极客的基本素养。
防呆铁律 2:不要在根目录做法!
新手极易犯的低级错误:刚打开终端,在默认的用户根目录(~)下直接敲了这行代码。 这简直是在裸奔!这相当于把你电脑里的微信聊天记录缓存、各种密码本、以及所有的个人私密文件,直接做成了一个网站供全公司观赏!永远只在一个包含要发送文件的、极其干净的专属文件夹里,运行这个命令。
只用一行系统自带的终端指令,不仅秒杀了 U 盘和龟速网盘,还向同事狠狠秀了一把底层的肌肉。在不懂代码的人眼里,这就是黑客级的降维打击。
本期知识库沉淀:在同一局域网下传几十 G 超大文件,用 python3 -m http.server 端口号 瞬间将本地目录变为满速网页云盘。传完务必 Ctrl+C 关闭大门防泄漏。