开发路线
- 0.2:开发完 server 功能,实现完整的 WebUI 管理
- 0.3:开发国际化功能,为软件内所有字符串添加抽象 i18n 层
项目概述
flk(FileLinK)是一款跨平台命令行工具,基于符号链接与硬链接技术,核心目标是解决多设备、多软件的配置文件分散管理与同步难题。它通过将各类软件的文件型配置存放至统一的 Git 仓库,实现配置的集中存储、多设备同步与一键恢复,同时支持灵活调整配置路径,适配不同使用场景下的配置管理需求,目前已可满足日常使用,处于持续迭代优化阶段。
前置知识——符号链接与硬链接
推荐阅读文章:https://sspai.com/post/66834
这是必备的知识,若您不了解符号链接与硬链接,之后的文章内容将会对您造成困扰。
安装
从源码编译
确保安装 Go 1.21+,然后运行:
|
|
下载预编译二进制
从 GitHub Releases 下载对应平台的二进制文件,赋予执行权限后使用。
建议:下载后统一将文件重命名为
flk(或flk.exe),方便后续的使用和升级。
自动升级
flk 内置自动升级功能:
|
|
核心功能
链接创建与管理
- 语义化的链接创建,舍弃了传统的“源”“目标”链接这样的表述方式,使用“主要”“次要”这样的语义化参数来指定文件,创建文件链接时更直观。
- 支持符号链接(软链接)和硬链接两种类型创建,通过命令行指定真实配置路径与软件读取的虚拟路径,一键完成链接替换。
- 自动记录所有创建的链接信息,形成配置清单,便于后续检查与维护,支持强制覆盖已有配置文件(
--force参数)。
多设备配置同步
- 配置集中存储于 Git 仓库,多设备间通过拉取仓库即可同步配置资源。
- 适配跨平台场景:对于
.gitconfig等通用配置文件,可实现 Windows、Linux 等不同系统间的无缝同步;对于 MyKeymap 等系统专属软件配置,仅支持同系统内同步。 - 支持按设备过滤检查/修复链接,便于管理多设备配置。
灵活适配与扩展
- 支持任意以文件形式存储配置的软件(如 PixPin、Sandboxie Plus 等),无需软件本身支持导出/导入功能,通过链接机制直接接管配置。
- 可实现“奇技淫巧”级用法:例如将微信文件目录、软件缓存目录等通过链接转移至指定位置,优化存储管理。
使用示例
用前必读
- 查看软件帮助:
flk --helpflk -hflk help - 查看特定命令的帮助:
flk help <命令>flk <命令> --helpflk <命令> -h
软件中的子命令通常有各种别名,可以简化输入,您可以自行用 help 来查看。例如,upgrade update up 命令三者完全等价。
创建符号链接
|
|
对于 Windows 用户,需要使用管理员权限运行。建议启用 Windows 平台的 sudo,此处不再赘述。
创建硬链接
|
|
检查链接状态
|
|
修复无效链接
|
|
查看版本
|
|
最佳实践
1. 统一配置管理
- 将所有配置文件存放在 Git 仓库中,使用 flk 创建链接到软件默认位置。
- 示例:将
.gitconfig、vimrc等文件集中管理,多设备同步。
2. 设备命名规范
- 设备名不能包含逗号或空格,用于过滤时使用逗号分隔多个设备。
- 建议使用简单名称如
laptop、desktop、server。
3. 安全使用 --force
--force会删除目标路径的现有文件,确保路径不指向重要目录。- flk 已内置安全检查,禁止删除根目录或家目录。
4. 定期检查与维护
- 使用
flk check定期验证链接有效性。 - 对于硬链接,因其失效风险,建议定期修复。
5. 备份重要配置
- 在使用前备份现有配置,防止意外丢失,尤其是使用
--force参数会增加该风险。
安全注意事项
- 路径验证:flk 禁止使用
--force删除根目录(/或C:\)或用户家目录,防止灾难性数据丢失。 - 权限管理:Windows 创建符号链接需管理员权限,避免权限不足导致失败。
- 设备名限制:创建链接时设备名不能含逗号或空格,以免影响过滤功能。
- 硬链接限制:硬链接无法跨文件系统,确保主、次文件在同一分区。
适用场景
- 多设备办公/开发人群:需在台式机、笔记本等设备间保持一致的软件配置(如编辑器设置、Git 配置、各种软件配置等)。
- 技术爱好者:追求配置管理的标准化与高效化,希望通过轻量化工具实现配置的集中管控。
- 跨平台使用者:需要在 Windows、Linux 等不同系统间同步通用配置,减少重复设置成本。
flk 以“本地链接中转+云端同步”为核心设计理念,用极简的技术方案解决了配置管理的核心痛点。随着后续可视化界面与适配库的完善,将进一步降低使用门槛,成为多设备配置同步的高效工具。
常见问题
为什么创建符号链接失败了
在 Windows 中,必须 用管理员权限运行 flk 才可以创建符号链接。简单来说,请使用管理员权限打开终端或 cmd、PowerShell,再执行 flk.exe。
为什么创建硬链接失败了?
硬链接要求主文件和从文件位于 同一个 盘符下,且硬链接具有失效风险,需要适时维护。