Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何设置 Unix 文件的ctime?
(我更喜欢 Python 方面的答案。如果无法使用标准 Python 做到这一点,那么我想 C 也可以。)
(注意:我知道可以使用 os.utime 来设置文件的 atime 和 mtime。我对设置 ctime 很感兴趣。)
(注 2:我希望有一个适用于任何 POSIXoid Unix 的答案,但如果没有,我对 Darwin 和 Ubuntu 很感兴趣。)
将文件 ctime 设置为当前时间相对简单。只需修改其 mtime,翻转权限位,甚至对其进行硬链接。AFAIK 不可能以任何直接的方式使用系统调用 API 将文件的 ctime 设置为任意值。
如果您有 root 访问权限,您可以设置系统时间,对文件执行一些操作以将 ctime 设置为当前时间,然后将系统时间设置回来。您也可以对磁盘上的 inode 数据结构进行位旋转。但这两个都是非常糟糕的想法,原因有很多,我不希望我必须详细解释。