从检查 ls-l 输出中删除文件的能力

唐·法努奇

下面是ls -l文件命令的四个输出及其父目录。

student1 可以在四种情况下删除 file1 中的哪一种?(答案为红色)

我不明白为什么答案是红色的,而且在ls -l输出-中权限部分只有而不是其他任何内容是什么意思?只是说没有人拥有此文件的权限,如果是这样,为什么它仍然是答案?

在此处输入图片说明

威廉·珀塞尔

删除文件不是对文件的操作,而是对目录的操作。这是因为目录中的“file”条目不是文件;它只是对文件的引用(语义很奇怪,因为“文件”一词的重载含义和常用用法的不精确性。)为了删除文件(例如,删除对它的引用),您只需要对文件所在目录的执行和读取权限。因此在您的情况下为场景 1。

请注意,删除对一个目录中文件的引用(“链接”)只会导致删除该文件,前提是该文件是文件系统中的最后一个引用。该引用计数在输出的第 2 列中给出ls -l,因此在您的情况下,目录“directory1”中以名称“file1”链接的文件将被文件系统垃圾收集。(例如,数据将被删除。)

当然,如果文件被覆盖或截断,数据也可以被删除,所以我的整个答案是基于假设您使用“已删除”来表示“未链接”或“已删除”。不精确的语言泛滥!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章