文件类型为符号链接的文件,其文件内容是该文件实际指向文件的文件名。那么如果修改符号链接所指文件的文件名,该符号链接是否会成为无效状态呢?
如上图,首先使用touch命令创建一个新文件file1,然后使用命令ln -s 创建该文件的符号链接,这样两个文件就关联起来了。通过调用任意其中一个文件,都可以查看文件中的内容。如在file1中输入一段文字: i am just a test!。通过查看file1~可以看到文件中的内容:
现在如果将file1的文件名修改,那么file1~还能否访问文件内容呢?这里使用命令mv,来修改文件名:
果然,符号链接中保存的内容,仅仅是其指向文件的文件名,如果该文件的文件名被修改,则这个符号链接就会失效。如果在符号链接指向的文件的相同目录下,重新新建一个和原文件同名的文件,此时符号链接会怎样呢?
在相同目录下新建一个同名文件file1,并在其中输入:i am the wrong file!。再通过file1~查看文件,此时能成功访问文件,输出的内容正是新文件中的内容。
如果直接删除符号链接所指的文件,
这就说明:符号链接只认文件名,不管该文件名是否是自己应该所指的那个文件,而且当直接删除符号链接所指的那个文件时,符号链接还是存在,并且为无效状态。