Linux中的软链接指向同目录中的A文件时,如果这个目录被整体复制到另外的地方,那么复制得到的软链接也指向复制得到的A文件(另附查看一个软链接指向的方法-单独复制一个软链接会怎么样)

Linux中的软链接指向同目录中的A文件时,如果这个目录被整体复制到另外的地方,那么复制得到的软链接也指向复制得到的A文件。

证明

证明如下:
temp目录下两个子文件夹,分别为AAA和BBB
在这里插入图片描述
现在我们目录AAA下建立目录mytxt
在这里插入图片描述
然后在目录mytxt中建立文本文件suwenhao.txt
在这里插入图片描述
suwenhao.txt中的内容如下:
在这里插入图片描述
现在我用下面的命令在目录AAA下创建软链接wanghong.txt,指向suwenhao.txt

ln -s suwenhao.txt wanghong.txt 

在这里插入图片描述
在这里插入图片描述
然后我们打开wanghong.txt
在这里插入图片描述
发现内容如下:
在这里插入图片描述
现在我们把AAA中的目录mytxt复制到BBB中,
在这里插入图片描述
在这里插入图片描述
然后我们打开/home/book/temp/BBB/mytxt中的suwenhao.txt,修改内容为:2025-03-19
在这里插入图片描述
然后我们再打开/home/book/temp/BBB/mytxt中的wanghong.txt,看下它里面的内容是什么:
在这里插入图片描述
在这里插入图片描述
这就证明了:Linux中的软链接指向同目录中的A文件时,如果这个目录被整体复制到另外的地方,那么复制得到的软链接也指向复制得到的A文件

查看一个软链接指向的两种方法

利用ls命令查看一个软链接的指向

ls -l wanghong.txt

在这里插入图片描述
如果suwenhao.txt在别的目录中,那么会显示相应的路径,而不会只是一个文件名。
比如像下面这样建立一个指向别的目录中文件的软链接:

ln -s /home/book/mycode/C0037_IC2_app2/I2C_tools_control_ATP2126C.c linktest.c

在这里插入图片描述
在这里插入图片描述
我们此时在目录/home/book/temp/AAA/mytxt下执行命令:

ls -l linktest.c

在这里插入图片描述
此时目标文件就有完整路径了。

Ubuntu中可以直接查看软链接的文件属性获得链接指向

比如上面的两个软链接wanghong.txt和linktest.c
在这里插入图片描述
右键查看它们的属性值如下:
在这里插入图片描述
在这里插入图片描述
可见,当指向同目录中的文件时,也不会显示目标文件的完整路径。

单独复制一个软链接时会怎么样?

我们再新建一个目录CCC,然后把AAA/mytxt下的两个软链接linktest.cwanghong.txt复制到目录CCC中,看下情况是怎么样的:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

可见,由于wanghong.txt的软链接是相对路径,所以链接损坏了,而linktest.c是绝对路径,链接目标仍然在。

我们再把suwenhao.txt也一并复制过来。

在这里插入图片描述
此时再查看软链接wanghong.txt,发现仍然是链接损坏状态,如下图所示:
在这里插入图片描述
所以结论是假如一个软链接创建时指向的目标是同一个目录中的文件(这个同一目录的目标文件在创建链接时没有写上绝对地址),那么该软链接单独复制到别的地方时会损坏,但如果是复制整个目录,就不会损坏了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昊虹AI笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值