softlinks atime和mtime修改

时间:2012-04-12 07:26:28

标签: c linux command-line symlink

是否可以更改符号链接的atimemtime

我正在尝试使用utime()函数(C代码)更改它,而是更改目标文件的时间。

如果我这样做

cp -dpr <src fldr> <<dest folder> (command line) 

[src文件夹包含不同的符号链接。] 目的地的符号链接使用当前时间戳创建。

在符号链接上执行stat()会给我目标文件的时间(在C代码中),但是如果我们在命令行上发出stat命令,它会给出链接的时间戳(可能是使用lstat

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用touch中的-h标志来修改符号链接的mtime和atime而不是它引用的文件:

touch -h somesymlink

如果您不想使用当前时间,可以使用-t标志指定设置时间。

答案 1 :(得分:1)

请改用lutimes。请参阅man lutimeshttp://www.gnu.org/software/libc/manual/html_node/File-Times.html