14

我为客户制作了一个小应用程序。该应用程序扫描files包含多个文本文件的目录。然后它将每个文件读入一个字符串。每个文件都有一个标题和文章文本。这两个部分用管道字符分隔,如下所示:article_title|article_text. 该脚本显示打开每篇文章的链接列表。链接的文本与文章标题相同。

现在,客户显然已经删除了一篇文章,但看到已删除文件的条目如下图所示:
在此处输入图像描述

我在网上搜索了该字符串,实际上可以找到显示类似字符串的页面,例如这里显然是一篇已删除的博客文章。

这可能是什么原因?文件真的被删除了吗?

附言

  1. 客户已将应用程序设置在 Intranet 上,无法授予我访问权限,他给我发送了屏幕截图。
  2. 我也不知道他的服务器操作系统是什么。
  3. 我不确定该标记什么,也许您可​​以将标记更改为更好的标记。
4

3 回答 3

21

好的,我找到了它是什么。谷歌搜索结果之一指向,其中包含以下内容:

Bud1  ... @Ђ @Ђ @Ђ @E DSDB `Ђ @Ђ @Ђ @

有趣的是,文件是.DS_Store 文件!我检查了一些 .DS_Store 文件,它们都包含神秘字符。这些(隐藏的)文件是由 Mac OS X 自动生成的。所以客户端应该已经从控制台访问了该文件夹并导致创建了隐藏的 DS_Store(记住它是一个 Intranet)。

于 2011-04-11T12:56:25.053 回答
2

这是 Finder(Mac 相当于 Windows 资源管理器)存储的有关文件和文件夹的信息。我发现的格式的最佳描述在这里:

https://metacpan.org/pod/Mac::Finder::DSStore

格式描述为:

.DS_Store 文件包含一系列记录,提供目录中文件或目录本身的属性(称为 .)。这些记录存储在 B-tree 中,B-tree 的页面由“buddy allocator”连同少量元数据一起存储在文件中。分配器还提供了一个间接级别,从小整数到文件偏移量,大概允许块在它们增长和缩小时重新定位。

于 2013-02-24T15:01:32.820 回答
2

对于在您的应用程序中仍然遇到此问题的人(在我的情况下删除文件之后),我通过递归删除项目文件夹中的 .DS_Store 文件来解决它。

在终端上,转到项目:

cd to/your/directory

只需输入:

find . -name '.DS_Store' -type f -delete

归功于 Jon Bellah 在他的博客https://jonbellah.com/articles/recursively-remove-ds-store/

于 2020-05-07T19:44:52.837 回答