如何改变时间戳的 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 。