Apple 文件系统 (APFS) 检查文件是否是终端上的克隆 (shell)
Apple File System (APFS) Check if file is a clone on Terminal (shell)
对于 macOS High Sierra,可以使用新的文件系统:APFS。
此文件系统支持文件的克隆操作:存储上没有数据重复。
cp
命令有一个标志 (-c),可以在终端 (shell) 中启用克隆。
但之后我没有找到识别这些克隆文件的方法。
有人知道如何使用 shell 命令或现有命令中的标志识别克隆文件,例如 ls
?
您使用的命令不是 APFS 文件系统的功能。 CP -c 命令调用一个名为 "clonefile" 的函数,该函数自 2015 年起成为 bsd 的一部分(参见手册页)
http://www.manpagez.com/man/2/clonefile/
因此,例如,如果您克隆一个文件,您可以更改原始文件的属性,而克隆文件可以具有不同的属性。
我认为,您正在搜索的功能是在每个复制和写入中构建的。如果您使用 Time Machine 进行克隆,您可以看到不同之处。
今天没有找到每个终端的突击队来显示这种差异,但是 clonefile 命令因此不是正确的功能。
目前唯一已知的在克隆中显示更改属性的方法是 Apple Time Machine 备份解决方案。
这是一个快照解决方案。关于这个,在这个 Apple Dev Support-Case 中:
我认为这是 APFS 的内部专有功能,您不应该使用它。它让我觉得是一个相对无用的功能。如果您想要两个相同的文件并使用标准 API,请尝试使用硬链接或软链接,或者使用 Apple 别名。
3年零2个月后...因为这个问题我在Whosebug上得到了很多积分。
所以昨天我决定重新讨论这个话题:)。
使用 fcntl 和 F_LOG2PHYS 可以检查文件是否使用相同的物理块。
所以我利用这个想法制作了一个实用程序并将其放在 github (https://github.com/dyorgio/apfs-clone-checker) 上。
这只是第一个版本,但我希望社区能够改进它。
现在也许可以诞生一个使用克隆 APFS 功能删除重复文件的好工具。 >:)
对于 macOS High Sierra,可以使用新的文件系统:APFS。
此文件系统支持文件的克隆操作:存储上没有数据重复。
cp
命令有一个标志 (-c),可以在终端 (shell) 中启用克隆。
但之后我没有找到识别这些克隆文件的方法。
有人知道如何使用 shell 命令或现有命令中的标志识别克隆文件,例如 ls
?
您使用的命令不是 APFS 文件系统的功能。 CP -c 命令调用一个名为 "clonefile" 的函数,该函数自 2015 年起成为 bsd 的一部分(参见手册页)
http://www.manpagez.com/man/2/clonefile/
因此,例如,如果您克隆一个文件,您可以更改原始文件的属性,而克隆文件可以具有不同的属性。
我认为,您正在搜索的功能是在每个复制和写入中构建的。如果您使用 Time Machine 进行克隆,您可以看到不同之处。
今天没有找到每个终端的突击队来显示这种差异,但是 clonefile 命令因此不是正确的功能。
目前唯一已知的在克隆中显示更改属性的方法是 Apple Time Machine 备份解决方案。
这是一个快照解决方案。关于这个,在这个 Apple Dev Support-Case 中:
我认为这是 APFS 的内部专有功能,您不应该使用它。它让我觉得是一个相对无用的功能。如果您想要两个相同的文件并使用标准 API,请尝试使用硬链接或软链接,或者使用 Apple 别名。
3年零2个月后...因为这个问题我在Whosebug上得到了很多积分。
所以昨天我决定重新讨论这个话题:)。
使用 fcntl 和 F_LOG2PHYS 可以检查文件是否使用相同的物理块。
所以我利用这个想法制作了一个实用程序并将其放在 github (https://github.com/dyorgio/apfs-clone-checker) 上。
这只是第一个版本,但我希望社区能够改进它。
现在也许可以诞生一个使用克隆 APFS 功能删除重复文件的好工具。 >:)