如果需要在 Windows、macOS 和 Linux 之间传文件,最直接的办法当然还是 Dropbox、OneDrive 之类的云盘。但如果只是临时传几个文件,或者几台自己的电脑之间长期同步一批资料,其实不一定要先上传到云端,更不一定要为了传几个文件专门登录云盘账号。
我现在主要用两个工具:LocalSend 用来临时跨设备传文件,Syncthing 用来长期同步文件夹。
它们都是免费、开源的,也不要求把文件先存进某个云盘。对于同时使用 Mac、Windows 和 Linux 的「多机党」,基本覆盖了我日常绝大多数文件互传需求。
最近我给两台旧笔记本安装了 Omarchy。之前介绍 Omarchy 时,我提到自己给两台旧笔记本安装了这套 Linux 系统。不过,系统装好以后,还有一个非常实际的问题:原来 Windows、Mac 电脑上的一些文件和配置,怎么搬过去?
如果已经安装了 Dropbox 之类的服务,当然可以直接通过云端同步。或者,提前配置 Syncthing,也可以让文件夹自动同步。
但我的情况是,Omarchy 刚刚装好,还没有规划好到底要安装哪些东西,也没打算马上在这台机器上登录自己的各种云账号。我就只是想把几个文件先从这台电脑扔到另外一台电脑。
这种时候,LocalSend 就特别合适。
LocalSend:适合临时跨设备传文件

LocalSend 支持 Windows、macOS、Linux、Android 和 iOS,免费、开源,而且不需要注册账号。
它的一个核心特点就是不需要云端中转。几台设备位于同一个局域网时,文件直接在自己的网络里传输。官方也把它定位成一种跨平台的本地文件共享方案。
如果把 AirDrop 看作 Apple 设备之间的快速传输工具,那么 LocalSend 很像一个跨平台版 AirDrop。
Windows 发给 Mac,Mac 发给 Linux,Linux 再发给手机,不需要考虑对方是不是同一个生态。
Windows 和 Mac 用户可以直接从 LocalSend 官方下载页面 找到相应版本。Linux 则可以根据自己的发行版选择 AppImage、DEB、Flatpak、Snap、AUR 等安装方式。
如果实在不知道怎么安装,我现在在 Linux 上还有一个越来越常用的方法:**直接让 AI Agent 帮我找安装方式,再帮我安装。**当然,这么做显然也存在风险。(AI 一把删光我的文件也是可能的)
如果你用的也是 Omarchy Linux,事情会更简单一些。
Omarchy 已经把 LocalSend 纳入自己的应用组合,在应用启动器中就可以找到。官方手册甚至专门介绍了 LocalSend,把它称作类似 AirDrop 的同网络文件传输工具。
Omarchy 默认会开启防火墙,但专门为 LocalSend 使用的 53317 端口留下了例外,所以装好以后基本可以直接使用。
你当然完全可以自己装 Linux,然后从网络、防火墙到应用逐一配置。但 Omarchy 已经替用户做了一些取舍。这就是我之前所说的 DHH「主厨精选」比较舒服的地方。
LocalSend 怎么用?

具体传输操作非常简单,几乎不用我多费口舌。
如果几台电脑就在身边,而且连接到同一个局域网,两边都打开 LocalSend:
选择文件,找到对方设备,发送,对方接受。基本就是这样。
LocalSend 会给网络中发现的设备显示设备名,也会分配一些奇怪的代号,避免同一个网络里同时出现几台电脑以后搞不清楚发送目标。
LocalSend 还支持通过浏览器链接分享文件。这个功能我觉得特别实用。
因为临时给另外一台设备传文件时,对方不一定已经安装 LocalSend。这时候可以开启链接分享,让对方直接通过浏览器访问。
也就是说,一边有 LocalSend,另外一边甚至可以不用提前安装客户端。特别适合临时使用。
LocalSend 偶尔为什么传不了?
我绝大多数时候使用 LocalSend 都没有什么问题。
非常偶尔,也遇到过明明能看到设备,却无法正常传输的情况。我最后排查下来,主要还是自己的防火墙和网络配置问题。
这也是局域网传输工具共同存在的一个局限。
它不依赖云服务器是优点,但也意味着设备之间首先得真的能够互相访问。如果公司、酒店、公共 Wi-Fi 对设备之间的访问进行了隔离,或者自己的防火墙规则有问题,那么 LocalSend 自然也没有办法凭空打通。这方面,我有些个人经验。对于家里或者自己的工作网络,一般不是什么问题。
如果你只是想找一个 Windows、Mac、Linux 之间临时互传文件的方法,我会首先推荐 LocalSend。
如果我希望一个文件夹今天在 Windows 上修改,明天打开 Linux 时已经自动变成最新版,那就需要另外一种工具了。
Syncthing:适合多台电脑长期同步文件

这时候登场的是 Syncthing。
Syncthing 同样免费、开源,而且也不要求注册一个 Syncthing 云账号。
不过,它和 LocalSend 解决的是完全不同的问题。
Syncthing 更像是让几台电脑上的某个文件夹一直保持同步。
如果一定要拿大家熟悉的产品类比,我觉得可以把它理解成一种没有中央云盘的 Dropbox。
Dropbox 的基本逻辑是:
电脑 A → 云端 → 电脑 B。
而 Syncthing 更强调让自己的设备互相同步。官方对它的描述也很直接:文件不会上传到 Syncthing 云端,而是在用户自己的设备在线时进行交换。
这正好适合我现在这种情况。
我有 Windows 主力电脑、Mac,还有几台 Linux 机器,希望其中一些 Markdown、项目资料、脚本和配置文件长期保持一致。总不能每天用 LocalSend 发一遍吧。这种事情交给机器自动处理才合理。
Syncthing 怎么工作?
Syncthing 第一次配置比 LocalSend 稍微复杂一点。
它会给每台设备生成一个 Device ID。想让两台电脑同步,首先要让它们通过 Device ID 互相认识,然后指定哪些文件夹需要共享。
而且这个授权是双向确认的,并不是知道另外一台设备的地址以后,就可以随便访问它的文件。
配置完成以后,就可以基本忘掉它。

例如,我在 Windows 上建立一个名为 Research 的文件夹,然后把它通过 Syncthing 分享给 Linux。
以后往这个文件夹里新增文件、修改 Markdown,甚至删除文件,相应的变化都会继续同步到其他设备。Syncthing 会监测文件变化,并让参与同步的设备逐渐达到一致状态。
这就是它和 LocalSend 最大的区别:
LocalSend 是一次性的传输动作,Syncthing 是一种持续的同步关系。
Syncthing 本身也比较特别,它更像一个后台服务,没有一般桌面软件那种传统的管理界面。主要通过浏览器打开 Web 管理界面进行配置。有点像路由器,需要进入一个特定的网页维护配置。
第一次使用时,看到 Device、Folder、Remote Device 这些概念,可能会觉得它没有 LocalSend 那么简单。但一般只要第一次设置完成,以后反而基本不用再管。
而这个设置最主要的操作,就是在不同设备之间配对文件夹,让「文件夹对」保持同步。
LocalSend 和 Syncthing 怎么选?
所以,这两个工具其实并不是竞争关系。
我自己的选择非常简单:如果只是偶尔跨设备传文件,我觉得甚至没有必要去折腾 Syncthing。
反过来,如果有几个资料库,几台自己的电脑长期使用同一批文件,而且不想依赖云盘或云端中转的话,那可以考虑 Syncthing。
如果更看重省心,而且愿意使用云服务,Dropbox 之类的云同步体验通常会更好。
简单来说:LocalSend 负责 Send,Syncthing 负责 Sync。
但是,同步不是备份
这里还有一个非常重要的区别。
Syncthing 是文件同步工具,不应该直接把它当成备份工具。
这一点其实和 Dropbox、OneDrive、iCloud Drive、Google Drive 一样容易让人产生错觉。
看到三台电脑上都有一份文件,人很自然会觉得:我已经有三份了,应该很安全。但问题在于,它们之间是同步的。
如果你在其中一台电脑上误删了文件,这个删除本身也属于一种文件变化,完全可能继续同步到其他设备。
Syncthing 可以配置 File Versioning,帮助保留被替换或者删除文件的旧版本,但这依然不应该替代真正独立的备份。
所以:传输是传输,同步是同步,备份是备份。
LocalSend 帮我把文件送过去;Syncthing 帮我让几台设备长期保持一致。而真正重要的数据,还是应该另外有一份不跟着日常操作自动变化的 Backup。
最后
现在安装一台新电脑以后,我不再第一时间考虑我要先登录哪个云盘。
我的 Omarchy Linux 现在完全可以先保持一个很干净的状态。
- 需要临时拿几个文件过来,打开 LocalSend。
- 确定以后这台机器会长期参与某项工作,再把对应文件夹加入 Syncthing。
- 真正重要的数据,另外进入自己的备份体系。
特别是在 Windows、Mac、Linux 混用以后,我越来越觉得,跨设备并不天然等于上云。云盘当然非常方便,我也完全没有打算弃用 Dropbox 或其他云服务,而是让各种方案发挥各自长处。
但以前,我们经常把「让另一台电脑得到这个文件」和「把这个文件先上传到一家公司的服务器」看成同一件事情。其实完全不是。逐渐把数据和文件的控制权拿回自己手里,掌握自己的系统,这是我一直在追求,也建议所有人关心的事。


