在已安装的ntfs系统上显示最近2天的文件?


8

显示小于2天的文件的确切命令是什么?我想到了这样的事情:

$ find / -mtime -2

...但是我不确定如何打印找到的文件的日期。我的目标是在已安装的ntfs系统上查找最近几天内新的或已更改的文件。

此外,将结果从最新到最旧的排序将非常有帮助。那可能吗?


如果您编辑问题以寻求其他建议,则至少应告知那些自信地回答的人,他们的答案不再有效,因为新访客将主要根据其当前经历投票,而不是对难以回顾的历史进行投票。更重要的是,以后添加其他要求是恕我直言的不良风格。为此提出一个新问题。考虑到需求,人们可能选择了其他方法。
用户未知

这只是我的问题文本中的一个拼写错误。主题本身是正确的。在正文中,我写的是“年轻人”而不是“老人”。我的代码示例也没有更改。但是基本上你是对的。
Bevor 2012年

Answers:


10

少于48小时前创建或修改的文件
从最新到最旧排序:

find / -mtime -2 -printf "%T@" -ls | sort

我发现%T@man find:上次修改时间(自纪元以来的秒数)


我想查看找到的文件的日期,而不仅仅是文件本身。我也更新了这个问题,因为将结果从最新到最旧的排序将非常有帮助。
Bevor 2012年

最后一个命令是我要搜索的,谢谢。
Bevor 2012年

我需要“小于”两天,所以从今天到前两天(我的问题起初是错误的,我写了“大于”,这是我的错误),但是当我设置-2而不是+2时它可以工作。我现在还没有在ntfs上测试过,我必须等到明天,但是我认为它也可以在那儿工作(就像在我的本地Ubuntu上一样)。如果没有,我会通知您。
Bevor 2012年

完美的作品:)
Bevor 2012年

太好了:-D再见
-olibre

2

如果通过管道传递给xargs,则可以轻松调整的输出/格式选项ls以显示日期,按日期排序等。

find / -type f -mtime -2 -print0 | xargs -0 ls -lt


1

多亏了其glob限定符,这在zsh中更加容易。

print -l /**/*~/(proc|dev|sys)/*(m-2om)

该列表列出了,下的所有文件(或或/下的文件,最近两天()中已被修改的文件除外)。这些文件以修改时间()的相反时间顺序列出,每行()一个。/proc/dev/sysm-2omprint -l

如果您还想列出文件元数据,则无需在外壳中排序,只需过滤即可。如果匹配文件过多,则可能会遇到平台相关的命令行长度限制。

ls -dlt /**/*~/(proc|dev|sys)/*(m-2)

如果只想匹配常规文件,请.在括号内添加。

仅使用POSIX工具,您可以ls -dlt用于排序和find生成文件列表。同样,如果匹配文件太多,您可能会遇到与平台有关的命令行长度限制。如果您只想匹配常规文件,请在-type f之前或之后添加mtime -2

find / -mtime -2 -exec ls -dlt {} +

1

(注意:该问题的一个句子最初要求输入日期,在文本中早于2天,而标题则要求相反。稍后也介绍了对输出进行排序的需求)。

find / -mtime -2 -ls 

使用+2,您可以看到文件的时间超过2天,可以看到-2的文件时间少于两天,而文件的原始时间为2:2天。

使用-ls,您将得到类似ls -l的输出,您可以在其中查看文件日期。

find / -ctime -2 -ls 

使用ctime而不是mtime,可以得到创建日期,而不是修改日期,但是根据文件系统功能和/ etc / fstab中的设置,此设置可能有效或无效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.