gpt4 book ai didi

macos - OSX - 如何从命令行获取文件的创建和修改时间

转载 作者:行者123 更新时间:2023-11-29 08:43:08 27 4
gpt4 key购买 nike

在解决一些编程难题时,我想看看我花了多长时间来编写该问题的解决方案。为此,我认为将文件创建日期与最新修改日期进行比较是个好主意。

在终端 (OSX) 中,我尝试了以下命令并惊讶地连续三次看到相同的日期:

stat my_file.py
16777220 10280844 -rw-r--r-- 1 username staff 0 7214 \
"Dec 5 08:32:39 2015" \
"Dec 5 08:32:39 2015" \
"Dec 5 08:32:39 2015" \
"Dec 5 08:32:39 2015" 4096 16 0 my_file.py

我创建然后修改文件的方式:

touch my_file.py
vim my_file.py # <- modify some content
stat my_file.py

知道如何从命令行获取这两个日期吗?

澄清:我不想计算脚本的执行时间。

编辑:问题是 vim 在保存时更改了创建日期,已接受的答案仍然为感兴趣的人深入回答了这个问题。

最佳答案

stat 报告标准 Unix 日期、上次访问时间、上次修改时间和 inode 更改时间(通常被误认为是创建时间)。 Mac OS X 还维护文件创建时间,并且可以使用 GetFileInfo 命令访问它:

$ GetFileInfo -d .bash_profile
10/08/2015 09:26:35

这是一个更完整的例子:

$ ls -l my_file.py
ls: my_file.py: No such file or directory
$ touch my_file.py
$ stat -x my_file.py
File: "my_file.py"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff)
Device: 1,5 Inode: 26863832 Links: 1
Access: Sun Dec 6 13:47:24 2015
Modify: Sun Dec 6 13:47:24 2015
Change: Sun Dec 6 13:47:24 2015
$ GetFileInfo my_file.py
file: "/Users/blm/my_file.py"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 12/06/2015 13:47:24
modified: 12/06/2015 13:47:24
$ echo hello >my_file.py
$ stat -x my_file.py
File: "my_file.py"
Size: 6 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff)
Device: 1,5 Inode: 26863832 Links: 1
Access: Sun Dec 6 13:47:24 2015
Modify: Sun Dec 6 13:47:35 2015
Change: Sun Dec 6 13:47:35 2015
$ GetFileInfo my_file.py
file: "/Users/blm/my_file.py"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 12/06/2015 13:47:24
modified: 12/06/2015 13:47:35
$ cat my_file.py
hello
$ stat -x my_file.py
File: "my_file.py"
Size: 6 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff)
Device: 1,5 Inode: 26863832 Links: 1
Access: Sun Dec 6 13:47:54 2015
Modify: Sun Dec 6 13:47:35 2015
Change: Sun Dec 6 13:47:35 2015
$ GetFileInfo my_file.py
file: "/Users/blm/my_file.py"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 12/06/2015 13:47:24
modified: 12/06/2015 13:47:35

请注意,使用 vim 进行测试可能会产生误导,因为 vim 会将您修改的文件写入一个新的临时文件,然后将旧文件和新文件重命名,因此创建时间将更新为写入文件的时间。参见 this post我为此想出了一个解决方法。

关于macos - OSX - 如何从命令行获取文件的创建和修改时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34123076/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com