有没有办法获得目录的最后修改date,包括子目录? 要么通过shell脚本或PHP?
谢谢!
这是一个假定Linux(或者更一般的GNU find)的shell解决scheme。 为了简单起见,不支持包含换行符的文件名。
find /path/to/directory -type f -printf '%T@:%p\n' | sort -t : -k 1 -nr | head -n 1 | sed -e 's/^[^:]*://'
快速解释:
•列出树中的所有常规文件; 为每个文件打印修改时间,冒号和名字。
•通过减less前导号码进行sorting。
•只保留第一行。
•删除主要号码和:
。
Unix“stat”命令将提供这个信息,以及同名的PHP函数。
我不确定你在问什么,但是你有没有试过ls -la ?
甚至…find./ -exec ls -lah {} \; 看到一切的最后date。
(它可以部署在* nix系统中)
一个shell脚本听起来好像会使这个更复杂,然后不得不,但是如果我不完全理解这个问题,请原谅我。
树将是我会用这个命令
语法树-dfsD
如果您希望查看sorting(并显示)其最后修改date的位置中的所有目录/子目录(而不是任何文件)的列表,则可以使用以下命令:
ls -lRt | grep ^d
更新:您可以进一步将输出限制为仅使用最后修改的date和目录名称
ls -lRt | grep ^d | awk '{print $6" "$7" "$8, $9}'
这两个列表中唯一的问题是你没有得到每个目录的完整path,所以很难判断哪些目录是子目录。