当然可以!下面我会用最通俗易懂的方式,向初学者讲清楚:
Windows 的
fsutil hardlink
命令是什么?怎么用?有什么用?
全程零基础也能懂,配有比喻、例子和注意事项 ✅
🌟 一、先打个比方:硬链接(Hard Link)就像"同一个文件的多个名字"
想象你有一份 Word 文档:
- 文件名:
报告.docx
- 内容:写了 10000 字,占 5MB 空间
现在你做了个"快捷方式",叫 年终报告.docx
,双击它也能打开内容。
但注意:
类型 | 是否占用额外空间 | 能否独立删除 |
---|---|---|
❌ 快捷方式(Shortcut) | 不占空间 | 可以删快捷方式,原文件还在 |
✅ 硬链接(Hard Link) | 不占额外空间 | 两个名字指向同一个文件 |
🔥 删除一个名字,文件还在,直到最后一个名字被删
👉 这就是 fsutil hardlink
的作用:给一个文件创建"另一个名字",不复制内容,不占空间
🧱 二、fsutil hardlink
是什么?
fsutil
= Windows 内置的"文件系统工具"hardlink
= 其中一个功能,用于创建硬链接
✅ 它可以帮助你:
- 节省磁盘空间
- 实现"多路径访问同一文件"
- 避免重复存储相同内容
🛠️ 三、基本语法
cmd
fsutil hardlink create <新文件名> <原始文件>
<新文件名>
:你想创建的"另一个名字"<原始文件>
:已存在的文件
🎯 四、动手示例(手把手)
第一步:准备一个文件
- 在
C:\test
目录下创建一个文件:- 文件名:
original.txt
- 内容:
Hello, hardlink!
- 文件名:
如果没有目录,先创建:
cmd
mkdir C:\test
echo Hello, hardlink! > C:\test\original.txt
第二步:创建硬链接
cmd
fsutil hardlink create C:\test\link1.txt C:\test\original.txt
✅ 成功后你会看到:
erlang
Hardlink created successfully.
第三步:验证
- 打开资源管理器,进入
C:\test
- 你会看到两个文件:
original.txt
link1.txt
- 查看大小:都是 16 字节(不额外占用空间!)
- 修改
link1.txt
,original.txt
内容也会变(因为是同一个文件!)
第四步:再创建一个硬链接
cmd
fsutil hardlink create C:\test\link2.txt C:\test\original.txt
现在你有 3 个名字 指向同一个文件!
🔍 五、查看一个文件有多少个"名字"(硬链接数)
cmd
fsutil hardlink list C:\test\original.txt
输出:
bash
C:\test\original.txt
C:\test\link1.txt
C:\test\link2.txt
👉 显示所有指向这个文件的路径。
⚠️ 六、重要限制(必须知道)
限制 | 说明 |
---|---|
✅ 必须在同一磁盘分区 | C:\ 和 D:\ 之间不能创建硬链接 |
✅ 只支持 NTFS 文件系统 | FAT32/exFAT 不支持 |
✅ 不能跨网络 | 不能对网络文件创建硬链接 |
✅ 只能对文件,不能对文件夹 | 想链接文件夹用 mklink /J (目录联接) |
✅ 删除一个名字,文件不会丢 | 只有最后一个名字被删,文件才真正删除 |
🔄 七、硬链接 vs 符号链接(Symbolic Link)
类型 | 命令 | 能否跨盘 | 能否链接文件夹 | 原文件删了会怎样 |
---|---|---|---|---|
硬链接 | fsutil hardlink create |
❌ 同盘 | ❌ 不能 | 其他链接仍有效 ✅ |
符号链接 | mklink link.txt file.txt |
✅ 可跨盘 | ✅ mklink /D |
变"坏链接" ❌ |
💡 简单记:
- 硬链接 = 同一个文件的多个名字(最安全)
- 符号链接 = 快捷方式(更灵活)
🎓 八、实际用途(给初学者的建议)
场景 | 用法 |
---|---|
✅ 节省空间 | 多个项目共用大文件(如数据集) |
✅ 备份配置 | config.json 在多个项目中共享 |
✅ 开发调试 | 多个环境访问同一个日志文件 |
✅ 避免复制粘贴错误 | 改一处,处处生效 |
🚀 九、完整命令示例总结
cmd
# 1. 创建硬链接
fsutil hardlink create C:\dst\file.txt C:\src\file.txt
# 2. 查看所有链接
fsutil hardlink list C:\src\file.txt
# 3. 删除一个链接(只是删名字)
del C:\dst\file.txt
# 文件仍在,直到最后一个链接被删
✅ 十、总结:一句话记住
fsutil hardlink create 新名字 原文件
= 给文件起个"别名",不占空间,内容同步
它帮你:
- ✅ 节省磁盘空间
- ✅ 管理重复文件
- ✅ 实现"一处修改,处处生效"
💡 给初学者的建议
- ✅ 在
C:\test
练习几次 - ✅ 用
dir
和fsutil hardlink list
验证 - ✅ 不要对系统文件操作
- ✅ 记住:只能同盘、不能文件夹