Unix上的文件修改时间(秒)

Exp*_*ob1 31 unix time file

在Unix上,是否有命令显示文件的修改时间,精确到秒?

在Linux上,这可以通过"stat -c%y"轻松完成,返回类似的东西2009-11-27 11:36:06.000000000 +0100.我在Unix上找不到相同的东西.

Aft*_*ock 24

我找到了这个:

ls --time-style='+%d-%m-%Y %H:%M:%S' -l
Run Code Online (Sandbox Code Playgroud)

哪个出口像这样:

root:~# ls --time-style='+%d-%m-%Y %H:%M:%S' -l
total 0
-rw-r--r-- 1 root root 0 16-04-2015 23:14:02 other-file.txt
-rw-r--r-- 1 root root 0 16-04-2015 23:13:58 test.txt
Run Code Online (Sandbox Code Playgroud)


Ben*_*enj 10

根据我Mac上的手册页(具有BSD标准版本的stat),您可以在几秒钟内获得修改的纪元时间版本:

stat -f %m /etc/passwd
Run Code Online (Sandbox Code Playgroud)

或者如果你想在几小时内打印出来:分钟:秒你可以这样做:

perl -e "print scalar(localtime(`stat -f %m /etc/passwd`))"
Run Code Online (Sandbox Code Playgroud)


Hen*_*k T 7

以下为您提供自Epoch以来的最后修改时间(以秒为单位):

stat -c%Y <file>
Run Code Online (Sandbox Code Playgroud)


Ste*_*ell 5

find命令是各种文件信息的良好来源,包括修改第二个文件的时间:

find /etc/passwd -maxdepth 0 -printf "%TY/%Tm/%Td %TH:%TM:%.2TS\n"
2011/11/21 13:41:36
Run Code Online (Sandbox Code Playgroud)

第一个参数可以是文件.maxdepth阻止搜索是否给出目录名称.%T指示它打印上次修改时间.

一些系统将%TS解释为浮点秒(例如36.8342610).如果你想要小数秒使用"%TS"而不是"%.2TS",但你可能在每个系统上都看不到小数秒.