技术解析

如何改变时间戳的 ctime 属性
0
2021-06-17 18:08:14
idczone
rt,在迁移文件的时候时间戳会改变,只保留 Modify ( mtime ),为了避免在文件管理器里的混乱,我希望能从 mtime 复制到其他的所有属性( atime 、ctime 、mtime )。

但我看到通常使用的 touch 命令不能更改 ctime,而且只能精确到秒
所以有没有什么好方法来修改时间戳?
平台是 Android 手机,但好像跟 Linux 关系更大就发到这个节点
ps:要修改的大多是文档,所以 exif 什么的就行不通了
简单点的做法是修改目标系统的系统时间,麻烦一点应该得修改内核才行

http://stroke.sourceforge.net/
没试过行不行,只是以前听人提起过…

写个程序调 utime 系统调用去改,可以精确到微秒,但是同样不能改 ctime
https://man7.org/linux/man-pages/man2/utime.2.html

如果有 debugfs 可以试试直接用 debugfs 改 inode 数据。不然就只能像那样改系统时间了

android.stackexchange.com/questions/208184/how-to-change-the-modified-date-of-a-file-without-root
好像不行

找到当前保存文件的文件系统代码,ioctl 里面加点内容,通过匹配 d_cache 的文件名,找到 inode,然后直接改 inode 里面的 atime ctime 。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服