Linux – 文件夹中最新修改文件的date

我想在这里完成的是这样的:

我有一个Apache网站,并在该网站上,我想要显示的东西

Latest website update: 01/12/2011 at 6h32 AM 

我有一个想法如何做到这一点。 我可以编写一个小时脚本来检查/ var / www中的最新修改文件的date。 然后将此值存储在文件或数据库中以便快速访问。

我该怎么做,如果你有更好的主意,请与我分享。

这给你在你的问题中要求的确切的输出:

echo "Latest website update: $(date -d @$(find /var/www -type f -exec stat -c%Z {} \; | sort | tail -1) "+%d/%m/%Y at %lh%M %p")"

最新网站更新:02/12/2011 at 8h55 PM

拼凑在一起很有趣,但我不推荐使用它。 它可能会很慢。

 $lastupdated = `ls -ltr <directory> | tail -n 1` 

需要做一些切割就行,但基本上这是你最后更新的文件+date。

也许使用GNU stat的输出将会有所帮助。 stat -x /var/www

你正在寻找在给定的目录下和任何文件?

对于一个目录,@ Flash的答案工作正常。 (尽pipels -lt /var/www | head -n 2 | cut -c40-53速度要快一些,但是结果会增加一个\n的代价)

对于整个目录 ,您可以使用变体

 `find /var/www -type f -printf '%T@\t%TH:%TM on %Tx\t%p\n' | sort -k1 -n | cut -f 2 | head -n 1`