Linux 更改文件时间(触摸)

Linux 更改文件时间(触摸),linux,Linux,我希望能够更改文件的修改日期,以便在web应用程序中使用。目前,我正在直接在命令行上测试这一点。在我的mac电脑上运行良好,但在linux服务器上执行此操作时会出现错误 命令: /bin/touch-m-t 200906041200/foo/bar/file.where 错误: /bin/touch:“/foo/bar/file.whatever”的设置时间:不允许操作 有问题的文件是777。您正在使用吗?这可以解释问题。即使文件权限可能是所有者、组和其他人的读/写权限,我相信您需要实际拥有该文

我希望能够更改文件的修改日期,以便在web应用程序中使用。目前,我正在直接在命令行上测试这一点。在我的mac电脑上运行良好,但在linux服务器上执行此操作时会出现错误

命令: /bin/touch-m-t 200906041200/foo/bar/file.where

错误: /bin/touch:“/foo/bar/file.whatever”的设置时间:不允许操作


有问题的文件是777。

您正在使用吗?这可以解释问题。

即使文件权限可能是所有者、组和其他人的读/写权限,我相信您需要实际拥有该文件,才能更改所讨论文件的时间。

在Linux上,您必须是文件所有者(或root)才能将修改时间更改为当前时间以外的时间。还有其他一些限制
man-utime
获取完整详细信息。

您使用的是什么Linux?我以前在linux上也这样做过,而且效果很好。也许有人用不允许触摸的二进制文件替换了触摸二进制文件。啊,废话。创建日期也一样吗?如果您指的是ctime,则任何人都不能将其更改为当前时间以外的任何时间。(当然,除非您是root用户,在这种情况下,您可以编辑inode并在任何时间创建它。)@Louis:UNIX文件系统没有“创建时间”的概念。有atime=“访问时间”(不言自明)、ctime=“inode更改时间”(创建或删除链接、修改权限等)和mtime=“修改时间”(数据更改)。有一个技巧可以做到这一点。首先将文件复制到另一个名称,然后用副本删除原始文件:您现在是所有者,可以设置您想要的任何时间。不确定我是否可以接受两个答案,但这也是有效的答案。