一尘不染

在Linux终端中,如何考虑到文件夹的内容,显示该文件夹的最后修改日期?

linux

所以这是交易。假设我有一个名为“ web”的目录,因此

$ ls -la

drwx------  4 rimmer rimmer 4096 2010-11-18 06:02 web

但是在这个目录下,web / php /

$ ls -la

-rw-r--r-- 1 rimmer rimmer 1957 2011-01-05 08:44 index.php

这意味着即使我的目录/web/php/index.php的内容上次修改时间为2011年1月5日,/ web
/目录本身也被报告为最后一次修改时间为2010年11月18日。

我需要做的是递归地将/ web /目录的最后修改日期报告为该目录内任何文件/目录的最新修改日期。

我该怎么做呢?


阅读 289

收藏
2020-06-07

共1个答案

一尘不染

就像是:

find /path/ -type f -exec stat \{} --printf="%y\n" \; | 
     sort -n -r | 
     head -n 1

说明:

  • find命令将为每个文件递归地忽略目录打印修改时间(根据IQAndreas的评论,您不能依赖文件夹时间戳)
  • 排序-n(按数字)-r(反向)
  • 头-n 1:获取第一个条目
2020-06-07