显示小于2天的文件的确切命令是什么?我想到了这样的事情:
$ find / -mtime -2
...但是我不确定如何打印找到的文件的日期。我的目标是在已安装的ntfs系统上查找最近几天内新的或已更改的文件。
此外,将结果从最新到最旧的排序将非常有帮助。那可能吗?
显示小于2天的文件的确切命令是什么?我想到了这样的事情:
$ find / -mtime -2
...但是我不确定如何打印找到的文件的日期。我的目标是在已安装的ntfs系统上查找最近几天内新的或已更改的文件。
此外,将结果从最新到最旧的排序将非常有帮助。那可能吗?
Answers:
少于48小时前创建或修改的文件
从最新到最旧排序:
find / -mtime -2 -printf "%T@" -ls | sort
我发现%T@
自man find
:上次修改时间(自纪元以来的秒数)
多亏了其glob限定符,这在zsh中更加容易。
print -l /**/*~/(proc|dev|sys)/*(m-2om)
该列表列出了,下的所有文件(或或/
下的文件,最近两天()中已被修改的文件除外)。这些文件以修改时间()的相反时间顺序列出,每行()一个。/proc
/dev
/sys
m-2
om
print -l
如果您还想列出文件元数据,则无需在外壳中排序,只需过滤即可。如果匹配文件过多,则可能会遇到平台相关的命令行长度限制。
ls -dlt /**/*~/(proc|dev|sys)/*(m-2)
如果只想匹配常规文件,请.
在括号内添加。
仅使用POSIX工具,您可以ls -dlt
用于排序和find
生成文件列表。同样,如果匹配文件太多,您可能会遇到与平台有关的命令行长度限制。如果您只想匹配常规文件,请在-type f
之前或之后添加mtime -2
。
find / -mtime -2 -exec ls -dlt {} +