当前位置: 首页 > 科技观察

如何在Linux中使用find根据时间戳查找文件

时间:2023-03-21 22:51:49 科技观察

Linux中的find命令用于根据不同的参数查找文件和文件夹。这些参数可以是文件名、大小、文件类型等。其中一个参数是文件的时间戳。在Linux(和所有基于Unix的文件系统)中,每个文件都有3个时间戳:LastModifiedTimeLastAccessTimeLaststatechangetime(i.e.whenthefile'smetadatasuchpermissionwaschanged)让我们看看如何使用find来搜索文件在每个时间戳上。在Linux中查找文件时间戳首先,我们可以在Linux中运行“stat”命令来获取文件的所有这些时间戳。例如,对于名为“linuxmi.cpp”的文件,运行:linuxmi@linuxmi:~/www.linuxmi.com$statlinuxfindstatisticstimestamp根据时间戳查找文件现在,要根据时间戳查找文件,我们使用手册页“-newerXY”中的查找参数。linuxmi@linuxmi:~/www.linuxmi.com$manfindFind命令手册页所以,在参数'-newerXY'中,我们可以将X作为a、c或m分别表示上次访问、上次状态更改和上次修改时间,使用Y作为t这样我们就可以将下一个参数作为时间戳字符串。注意:在基于Unix的文件系统中,不保留文件的创建时间简而言之,运行的命令如下:find-newert''这里,时间戳的格式应为:'YYYY-MM-DDHH:MM:SS'。让我们在只有几个文件的文件夹上尝试这种方法,其中只有两个文件在指定时间后被访问、修改和状态更改。linuxmi@linuxmi:~/www.linuxmi.com$find.-newerat'2021-05-1607:55'linuxmi@linuxmi:~/www.linuxmi.com$find.-newerct'2021-05-1607:55'linuxmi@linuxmi:~/www.linuxmi.com$find.-newermt'2021-05-1607:55'根据时间戳查找文件如果两个文件的时间戳确实大于指定时间,则使用"stat"来核实。linuxmi@linuxmi:~/www.linuxmi.com$statlinuxmi.cpplinuxmi.com.cpp验证文件时间戳总结我们已经学习了如何使用find命令的“-newerXY”参数根据时间戳搜索文件。请注意,您也可以在不明确指定时间戳的情况下使用另一个文件作为参考时间戳,在这种情况下,可以跳过参数中的“t”。如果您有任何问题,请在下面的留言框中指出,谢谢!