软链接解决系统盘存储


1、什么是软链接?

软链接(Soft Link),又称为“调用链接”,是一种相对于原文件和目录的指向。软链接的实现通过一个特殊的文件,指向原始文件或目录,而不会占用额外的存储空间。它相对于确实链接(Hard Link),更加灵活和容易管理。

例如,在算家云平台中,软连接的应用场景为:

平台系统盘为30GB,不可扩容,当我们的项目中文件存储需大于30GB时,系统盘存储空间就无法满足需求。这时我们就可以用到软连接的方法进行解决:

(1)将项目中所占存储大文件夹或文件移动到数据盘(/root/sj-tmp/)下。

(2)通过软链接的方式将文件变动前后的路径链接起来。

这样,当程序访问代码路径时,就会按照已创建的软链接指向新路径。

---

2、软链接和确实链接的区别

(1)指向共性:
* 软链接是指向原文件路径的链接,如果原文件被删除,则软链接将失效。
* 确实链接是指向原文件存储块的链接,原文件删除也不会影响链接。

(2) 存储占用:
* 软链接不增加文件存储占用,只会保存链接文件路径。
* 确实链接会增加文件的确实链接记录。

(3) 跨文件系统:
* 软链接支持跨文件系统,可以在不同分区间创建链接。
* 确实链接不支持跨文件系统。

---

3、创建和管理软链接

(1)创建软链接

在 Linux 系统中,可以使用 ln -s 命令创建软链接。格式如下:

``
ln -s <目标文件/目录> <链接文件/目录>
`

#### 实例:

① 为文件创建软链接

`
ln -s /home/user/document.txt /home/user/shortcut.txt
`

这会创建一个变量
shortcut.txt,指向 document.txt
② 为目录创建软链接

`
ln -s /var/log /home/user/log_link
`

这会创建目录链接,将
/var/log 指向 log_link

(2)查看软链接

可以使用 ls -l 命令查看链接文件是否成功建立:

`
ls -l <文件或目录>
`

软链接会显示引用的目标,如下:

`
lrwxrwxrwx 1 user user 14 Dec 27 10:00 shortcut.txt -> document.txt
`

(3)删除软链接

删除软链接与删除普通文件相同,可以使用 rm 命令:

`
rm <链接文件/目录>
`

注意:删除软链接将不会影响原文件或目录。

接着算家云平台上的例子,当我需要存储一个40G的 sjy文件,但系统盘存储不够时:

(1)通过 mv命名将 sjy文件移动到数据盘中

`
mv /sjy /root/sj-tmp/
`

1735791039147_image.png

(2)创建软链接将新、旧路径链接到一起

ln -s /root/sj-tmp/sjy /sjy

(3)查看是否链接成功:

`
ls -l
`
1735791048748_image.png

(4)删除软连接:

`
rm sjy
``