问答详情
源自:3-5 Linux链接命令

关于源文件同时有软硬链接,源文件删除后,软连接不能访问的问题

源文件创建硬链接和软连接后,删除源文件其实在索引表里,那条ID记录还是在的,那为什么软连接就无法访问了呢???

提问者:WanGtAo_Nine 2015-08-27 13:28

个回答

  • kkkbbb
    2015-08-29 21:31:00

    第一段那不小心打错了


  • kkkbbb
    2015-08-29 21:29:33

    因为软链接打开打是源文件,不是内存地址

    比如说给/etc/profile创建了个软链接, 打开软链接就像当与打开/etc/profile/  /etc/profle相当于是指向一块内存地址(它存数据总要内存的吧,内存总有地址吧),你打开它就是打开/etc/profile,现在你吧它删了还怎么打开它,而硬链接就不是打开/etc/profile了,而是直接访问/etc/profile所指向打内存地址,


  • kkkbbb
    2015-08-29 21:28:21

    因为软链接打开打是源文件,不是内存地址

    比如说给/etc/profile创建了个软链接, 打开软链接就像当与打开/etc/profile/  /etc/profle相当于是指向一块内存地址(它存数据总要内存的吧,内存总有地址吧),你打开它就是访问那块内存地址,现在你吧它删了还怎么打开它,而硬链接就不是打开/etc/profile了,而是直接访问/etc/profile所指向打内存地址,

  • onemoo
    2015-08-27 22:59:41

    被删掉的文件的inode已经不在了,除非还有其他的硬链接。

    软链接就相当于Windows的快捷方式,软链接指向的源文件不在了,自然也就无法访问了。

  • WanGtAo_Nine
    2015-08-27 20:10:29

    从老师画的图上看,源文件在索引表上的记录还是在的啊,怎么就不能访问了,我不太理解

  • Virture
    2015-08-27 20:00:44

    你删除源文件后,软连接指向源文件的内存空间是空的就无法访问