avatar

麦兜的小站

MDO.INK

  • 首页
  • 随笔
  • 知识库
  • 归档
  • 动态
  • 标签
  • 关于
Home Windows 中创建软链接和硬链接
文章

Windows 中创建软链接和硬链接

Posted 2025-06-13 Updated 2025-06- 13
By power 已删除用户
16~20 min read

阅读量: 1,625

最近更新于 2024-05-06 19:32

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

软链接(也称符号链接)在表面上的性质上其实和快捷方式差不多,但是本质上快捷方式是一个 .lnk 文件,文件夹和文件的快捷方式都是一个 .lnk 文件,访问快捷方式是 Windows 系统层面的实现,借助资源资源管理器或终端进行处理。软链接则是文件系统的支持,软链接是对源文件的引用,一般情况下程序“眼中”的软链接就是源文件本身。通过软链接修改文件,修改的也是源文件。删除软链接,源文件还是存在,但是删除源文件,软链接就无法使用了。

一般涉及创建的文件,看到的文件本身其实就是一个硬链接。文件的数据存放在“仓库”中,每个文件有编号,硬链接可以看做记录着这个编号,通过硬链接可以访问编号对应的文件。创建硬链接,相当于创建了一份编号镜像,新创建的镜像和源文件是完全一样的访问,一个文件有多个硬链接,删除任意一个都不会删除源文件,但是随着文件最后一个硬链接删除,源文件就会删除。

Windows 11 23H2(CMD)
PowerShell 7.4.0

注:有些路径下可能需要管理员权限,建议直接以管理员权限运行终端

3.1 CMD

使用 MKLINK 命令

文件软链接

MKLINK 名称 文件路径

文件硬链接

MKLINK /H 名称 文件路径

文件夹软链接

MKLINK /D 名称 文件夹路径

目录联结(硬链接)

MKLINK /J 名称 文件夹路径

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

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

3.2 PowerShell

文件(夹)软链接

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

文件硬链接

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

目录联接(硬链接)

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

查看

  • 通过软/硬链接复制文件是复制链接指向的文件,而不是复制链接名称,会另外复制一份文件数据。复制快捷方式会得到一个快捷方式,而不是复制快捷方式指向的文件。
  • 从好理解的角度来说,在资源管理器里看到的普通文件的名称可以看做是一个硬链接,创建硬链接就相当于另外取一个别名,名字不同,但实际都是同一块数据。一个文件只要有硬链接(名字)存在就存在,所有硬链接删除才会删除文件。
  • 通过软/硬链接可以直接访问指向的文件,不依赖于系统。快捷方式本身是一个 .lnk 文件,依赖于 Windows,通过资源管理器操作可以打开指向的文件,但是你自己写一个程序去打开快捷方式文件,打开的就是快捷方式自己,而用资源管理器则会解析快捷方式文件,去打开指向的文件。这个快捷方式其实就是 Shell 链接,详细的可以去查微软文档。
知识库
License:  CC BY 4.0
Share

Further Reading

Jul 31, 2025

如何实现接口幂等性

通俗的说,用户在系统中有操作,不管重复多少次,都应该产生一样的效果或返回一样的结果的。 幂等性的概念 幂等(Idempotent)是一个数学与计算机学的概念,常见于抽象代数中。 f(n)=1^n//无...

Jul 19, 2025

10个npm工具包

有了npm之后,前端人员真的是过上好日子了。我们可以直接把别人写好的工具包拿来用,非常的方便。 1.day.js-轻量日期处理 npminstalldayjs importdayjsfrom'd...

Jul 17, 2025

How to set up PHP7.4 on MacOS.

Thisisallverywellandgood.Apartfromonesmallinsignificantthing… TheversionofPHPinuseiscurrently7.4. Th...

OLDER

Laravel API Token 使用方式

NEWER

利用cropper插件进行图片裁剪

Recently Updated

  • 如何实现接口幂等性
  • 10个npm工具包
  • How to set up PHP7.4 on MacOS.
  • Automa:一键自动化,网页数据采集与工作流程优化专家Automa:解锁自动化
  • Mac 下用 brew 搭建 LNMP

Trending Tags

thinkphp clippings

Contents

©2025 麦兜的小站. Some rights reserved.

Using the Halo theme Chirpy