这两天在看文件时间戳的一些东西,在测试的时候发现在 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 )
1
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 |
2
TonyLiu2ca 2018-07-29 13:55:25 +08:00
@TonyLiu2ca 第二行命令:
$ stat -x aa |
3
alvinbone88 2018-07-29 15:56:39 +08:00
你可能需要 gmv,而不是 macOS 自带的 mv
macOS 下很多命令的行为与 Linux 的不一致 |