解释使用 Nautilus 与使用其他工具(如树)时非隐藏文件计数的差异,以及如何独立计算前一个计数?

解释使用 Nautilus 与使用其他工具(如树)时非隐藏文件计数的差异,以及如何独立计算前一个计数?

我最近一直在备份笔记本电脑上的文件,其中一部分是选择将一个最初看起来大小为 107.6 GB 的文件夹从一个硬盘移动到另一个硬盘。在复制过程中,我注意到出现了一个对话框,提示文件数量比我想象的多得多——大约 275,000 个,而不是大约 160,000 个。后来,我意识到这与点文件(即隐藏文件)有关。我想知道当我完成复制时,源和目标的文件大小和数量是否匹配。好吧,我能够使用 Nautilus 文件夹对话框来显示源和目标的非隐藏项目计数和非隐藏项目大小是相同的。

不过,我想弄清楚如何独立得出这些非隐藏项目绝对数字。

我的问题是:(1)对于 Nautilus 和 eg 的非隐藏项目计数之间的差异,是否存在概念性解释tree;(2)我们如何使用除 Nautilus 之外的现有工具来获取 Nautilus 给出的非隐藏项目计数结果?


所有(包括隐藏)物品

我已经尝试tree -a进入我们关心的目录,结果如下:
28949 directories, 246973 files

tree -a意味着共计 275,922 件

鹦鹉螺号共计 275,923 件,假设我已经打开了 Nautilus 的“显示隐藏文件”选项;这是一个匹配,因为我们可以将一个添加到结果中tree -a

所有非隐藏物品

我已经尝试tree进入我们关心的目录,结果如下:
14860 directories, 146703 files

tree意味着共计 161,563 个非隐藏商品

鹦鹉螺号共计 160,829 件非隐藏商品,假设我已关闭 Nautilus 的“显示隐藏文件”选项;此外,即使在 的结果中添加一之后tree,和 Nautilus 的两个计数tree仍略有不同。


我理解 Nautilus 的行为(当“显示隐藏文件”关闭时)是排除点文件夹和点文件以及任何(可能不是点文件夹或文件)递归存在于某个点文件夹中的项目。对于我制作的小示例,treeNautilus 的结果和结果似乎匹配。

再次,我该如何解释非隐藏项目计数的差异?值得注意的是,我对递归计数感兴趣。另外,我使用的是 Ubuntu 20.04,文件所在的文件系统是 NTFS。我会提供我正在使用的实验数据,但提取非敏感数据并同时保留非隐藏项目计数的这种差异并不是那么方便。

另外,我还看到了另一篇涉及 Nautilus 和的 AskUbuntu 帖子tree,但它并没有解释为什么当我们避免使用该选项时会出现差异-a
为什么我看到 Nautilus 和 find 之间的文件数量有差异?


这里有一些图片,诚然,它们并没有真正增加任何新的细节。

(我暂时将问题文件夹命名为“A”。)

  1. 所有(包括隐藏)物品均通过 Nautilus 提供:

  2. 所有非隐藏物品均通过 Nautilus 获得:

  3. 所有(包括隐藏)商品来自tree -a

  4. 所有非隐藏物品来自tree


再次,如果除了使用递归方式tree计算当前文件夹和子文件夹中的非隐藏文件之外,还有其他方法可以让我们再次与 Nautilus 匹配,那也将不胜感激。

似乎有些方法使用findls可能容易受到文件夹或文件名中的特殊字符(例如换行符)的影响。之前提供的 AskUbuntu 帖子与此细节相关。此外,这里有一篇 Unix StackExchange 帖子,其中的回复提到了一种基于findst 的方法,隐藏文件夹中的常规文件在计数中也被视为隐藏(就像我们假设 Nautilus 所做tree的那样),但数字仍然不完全匹配:
https://unix.stackexchange.com/questions/18227/how-to-recursively-list-all-hidden-files-and-directories

我们提到的回应如下:
https://unix.stackexchange.com/a/18228


谢谢,
布莱恩


编辑:存储这些文档的硬盘驱动器是新格式化的驱动器。操作系统是新安装的 Ubuntu Desktop 20.04 实例。据我所知,我没有任何额外的进程与我想要测量非隐藏项目数量的目录交互。再次,非隐藏项目是指不以递归方式存在于某些点文件夹中的项目,假设主目录未隐藏。再次,在计算文件夹中的非隐藏文档时,为什么 Nautilus 和 eg tree 会得到不同的结果,有没有办法独立计算 Nautilus 给出的非隐藏项目数量?

相关内容