gpt4 book ai didi

Linux - 如何在不使用 find 命令的情况下查找过去 12 小时内更改的文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:59 25 4
gpt4 key购买 nike

我需要查找过去 12 小时内修改的文件。但是,该目录非常大,因此使用通常的 find 命令需要很长时间。

有人有任何想法可以更快地做到这一点吗?我正在考虑列出文件,然后使用 head 获取前 20 个文件,然后仅检查这些文件。但我不确定。

有什么帮助吗?

更新:感谢所选答案的帮助,我们发现您实际上可以在不使用 find 命令的情况下找到文件。诀窍是对文件名添加时间戳,然后使用以下代码获取最新的文件名:

ls -1/目录/文件*.txt |排序-nr |头-1

最佳答案

文件修改时间存储在其 inode 中。因此,无论您使用什么命令都必须读取该目录中所有文件的 inode 。您可以编写自己的脚本来检查 mtime,但它不会更快。

列出目录内容(仅文件名)确实很快,请尝试使用 ls -1(ls 减一)。但是使用诸如 mtime 之类的文件属性列出它则很慢:ls -l(ls 减去小 L)。

目录中的文件列表由文件系统以“随机”顺序读取(顺序取决于很多因素,但是静态的)。因此,您不能使用诸如在 X 个文件后停止之类的方法。 ls -t 列出按 mtime 排序的文件,但它必须读取所有文件的 mtime 才能对它们进行排序。

关于Linux - 如何在不使用 find 命令的情况下查找过去 12 小时内更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com