15.01-02 文件时间戳
stat
可以用 stat 族系统调用来获取文件的属性。
utime 秒级时间戳更新
用 utime 族系统调用来设置文件的时间信息。修改时需要有相应的权限,以 utime 为例,其签名为:
int utime(const char *filename,
const struct utimbuf *_Nullable times);
如果 times 参数为 NULL,则会将文件的 atime 和 mtime 修改为当前的时间。这需要进程的文件系统用户 ID 和文件匹配,且有写权限,或者是带有 CAP_FOWNER 或者 CAP_DAC_OVERRIDE 的特权级程序。
如果 times 参数非空,那么会用给定结构体的信息去更新 atime 和 mtime(ctime 信息是不能用系统调用任意修改的)。这需要进程的文件系统用户 ID 和文件匹配并有写权限,或者是带有 CAP_FOWNER 的特权级程序。


