# 加软连接,注意源文件为绝对地址,不然移动软连接后,软连接就会失效 ln -s 原文件绝对路径 软连接地址
# 删除软连接 rm -rf 软连接地址 # 警告-警告-警告 注意这个“/”,如果软连接是目录,下面命令会删除【软连接目录下的所有文件】,而不是删除【软连接】 rm -rf 软连接地址/
---------------------------------------------------------------------------------------------------
先建立一个软连接
[root@rekfan.com test ] # ls -il 总计 0 1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand #建立file1和file1soft软连接 [root@rekfan.com test ] # ln -s file1 file1soft [root@rekfan.com test ] # ls -il 总计 0 1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1 1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
删除上面建立的软连接
[root@rekfan.com test ] # ls -il 总计 0 1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1 1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand #删除软连接 [root@rekfan.com test ] # rm -rf file1soft [root@rekfan.com test ] # ls -il 总计 0 1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand 删除软链接 确实是用rm 但是!!! rm -fr xxxx/ 加了个/ 这个是删除文件夹 rm -fr xxxx 没有/ 这个是删除软链接
注意
源文件最好是绝对路径,这样移动软链接就不会报错
需要注意的是: 源文件的路径 是根据 软链接 的路径来计算的,而不是根据当前路径来计算的
创建软连接,是非常简单的,直接使用ln -s 命令即可,其语法为:ln -s 原始文件路径 软链接文件路径。
比如, ln -s a.txt a_soft. 给a.txt创建了链接文件a_soft。
但是,如果当前所在目录为/home. 要给该目录下的a.txt文件创建一个软连接a_soft,放在其子目录B下,首先想到的是这样:
ln -s ./a.txt ./B/a_soft
结果很不幸,这是错误的,创建出来的a_soft文件时找不到a.txt文件的。为什么呢??
这是因为,ln -s创建链接文件,如果原始文件路径时相对路径,其相对路径的基准路径为链接文件的路径(这么理解,是通过链接文件找到源文件,因此就是以链接文件的路径为当前路径了)。因此,上面的链接文件路径为B目录,而源文件则认为是B目录下的文件,因此当然错误了!
解决办法
(1)源文件使用绝对路径: ln -s /home/a.txt ./B/a_soft
(2)源文件使用相对路径: ln -s ../a.txt ./B/a_soft (B目录的上一级目录是home目录,目录下存在a.txt)