删除文件不是对文件的操作,而是对目录的操作。这是因为目录中的“file”条目不是文件;它只是对文件的引用(语义很奇怪,因为“文件”一词的重载含义和常用用法的不精确性。)为了删除文件(例如,删除对它的引用),您只需要对文件所在目录的执行和读取权限。因此在您的情况下为场景 1。
请注意,删除对一个目录中文件的引用(“链接”)只会导致删除该文件,前提是该文件是文件系统中的最后一个引用。该引用计数在输出的第 2 列中给出ls -l
,因此在您的情况下,目录“directory1”中以名称“file1”链接的文件将被文件系统垃圾收集。(例如,数据将被删除。)
当然,如果文件被覆盖或截断,数据也可以被删除,所以我的整个答案是基于假设您使用“已删除”来表示“未链接”或“已删除”。不精确的语言泛滥!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句