文章目录
软链接的使用创建删除修改示例
20220605 硬链接hard link、软链接soft link或symbolic link、死链接dangling link20230222 注意:软链接创建指定的软链接不能为相对路径,将会导致创建失败(`ll`软链接为红色);被链接对象可以为相对路径20230315 示例20231101 注意:为目录创建软链接时,软链接一定不能写成目录(即后面加`/`)同时注意,如果创建软链接时,目录下存在与软链接同名目录,即使软链接后面不加`/`,软链接也会创建到目录中,所以最好创建前先判断目录下是否有与软链接同名目录
软链接的使用
创建
ln -s 【目标目录】 【软链接地址】
删除
rm -rf 【软链接地址】
修改
ln -snf 【新目标目录】 【软链接地址】
参考文章:Linux软链接的创建,删除,修改
示例
20220605 硬链接hard link、软链接soft link或symbolic link、死链接dangling link
硬链接(hard link)是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。
20230222 链接 ln 命令的默认行为是创建符号链接(symbolic link)即使用 -s 选项创建一个软链接,将一个文件或目录链接到另一个位置。而如果没有加 -s 选项,ln 命令会默认创建一个硬链接(hard link)。 需要注意的是,硬链接只能链接文件,而不能链接目录,因为目录有自己的特殊属性,不支持多个目录项指向同一个 inode 节点。
软链接(也叫符号链接)(soft link或symbolic link)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。 软链接主要应用于以下两个方面:一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;另一方面就是解决文件系统磁盘空间不足的情况。例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接(dangling link)。若被指向路径的文件重新创建,dangling link可以恢复为正常的软链接。
参考文章1:linux之软连接和硬连接的区别
参考文章2:linux link 硬链接,Linux系统中的硬链接(hard link)与软链接(symbolic link)
20230222 注意:软链接创建指定的软链接不能为相对路径,将会导致创建失败(ll软链接为红色);被链接对象可以为相对路径
如:
20230315 示例
前面的是源,后面的是软链接
ln -s /usr/local/node.js/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
20231101 注意:为目录创建软链接时,软链接一定不能写成目录(即后面加/)同时注意,如果创建软链接时,目录下存在与软链接同名目录,即使软链接后面不加/,软链接也会创建到目录中,所以最好创建前先判断目录下是否有与软链接同名目录
如下图所示,我们创建了xxx目录(不创建执行后面命令会提示xxx目录不存在,无法创建),然后用ln -s xx/ xxx/创建了软链接,发现结果在xxx目录下创建了指向xx目录的软链接xx。。。。
正确的做法应该是:
ln -s xx/ xxx