首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(APFS)检查文件是否是终端(shell)上的克隆文件

(APFS)检查文件是否是终端(shell)上的克隆文件
EN

Stack Overflow用户
提问于 2017-09-26 04:16:44
回答 3查看 2.7K关注 0票数 31

有了macOS高中,就有了一个新的文件系统: APFS。

此文件系统支持对文件的克隆操作:没有存储上的数据重复。

cp命令有一个标志(-c),它允许在终端(shell)中进行克隆。

但之后我找不到识别这些克隆文件的方法。

有人知道如何用shell命令或存在的命令中的标志来识别克隆的文件,比如ls

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-10 19:29:51

三年零两个月后..。因为这里有一个关于堆叠溢出的问题,所以我得到了很多的分数。

因此,昨天我决定重新讨论这个话题:)。

使用fcntl和F_LOG2PHYS可以检查文件是否使用相同的物理块。

因此,我使用这个想法制作了一个实用程序,并将其放在github (https://github.com/dyorgio/apfs-clone-checker)上。

这只是第一个发布的家伙,但我希望社区可以改进它。

现在,使用克隆APFS功能删除重复文件的好工具可能会诞生。>:)

票数 6
EN

Stack Overflow用户

发布于 2017-10-20 08:26:59

您所使用的命令不是的一个特性。CP -c命令调用一个名为"clonefile“的函数,该函数自2015年以来一直是bsd的一部分(s.man-Page)。

http://www.manpagez.com/man/2/clonefile/

因此,例如,如果您克隆一个文件,您可以从原始文件中更改属性,克隆人可以有不同的属性。

我认为,您正在搜索的功能是在每个副本中构建和编写。你可以看到不同的,如果你用时间机器做一个克隆。

A今天还没有找到每个终端的突击队,以显示这种差异,但是clonefile命令因此不是正确的函数。

目前唯一已知的在克隆中显示更改属性的方法是Apple Time Machine备份解决方案。

这是快照解决方案。关于这一点,在这个Apple Dev支持案例中:

https://forums.developer.apple.com/thread/81171

票数 -1
EN

Stack Overflow用户

发布于 2019-08-26 05:42:21

我认为这是APFS的一个内部专有特性,您不应该使用它。在我看来,这是一个相对无用的特征。如果您想拥有两个相同的文件,并使用标准API,请尝试硬链接或软链接,否则苹果别名。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46417747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档