我正在从旧硬盘驱动器恢复文件,并且需要保留驱动器的上次修改日期。他们更新的原因是因为我需要将文件的所有权更改为新用户。
答案1
当所有者更改时,mtime(文件修改时间)不应更改(atime 或访问时间也不应更改)。这将是 inode 信息的更改,反映在 ctime 字段中。
如果您发现在您的系统上,chown(2)
(chown(1)
或chgrp(1)
)确实更改了 mtime 或 atime 并且您担心保留 mtime 和 atime,那么您需要编写代码来收集当前时间(使用stat(2)
或stat(1)
),然后恢复他们(使用utimes(2)
或touch(1)
)。
AFAIK,您无法控制 ctime 的设置。如果索引节点发生更改,系统会记录更改的时间,并且不允许您更改它。