Linux-文件夹中最新修改文件的日期

Linux-文件夹中最新修改文件的日期

我在这里想要实现的目标是:

我有一个 Apache 网站,我想在该网站上显示类似

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

我有一个想法。我可以编写一个每小时检查一次最新修改文件的日期的脚本。/var/www.然后将该值存储在文件或数据库中,以便快速访问。

我该如何做呢?如果您有更好的想法,请与我分享。

答案1

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

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")"

网站最新更新:2011 年 2 月 12 日 晚上 8 点 55 分

这是一个有趣的单行代码,但我不建议使用它。它可能会很慢。

答案2

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

需要在线上做一些剪切,但基本上这是您最后更新的文件+日期。

答案3

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

答案4

您是否在寻找及以下给定的目录?

对于一个目录,@Flash 的答案很好用。(虽然ls -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`

相关内容