Windows 中创建软链接和硬链接

(原文:https://blog.iyatt.com/?p=12695)

前言

在 Linux 中经常能接触到软硬链接概念,Windows 中倒是很少。这次因为搞 Stable Diffusion 需要才去查了下 MS 文档,发现有对应的命令。
我部署了两个版本的 SD,一个是 WebUI,一个是 OpenVINO 版本的,但是模型、插件这些完全是可以共用的,加起来几十 GB,复制一份副本占空间也没必要,那可以用软链接搞定的。

软链接(也称符号链接)在表面上的性质上其实和快捷方式差不多,但是本质上快捷方式是一个 .lnk 文件,文件夹和文件的快捷方式都是一个 .lnk 文件,访问快捷方式是 Windows 系统层面的实现,借助资源资源管理器或终端进行处理。软链接则是文件系统的支持,软链接是对源文件的引用,一般情况下程序“眼中”的软链接就是源文件本身。通过软链接修改文件,修改的也是源文件。删除软链接,源文件还是存在,但是删除源文件,软链接就无法使用了。
file
一般涉及创建的文件,看到的文件本身其实就是一个硬链接。文件的数据存放在“仓库”中,每个文件有编号,硬链接可以看做记录着这个编号,通过硬链接可以访问编号对应的文件。创建硬链接,相当于创建了一份编号镜像,新创建的镜像和源文件是完全一样的访问,一个文件有多个硬链接,删除任意一个都不会删除源文件,但是随着文件最后一个硬链接删除,源文件就会删除。

环境

Windows 11 23H2(CMD)
PowerShell 7.4.0

CMD

使用 MKLINK 命令
file

文件软链接

MKLINK 名称 文件路径

文件硬链接

MKLINK /H 名称 文件路径

文件夹软链接

MKLINK /D 名称 文件夹路径

目录联结(硬链接)

MKLINK /J 名称 文件夹路径

例,我这里创建了一个 aaa 文件夹和一个 bbb 文件,然后分别创建软链接和硬链接
file
file
file

aaa 是文件夹,类型标注为 DIR,软链接为 SYMLINKD,硬链接为 JUNCTION。bbb 是普通文件,没有类型标注,软链接是 SYMLINK,硬链接也没有标注。普通文件的文件名本身就是一个硬链接,创建的硬链接和创建文件的文件名完全等同。
file

PowerShell

文件(夹)软链接

New-Item -ItemType SymbolicLink -Path 名称 -Target 路径

file

file

文件硬链接

New-Item -ItemType HardLink -Path 名称 -Target 路径

file

目录联接(硬链接)

New-Item -ItemType Junction -Path 名称 -Target 绝对路径

file

查看
file

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

astuv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值