Filesystems 获取文件的所有文件系统元数据的可移植方法

Filesystems 获取文件的所有文件系统元数据的可移植方法,filesystems,metadata,Filesystems,Metadata,我想统一来自多台机器的备份,但每个文件系统都为文件存储不同的元数据。比如访问时间、权限、unix系统的整个stat结构、xattrs等等 当然,可能没有比查看文件保存的文件系统并相应地查询元数据更好的方法了。但我想知道是否有一种工具可以以可移植的方式实现这一点——它应该检测文件所在的文件系统,并获取所有元数据,这样我就可以恢复它(假设恢复点位于相同的文件系统上) 如果你知道所有的文件系统,那么写这样的东西应该比较容易,所以我假设它已经存在了。你知道这样一件事吗?没有任何工具可以支持地球上所有现有

我想统一来自多台机器的备份,但每个文件系统都为文件存储不同的元数据。比如访问时间、权限、unix系统的整个stat结构、xattrs等等

当然,可能没有比查看文件保存的文件系统并相应地查询元数据更好的方法了。但我想知道是否有一种工具可以以可移植的方式实现这一点——它应该检测文件所在的文件系统,并获取所有元数据,这样我就可以恢复它(假设恢复点位于相同的文件系统上)


如果你知道所有的文件系统,那么写这样的东西应该比较容易,所以我假设它已经存在了。你知道这样一件事吗?

没有任何工具可以支持地球上所有现有文件系统的所有属性。与您的请求最接近的工具是
tar
。GNU
tar
支持扩展属性(
xattr
),它还捕获许多NTFS属性(不确定当前状态,2009年未捕获一些使用较少的NTFS属性),并且它还捕获Mac上的许多HFS(+)属性。苹果的
tar
实现(也是开源的)甚至捕获了OSX上的资源分叉,尽管苹果正在远离资源分叉,但截至今天,过去几年添加的大多数属性也存储为OSX上的扩展属性(
xattr
)(HFS+支持xattr)。因此,使用最新版本的
tar
可能会在捕获和恢复文件元数据方面提供最佳效果;理想情况下,使用系统提供的tar(例如,在带有HFS+的OSX上,苹果的tar可能比GNU tar提供更好的结果),否则GNU tar作为一个通用工具已经相当不错了。

目前还没有支持地球上所有现有文件系统的所有属性的工具。与您的请求最接近的工具是
tar
。GNU
tar
支持扩展属性(
xattr
),它还捕获许多NTFS属性(不确定当前状态,2009年未捕获一些使用较少的NTFS属性),并且它还捕获Mac上的许多HFS(+)属性。苹果的
tar
实现(也是开源的)甚至捕获了OSX上的资源分叉,尽管苹果正在远离资源分叉,但截至今天,过去几年添加的大多数属性也存储为OSX上的扩展属性(
xattr
)(HFS+支持xattr)。因此,使用最新版本的
tar
可能会在捕获和恢复文件元数据方面提供最佳效果;理想情况下,使用系统提供的tar(例如,在带有HFS+的OSX上,苹果的tar可能比GNU tar提供更好的结果),否则GNU tar作为一个通用实用程序已经相当不错了。

“如果知道所有的文件系统,这样的东西应该比较容易写”让我咯咯地笑了起来。你真的相信地球上有人知道所有的文件系统吗?“如果你知道所有的文件系统,那么写这样的东西应该比较容易”让我咯咯地笑了起来。你真的相信地球上有人知道所有的文件系统吗?