如何仅获取在使用 ls 的日期之后创建的文件?

Luc*_*c M 145 ls

使用该ls命令,是否可以仅显示在特定日期、小时...之后创建的文件?

我问它是因为我有一个包含数千个文件的目录。

我希望看到自昨天以来创建的所有文件。

我使用ls -ltr但我必须等待才能看到所有文件...

有一个DIRECTORY/SINCE=date来自 OpenVMS的等价物?

dog*_*ane 176

您可以使用该find命令查找在一定天数后被修改的所有文件。

例如,要查找当前目录中自昨天(24 小时前)以来修改过的所有文件,请使用:

find . -maxdepth 1 -mtime -1
Run Code Online (Sandbox Code Playgroud)

需要注意的是找到修改的文件24小时之前,你必须使用-mtime +1替代-mtime -1

  • 使用 GNU find,还有其他可能性。`-mmin 5` 列出最近 5 分钟内修改的文件。`-newermt "2011-02-27 13:42"` 列出自指定日期以来修改的文件。你可以使用 `-exec ls --color -ld {} +` 代替 `-ls` 来获得通常的颜色显示(如果你喜欢彩色的 ls 输出)。 (28认同)
  • 注意减号:`find 。-分钟-5` (5认同)
  • 对我来说它是这样工作的: find 。-type f -newermt '1/15/2012 18:09:00' (4认同)
  • 我会说的话。没有理由将自己限制在“ls”这里,Luc。 (3认同)

小智 56

find . -type f -newermt '1/30/2017 0:00:00'
Run Code Online (Sandbox Code Playgroud)

这将找到在特定日期之后修改的所有文件。

  • 这对我有用,除了我决定采用不那么模糊的日期格式,例如 `find 。-type f -newermt '2020-04-01 00:00:00'` (8认同)