首页 > 试题广场 >

基于i 节点的文件共享有可能出现链接失效的情况,所以删除文件

[单选题]
基于i 节点的文件共享有可能出现链接失效的情况,所以删除文件时需小心确认,这种说法正确吗?
  • 正确
  • 不正确
如果是符号链接(软链接),删除源文件,链接文件将访问失效,相当于Windows下的快捷方式;
而硬链接则是会记录建立链接的数量,删除一个链接将计数减一,直至减为0,删除该文件;
该题以偏概全,不严谨,所以错
发表于 2019-01-10 21:13:19 回复(0)
既然说是基于inode,那猜测应该只是指硬链接。
硬链接不会因为别的文件删除而失效。
发表于 2019-09-12 13:49:04 回复(0)
求大神解释一下。。
发表于 2017-12-21 17:40:06 回复(0)
inode文件名以外的所有文件信息,都存在inode之中。存在硬链接
发表于 2021-05-09 20:47:32 回复(0)
难道删除之前要小心确认有错吗,硬连接也要确认一下啊
发表于 2018-11-01 08:47:52 回复(0)
INode硬链接,不需要小心,count–1直接不可访问,不存在悬空指针。软连接需要小心。同时也可以这样理解,硬链接之间,就是同一个文件。
发表于 2021-12-24 00:20:17 回复(0)
有没有聪明的哥们儿,回答一下这个问题。我想搞清楚,对于Linux中的软链接和硬链接,存储位置分别在哪里,删除链接时,哪一个是删除链接文件,哪一个是需要删除指向的文件本体,还有删除的顺序,究竟是先删除本体文件还是先删除链接?chatGPT给的答案互相矛盾,把我搞懵了。


在Linux中,软链接和硬链接的存储位置是不同的。

- 硬链接存储在文件系统中的目录项中,与原始文件所在的目录项相同,在物理上指向同一个数据块(inode)。
- 软链接本身是一个普通文件,存储在文件系统中,并包含指向原始文件的路径名。

当删除链接时,需要注意以下几点:

- 删除硬链接文件时,只会删除该链接文件本身,原始文件并不受影响。如果原始文件有其他硬链接或被其它进程打开,则仍然可以访问和修改。
- 删除软链接文件时,只会删除该链接文件本身,而原始文件并不会被删除或改变。但是,如果原始文件被删除或移动了,则软链接将失去作用,因为它指向的文件不存在了。
- 如果要彻底删除一个文件,无论是硬链接还是软链接,都必须先删除链接文件,再删除原始文件本身。

如果想要删除一个链接文件和相关的原始文件,应该首先删除链接文件,这样就可以避免在尝试删除原始文件之前遇到任何访问或锁定问题。此外,对于硬链接,只要删除所有链接文件即可完全删除文件;对于软链接,则还需考虑原始文件是否存在,如果存在则需要手动删除原始文件。


发表于 2023-06-02 20:09:20 回复(0)
基于i 节点的文件共享:硬链接。硬链接删除,只是count-1. 不用担心别的文件会指针悬空。
链接失效:是软链接,文件属主删除了原文件,别的文件引用该文件的链接就失效了,所以要小心删除。题目应该是说这个意思。
发表于 2020-08-07 10:50:49 回复(0)
硬链接到count=0的时候才真正删除该文件,这不叫链接失效。链接失效应该用于软链接吧,有i节点即inode应该说的是硬链接
编辑于 2020-01-24 18:15:26 回复(0)
基于索引结点的文件共享方式:

因此删除也没有关系。
发表于 2019-08-10 22:44:57 回复(0)
如果是硬链接删除一个文件,不影响另一个文件的访问。
在inode节点中有一项叫做"链接数",删除一个文件时,inode节点中的"链接数"减1。当没有文件名指向这个inode时,系统就会回收这个inode号码,以及其所对应block区域。
如果是软链接,删除源文件,会使链接文件无法访问。
发表于 2018-08-21 09:56:01 回复(0)