V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skai0dev
V2EX  ›  macOS

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

  •  1
     
  •   skai0dev · 2018-07-29 11:04:45 +08:00 · 2314 次点击
    这是一个创建于 2070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天在看文件时间戳的一些东西,在测试的时候发现在 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

    TonyLiu2ca
        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
    TonyLiu2ca
        2
    TonyLiu2ca  
       2018-07-29 13:55:25 +08:00
    @TonyLiu2ca 第二行命令:
    $ stat -x aa
    alvinbone88
        3
    alvinbone88  
       2018-07-29 15:56:39 +08:00
    你可能需要 gmv,而不是 macOS 自带的 mv
    macOS 下很多命令的行为与 Linux 的不一致
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5385 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:59 · PVG 14:59 · LAX 23:59 · JFK 02:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.