在C中修改文件的文件状态

时间:2018-07-16 09:50:34

标签: c linux stat

我正在编写一个程序,通过将多个文件合并到一个文件中来提高文件的可移植性(类似于winzip / 7zip)。

我的问题是:有什么方法可以修改解压缩文件的文件统计信息以使其与打包前的文件统计信息匹配? (不只是时间。)

1 个答案:

答案 0 :(得分:3)

主要直接可更改的统计信息是用户和组权限,您可以通过chmod系统调用(请咨询man page)进行更改。可以使用chownman page)设置实际所有者和组-请注意,如果以所有者身份运行,则只能更改所有者,或将组更改为当前用户不是其成员的组。超级用户(即root)。可以使用utimesman)设置时间。扩展文件属性(用于访问控制列表等)可以使用setxattrman)进行设置。

其他文件属性-硬链接,inode等的数量-无法直接设置。

在任何情况下,存档时都需要读取文件的属性,将它们与文件内容和其他元数据一起序列化到存档中,并使用列出的系统调用在提取时恢复它们。