Linux软链接的创建、删除、修改使用入门
命令 ln 的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s。
具体用法是:ln -s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln 命令链接(link)它就可以,不必重复的占用磁盘空间。
例如:ln -s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。

一、创建软链接
下面,我们给jdk1.8.0_202 目录创建一个软链接:
ln -s jdk1.8.0_202 jdk
之后,需要升级JDK版本时,只需要将 jdk 软链接指向新的JDK版本即可。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接有软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s,它会在你选定的位置上生成一个和源文件大小相同的文件。无论是软链接还是硬链接,文件都保持同步变化。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁盘空间。
二、删除软链接
和删除普通的文件是一样的,删除都是使用rm来进行操作。
删除jdk 软链接:rm –rf jdk
上述指令中,软链接地址最后不能含有“/”,当含有“/”时,删除的是软链接目标目录下的资源,而不是软链接本身。

三、修改软链接
命令如下所示:
ln -snf [新的源文件或目录] [目标文件或目录]
这将会修改原有的链接地址为新的地址。
例如,创建一个软链接:
ln -s jdk1.8.0_202 jdk
修改指向的新路径:
ln -snf jdk1.8.0_202/bin jdk

常用参数:
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本