为什么 MacOS 上的 mv 命令重命名文件不会更改文件的 ctime

2018-07-29 11:04:45 +08:00
 skai0dev

这两天在看文件时间戳的一些东西,在测试的时候发现在 Mac OS 使用 mv 命令重命名文件不会改变文件的 ctime,而在其他系统( Ubuntu,Android,WSL )都会改变文件的 ctime,按照 GNU Coreutil 那个页面的说法,重命名文件应该是改变 ctime 的,虽然 Mac OS 不属于 Linux,但改变文件名不应该也是改变了文件的元信息了吗?

https://www.gnu.org/software/coreutils/manual/coreutils.html#File-timestamps

2322 次点击
所在节点    macOS
3 条回复
TonyLiu2ca
2018-07-29 13:54:28 +08:00
$ touch aa
$ stat -c aa
File: "aa"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ admin) Gid: ( 20/ staff)
Device: 1,4 Inode: 8591379625 Links: 1
Access: Sat Jul 28 23:53:42 2018
Modify: Sat Jul 28 23:53:42 2018
Change: Sat Jul 28 23:53:42 2018

$ mv aa bb
$ stat -x bb
File: "bb"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ admin) Gid: ( 20/ staff)
Device: 1,4 Inode: 8591379625 Links: 1
Access: Sat Jul 28 23:53:42 2018
Modify: Sat Jul 28 23:53:42 2018
Change: Sat Jul 28 23:54:00 2018
TonyLiu2ca
2018-07-29 13:55:25 +08:00
@TonyLiu2ca 第二行命令:
$ stat -x aa
alvinbone88
2018-07-29 15:56:39 +08:00
你可能需要 gmv,而不是 macOS 自带的 mv
macOS 下很多命令的行为与 Linux 的不一致

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/475044

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX