【问题标题】:ability to delete a file from inspecting the ls-l output通过检查 ls-l 输出删除文件的能力
【发布时间】:2017-07-15 13:29:03
【问题描述】:

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

Student1 可以删除 file1 的四种场景中的哪一种? (答案是红色的)

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

【问题讨论】:

    标签: linux unix operating-system ls


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      • 2013-11-06
      • 2015-03-27
      • 2013-11-09
      • 1970-01-01
      相关资源
      最近更新 更多