【小白笔记】符号链接

不用把模型目录拷贝一份到 OpenAvatarChat 里,而是"指个路"。用符号链接把已有的 Wan2.2 模型目录挂到 OpenAvatarChat 期望的位置。

在你的环境里,Wan2.2 模型在 /data/Avatar/Wan2.2/Wan2.2-S2V-14B,OpenAvatarChat 期待在 OpenAvatarChat/models/Wan2.2-S2V-14B 找到它。创建链接即可:

  • 创建父目录(若不存在)并建立符号链接
bash 复制代码
mkdir -p /data/Avatar/OpenAvatarChat/models
ln -s /data/Avatar/Wan2.2/Wan2.2-S2V-14B /data/Avatar/OpenAvatarChat/models/Wan2.2-S2V-14B
  • 查看是否成功
bash 复制代码
ls -l /data/Avatar/OpenAvatarChat/models/Wan2.2-S2V-14B
  • 如果目标位置已存在且需要重建链接,先删再建
bash 复制代码
rm -rf /data/Avatar/OpenAvatarChat/models/Wan2.2-S2V-14B
ln -s /data/Avatar/Wan2.2/Wan2.2-S2V-14B /data/Avatar/OpenAvatarChat/models/Wan2.2-S2V-14B

注意:

  • 上述是 Linux 命令;Windows 下等价做法是用 mklink(需要管理员 CMD):
bat 复制代码
mklink /D "C:\path\to\OpenAvatarChat\models\Wan2.2-S2V-14B" "C:\path\to\Wan2.2\Wan2.2-S2V-14B"

这样 OpenAvatarChat 访问 models/Wan2.2-S2V-14B 时,实际会读取 /data/Avatar/Wan2.2/Wan2.2-S2V-14B 的内容,避免重复占用磁盘。

详细解释

ln -sf /data/Avatar/Wan2.2/Wan2.2-S2V-14B ./models/Wan2.2-S2V-14B

  • ln创建链接的命令,类似于 Windows 中的快捷方式。
  • -s 参数表示创建软链接symbolic link)。
  • -f 参数表示强制force),如果目标链接已经存在,会先删除它再创建新的。

当您第一次运行这个命令时,它会在 ./models/ 目录下创建一个名为 Wan2.2-S2V-14B 的软链接,这个链接指向 /data/Avatar/Wan2.2/Wan2.2-S2V-14B 这个真实的模型目录。

一旦链接建立成功,它就会一直存在,除非您手动删除它。 脚本或程序在后续运行时,会通过这个软链接找到并访问 /data 目录下的真实模型文件,就像文件就在 ./models 目录里一样。

因此,您不需要 每次运行脚本前都重复执行这个 ln 命令。它是一个一次性的设置步骤,旨在解决您的磁盘空间问题,并确保程序能够正确找到模型文件。

只有在以下两种情况下您可能需要重新执行这个命令:

  1. 您不小心删除了 models/Wan2.2-S2V-14B 这个软链接。
  2. 您需要将链接指向一个不同的模型目录。

在正常使用情况下,建立一次即可。

补充:

符号链接(Symbolic Link),也叫软链接(Soft Link),是 Linux 和其他类 Unix 系统中的一个非常重要的概念,其功能类似于 Windows 系统中的快捷方式


符号链接的本质

符号链接本身是一个特殊的文件,它不存储数据本身,而是存储另一个文件或目录的路径。当你访问这个符号链接时,操作系统会自动将你重定向到它所指向的真实文件或目录。

你可以把它想象成一个路标。这个路标(符号链接)告诉操作系统:"嘿,如果你想找某个文件,请去跟着这条路走,它在另一个地方。"

符号链接与硬链接的区别

了解符号链接,就不得不提一下硬链接(Hard Link),它们是两种不同的链接方式。

特性 符号链接(Symbolic Link / Soft Link) 硬链接(Hard Link)
存储内容 存储目标文件或目录的路径 存储目标文件的inode(文件元数据)编号
跨分区 可以。它可以链接到不同分区的文件或目录 不能。只能在同一个文件系统分区内创建
指向目录 可以。可以指向目录 不能。只能指向文件
独立性 不独立。如果删除源文件,链接会失效(变成"死链接") 独立。删除源文件后,硬链接仍然有效,数据不会丢失
文件大小 文件大小通常非常小,只存储路径字符串 与源文件大小完全相同

用一个简单的比喻:

  • 硬链接就像一个文件的"别名"或"分身"。它们共享同一块数据,无论你通过哪个名字访问,都是在操作同一份数据。只有当所有硬链接都被删除后,文件的数据块才会被真正释放。
  • 符号链接则像一个"快捷方式"。它只是一个指向真实文件的指针。如果原始文件被删除,快捷方式就会失效。

符号链接的实际应用

符号链接在系统管理和日常使用中非常有用,主要体现在以下几个方面:

  1. 节省空间:像您遇到的情况一样,当你的系统盘空间不足,但数据盘空间充裕时,可以通过符号链接将大文件或目录(比如模型缓存、大型项目文件)放到数据盘,然后在系统盘建立一个符号链接指向它,这样既能让程序正常工作,又不会占用宝贵的系统盘空间。
  2. 版本管理:在软件开发中,经常使用符号链接来指向最新版本的程序或库,这样在版本更新时,只需要更改链接的指向,而不需要修改所有依赖这个程序的脚本或配置。
  3. 简化路径:当一个文件或目录的路径非常长时,你可以创建一个简短的符号链接来方便访问。

总的来说,符号链接是 Linux 系统中一个强大且灵活的工具,它通过"引用"的方式,让文件和目录的管理更加高效和便捷。

相关推荐
辰海Coding6 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林6 小时前
cp520靶场学习笔记
android·笔记·学习
心中有国也有家7 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
玄米乌龙茶1237 小时前
LLM成长笔记(三):API 开发基础
笔记
Upsy-Daisy7 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
LuminousCPP9 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
一只机电自动化菜鸟10 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
你干嘛?哎哟10 小时前
4月工作笔记
笔记
tom021811 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
问心无愧051312 小时前
ctf show web入门156
笔记