Answers:
另一种方法是:
find -name file2 -newer file1
如果file2较旧或与file1相同,则将返回null。如果更新,它将返回文件2的名称(和目录)。
请注意,Linux不会跟踪文件的创建时间。这些测试将针对最新的修改日期和时间。
ctime
不是创建时间。它是inode的更改时间,并在文件的属性(例如所有者或权限)发生更改时或在您修改文件时进行更新。一些文件系统支持出生时间,但内核不支持。Stat显示空的出生时间。请参阅unix.stackexchange.com/a/91200注意OS X支持出生时间stat -f %SB filename
debugfs
在Linux中使用它来查看创建(出生)时间。
如果需要更多详细信息,可以使用以下stat
命令
<tbielawa>@(fridge)[~/SuperUser] 03:15:10
$ touch firstFile
<tbielawa>@(fridge)[~/SuperUser] 03:15:24
$ touch secondFile
<tbielawa>@(fridge)[~/SuperUser] 03:15:45
$ stat firstFile
File: `firstFile'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 151528 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/tbielawa) Gid: ( 500/tbielawa)
Access: 2010-09-14 03:15:24.938721003 -0400
Modify: 2010-09-14 03:15:24.938721003 -0400
Change: 2010-09-14 03:15:24.938721003 -0400
<tbielawa>@(fridge)[~/SuperUser] 03:15:48
$ stat secondFile
File: `secondFile'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 151529 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/tbielawa) Gid: ( 500/tbielawa)
Access: 2010-09-14 03:15:45.074722792 -0400
Modify: 2010-09-14 03:15:45.074722792 -0400
Change: 2010-09-14 03:15:45.074722792 -0400
根据此链接,unix不存储创建日期。 http://www.issociate.de/board/post/302628/How_to_check_file_creation_date.html
但是会存储最后访问权限。
最后访问
ls -t # displays in order of date. So the first one is the
ls在新行中显示每个文件。
所以ls -t在第一行等上显示最新文件。
您可以使用sed选择第一行。
ls -t php.exe php.ini | sed -n'1p'php.ini
可以做到,-lt
尽管您会看到如果您不指定任何文件..并且执行了目录..然后它在第一行给出了总数,因此您选择第二行就像$ls -lt | sed -n '2p'
一个好人是
ls -t | head -n 1
要么
ls -lt | head
以顺序显示第一个文件的顺序显示前10行,您可以看到它是哪个
-t
是修改时间;-u
是访问时间
这是我做的一个小脚本:
mtf0=`stat -c %Y file0`
mtf1=`stat -c %Y file1`
dt=$(( mtf1 - mtf0 ))
[[ $dt -gt 0 ]] && echo "File F1 is newer than file F0 "
-ot
“比…大”。