Linux如何查找文件访问时间(atime) (find atime linux)

在Linux系统中,每个文件都有访问时间(atime)属性,表示文件最后一次被读取或访问的时间。了解文件的访问时间对于系统管理员和安全人员来说非常重要,因为可以用来监控系统的使用情况和潜在的安全漏洞。本文将介绍如何使用Linux内置的命令查找文件的访问时间。

1.查找单个文件的访问时间

要查找单个文件的访问时间,可以使用Linux系统中的stat命令。stat命令可以显示文件的详细信息,包括文件的大小、创建时间、修改时间和访问时间等。要查找某个文件的访问时间,只需在终端(terminal)中输入以下命令:

“`

$ stat /path/to/file

“`

其中,/path/to/file表示要查找访问时间的文件路径。执行以上命令后,会显示该文件的详细信息,包括访问时间。例如,以下是查找文件test.txt的访问时间的命令和输出:

“`

$ stat test.txt

File: test.txt

Size: 0 Blocks: 0 IO Block: 4096 regular empty file

Device: fd00h/64768d Inode: 13641710 Links: 1

Access: (0644/-rw-r–r–) Uid: ( 1000/ user) Gid: ( 1000/ user)

Access: 2023-10-18 12:34:56.789012345 +0800

Modify: 2023-10-01 23:45:67.890123456 +0800

Change: 2023-10-01 23:45:67.890123456 +0800

Birth: –

“`

可以看到,该文件的访问时间是2023年10月18日12点34分56秒。

2.查找某个目录下所有文件的访问时间

要查找某个目录下所有文件的访问时间,可以使用Linux系统中的find命令。find命令可以在指定目录中搜索符合条件的文件,并对它们进行相应的操作。要查找某个目录下所有文件的访问时间,只需在终端中输入以下命令:

“`

$ find /path/to/dir -type f -printf “%p %Ax\n”

“`

其中,/path/to/dir表示要查找的目录路径。执行以上命令后,会显示该目录下所有文件的详细信息,包括文件路径和访问时间。例如,以下是查找目录/home/user下所有文件的访问时间的命令和输出:

“`

$ find /home/user -type f -printf “%p %Ax\n”

/home/user/test1.txt 2023-10-01

/home/user/test2.txt 2023-10-05

/home/user/test3.txt 2023-10-18

“`

可以看到,该目录下所有文件的访问时间都被列出来了。

3.查找某个目录下文件的访问时间范围内的文件

要查找某个目录下访问时间在指定范围内的文件,可以使用Linux系统中的find命令结合-atime选项。-atime选项可以指定文件的访问时间,单位为24小时,并且可以使用符号“+”或“-”表示时间在指定天数之前或之后。要查找某个目录下访问时间在7天内的文件,只需在终端中输入以下命令:

“`

$ find /path/to/dir -type f -atime 7

“`

其中,/path/to/dir表示要查找的目录路径,-type f表示查找的是文件而非目录,-atime 7表示访问时间在7天内的文件。执行以上命令后,会显示符合条件的文件的路径。例如,以下是查找目录/home/user下访问时间在7天内的文件的命令和输出:

“`

$ find /home/user -type f -atime 7

/home/user/test1.txt

/home/user/test2.txt

“`

可以看到,该目录下访问时间在7天内的文件都被列出来了。

4.改变文件的访问时间

在Linux系统中,可以使用touch命令改变文件的访问时间。touch命令可以更新文件的时间戳,包括访问时间、修改时间和创建时间。要改变某个文件的访问时间,只需在终端中输入以下命令:

“`

$ touch -a /path/to/file

“`

其中,/path/to/file表示要改变访问时间的文件路径,-a表示只修改访问时间而不修改修改时间。执行以上命令后,该文件的访问时间就会被更新为当前时间。

Linux系统中,通过使用stat命令、find命令和touch命令可以查找文件的访问时间,并且可以对访问时间进行相应的操作。了解文件的访问时间对于系统管理员和安全人员来说非常重要,可以用来监控系统的使用情况和潜在的安全漏洞。

相关问题拓展阅读:

linux怎么find一个目录下创建时间在某个时间之后的文件

-mmin n

File’s data was last modified n minutes ago.

-mtime n

差洞File’s data was last modified n*24 hours ago.

find /home/  -mtime 1  虚橡枯#查询1天前改变的内容

find /home/  -mmin 1    #查如桥询1分钟前改变的内容

当然,也可以用与或非操作。

(-a)(-o)(!)

find /home/  -mtime 1 -o -mmin 1

find命令是Linux下面文件检索的工具,功能超强。用于根据时间检索,我们首先要能清楚文件州陵的时间戳。

通常每个文件具备三个时间戳:

【a】上次访问的时间 参数是迅戚 -atime

【b】上次属性变更的时间 参数是 -ctime

【c】上次内容变更的时间 参数是 -mtime

然后册昌戚我们就可以使用find命令结合这几个参数来搜索文件了。

比如查找/home/you 目录下面60天以前修改过内容的.txt文件,命令是:

$ find /home/you -iname “*.txt” -mtime -60 -print

那么,如果查找过去60天之内的变更的.txt文件,怎么办呢,我们只要把 -60换成+60就行了。

$ find /home/you -iname “*.txt” -mtime +60 -print

如果60前面既没有+,也没有-, 结果是什么样的呢?

那就会输出到现在为止正好60天被修改过的文件。

当然,-mtime也可以根据具体情况改成-atime或者-ctime来使用。

linux下find命令的 -mtime时间问题:

举例现在罩雹升:00:00 。

find -mtime 10 查找的是:00:00到:00:00的文件。

find -mtime +10 查找:00:00 以前肆芹的文件;

find -mtime +9 查找:00:00 以前的物老文件

有网络,什么都不是问题了!

^_^

格式: find

find / -name access_log 2>/dev/null 不显示错误信息

find / -amin n ##查找系统中最后N分钟访问的文件

find / -atime n ##查找系统中最后n*24小时访问的文件

find / -cmin n ##查找系统中最后N分钟被改变状态的文件

find / -ctime n ##查找系统中最后n*24小时被改变状态的文件

find / -empty ##查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的

文件夹

find / -false ##查找系统中总是错误的文件

find / -fstype type ##查找系统中存在于指定

文件系统

的文件,例如:ext2 .

find / -gid n ##查找系统中文件数字组 ID 为 n的文件

find / -group gname ##查找系统中文件属于gnam文件组,并且指定组和ID的文件

find / -mmin n # 查找在系统中最后n分钟里修改过的文件

find / -mtime n #查找在系统中最后24*n小时里修改过的文件

find / -nouser #查找在系统中属于作废用户的文件

find / -size nc #查找在系统中长度为n字节的文件

find / -size +nc #查找在系统中长度大于n字节的文件

find / -daystart ##测试系统从今天开始24小时以内的文件,用法类似-amin

find / -depth ##使用深历竖度级别的查找过程方式,在某层指定目录中优先查找文件内容

find / -follow ##遵循

通配符

链接方式查找; 另扒消外,也可忽略通配符链接方式查询

find / -help ##显示命令摘要

find / -maxdepth levels ##在某个层次的目录中按照递减方法查找

find / -mount ##不在文件系统目录中查找, 用法类似 -xdev.

find / -noleaf ##禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行更优化查找

find / -version ##打印版本数字

-exec command; ##查找并执行命令

-fprint file ##打印文件完整文件肢此大名

-fprint0 file ##打印文件完整文件名包括空的文件

-fprintf file format ##打印

文件格式

-ok command; ##给用户命令执行操作,根据用户的Y 确认输入执行

-printf format ##打印文件格式

-ls ##打印同种文件格式的文件.

几个参数之间可以用-and,-or连接,某个参数取反可用!.

用man find可以散洞看到下面的说明:

-mtime n

Files data was last modified n*24 hours ago.

所以

find -mtime 4 是找到所有在距现在96小时之内被修改过的文件或目录。

嗯,鸟滚掘弊哥说的没错,

find -mtime 4 是找到所有大族5天前4天后被更改的档案文件,

find -mtime -4 是4天内被改的档案,

find -mtime +4 是4天后被改的档案。

Linux 的 Find

每一种操作系统都是由成千上万个不同种类的文件所组成的 其中有系统本身自带的文件 用户自己的文件 还有共享文件等等 我们有时候经常忘记某份文件放在硬盘中的哪个地方 在微软的WINDOWS操作系统中要查一份文件是相当简单的事情 只要在桌面上点击 开始 > 搜索 中就能按照各种模式在本地硬盘上 局域网络 甚至在INTERNET上查各种文件及档案     可是使用Linux的用户就没有那么幸运了 在Linux上查 某个文件确实是一件比较麻烦的事情 毕竟在Linux中需要我们使用专用的 查 命令来寻找在硬盘上的文件   Linux下的文件表达格式非常复杂 不象WINDOWS DOS下都是统一的AAAAAAA BBB格式那么方便查 在WINDOWS中 只要知道要查的文件的文件名或者后缀就非常容易查到 Linux中查 文件的命令通常为 find 命令 find 命令能帮助我们在使用 管理Linux的日常事务中方便的查 出我们需要的文件 对于Linux新手来说 find 命令也是了解和学习Linux文件特点的方法 因为Linux发行版本繁多 版本升级很快 在Linux书籍上往往写明某个配置文件的所在位置 往往Linux新手按图索骥还是不能找到 比如说REDHAT Linux O和REDHAT Linux 中有些重要的配置文件所在的硬盘位置和文件腊做目录就有了很大的改变 如果不学会使用 find 命令 那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的 笔者在没有精通 find 命令之前就吃过这样的苦头 好 下面就详细为大家介绍强大的 find 命令的全部使用方法和用途     透过文件名查法︰     这个方法说起来就和在WINDOWS下查 文件一样容易理解了 如果你把这个文件放在单个的活页夹里面 只要使用常见的 ls 命令就能方便的查 出来 那么使用 find 命令来查 它就不能给你留下深刻的印象 毕竟 find 命令的强大功能不止这个 如果知道了某个文件的文件名 而不知道轮中衡这个文件放到哪个活页夹 甚至是层层套嵌的活页夹里 举例说明 假设你忘记了这个文件在系统的哪个目录下 甚至在系统的某个地方也不知道 则这是可以使用如下命令︰     find / name     这个命令语法看起来很容易就明白了 就是直接在find后面写上 name 表明要求系统按照文件名查 最后写上这个目标文件名即可 稍等一会系统会在计算器屏幕上显示出查 结果列表︰     etc/    这就是这个文件在Linux系统中的完整路径 查成功     如果输入以上查命令后系统并没有显示出结果 那么不要以为系统没有执行find/ name 命令 而可能是你的系统中没有安装Apache服务器 这时只要你安装了Apache Web服务器 然后再使用find / name 就能找到这个配置文件了     无错误查技巧︰     在Linux系统中 find 命令是大多数系统用户都可以使用的命令 并不是ROOT系统管理员的专利 但是普通用户使用 find 命令时也有可能遇到这样的问题 那就是Linux系统中系统管理员ROOT可以把某培谈些文件目录设置成禁止访问模式 这样普通用户就没有权限用 find 命令来查询这些目录或者文件 当普通用户使用 find 命令来查询这些文件目录是 往往会出Permissiondenied (禁止访问)字样 系统将无法查询到你想要的文件 为了避免这样的错误 我们可是使用转移错误提示的方法尝试着查文件 输入find / name access_log >/dev/null     这个方法是把查 错误提示转移到特定的目录中去 系统执行这个命令后 遇到错误的讯息就直接输送到stderrstream 中 access_log 就是表明系统将把错误讯息输送到stderrstream 中 /dev/null是一个特殊的文件 表明空的或者错误的讯息 这样查询到的错误讯息将被转移了 不会再显示了     在Linux系统查 文件也会遇到这样一个实际问题 如果我们在整个硬盘 这个系统中查 某个文件就要花费相当长的一段时间 特别是大型Linux系统和容量较大的硬盘 文件放在套嵌很深的目录中的时候 如果我们知道了这个文件存放在某个大的目录中 那么只要在这个目录中往下找就能节省很多时间了 使用find /etc name   就可以解决这个问题 上面的命令就是表示在etc目录中查询这个文件   这里再说明一下 / 这个函数符号的含义 如果输入 find/ 就是表示要求Linux系统在整个ROOT目录下查 文件 也就是在整个硬盘上查 文件 而 find/etc 就是只 在 etc目录下查 文件 因为 find/etc 表示只在etc目录下查 文件 所以查 的速度就相应要快很多了     根据部分文件名查 方法︰     这个方法和在WINDOWS中查 已知的文件名方法是一样的 不过在Linux中根据部分文件名查 文件的方法要比在WINDOWS中的同类查 方法要强大得多 例如我们知道某个文件包含有srm这 个字母 那么要找到系统中所有包含有这 个字母的文件是可以实现的 输入︰find /etc name *srm*     这个命令表明了Linux系统将在/etc整个目录中查 所有的包含有srm这 个字母的文件 比如 absrmyz tibc srm等等符合条件的文件都能显示出来 如果你还知道这个文件是由srm 这 个字母打头的 那么我们还可以省略最前面的星号 命令如下︰     find/etc name srm*     这是只有像srmyz 这样的文件才被查 出来 象absrmyz或者 absrm这样的文件都不符合要求 不被显示 这样查 文件的效率和可靠性就大大增强了     根据文件的特征查询方法︰     如果只知道某个文件的大小 修改日期等特征也可以使用 find 命令查 出来 这和WINDOWS系统中的 搜索 功能是基本相同的 在微软的 搜索 中WINDOWS中的 搜索助理 使得搜索文件和活页夹 打印机 用户以及网络中的其它计算器更加容易 它甚至使在Internet 上搜索更加容易 搜索助理 还包括一个索引服务 该服务维护了计算器中所有文件的索引 使得搜索速度更快 使用 搜索助理 时 用户可以指定多个搜索标准   例如 用户可以按名称 类型及大小搜索文件和活页夹 用户甚至可以搜索包含特定文本的文件 如果用户正使用 Active Directory 这时还可以搜索带有特定名称或位置的打印机     例如我们知道一个Linux文件大小为 bytes 那么我们可是使用如下命令来查询   find / size c 字符 c 表明这个要查 的文件的大小是以bytes为单位 如果我们连这个文件的具体大小都不知道 那么在Linux中还可以进行模糊查 模式来解决   例如我们输入find/ size + c 这个命令 则标明我们指定系统在根目录中查出大于 字节的文件并显示出来 命令中的 + 是表示要求系统只列出大于指定大小的文件 而使用 则表示要求系统列出小于指定大小的文件 下面的列表就是在Linux使用不同 find 命令后系统所要作出的查 动作 从中我们很容易看出在Linux中使用 find 命令的模式是很多的 find 命令查 文件只要灵活应用 丝毫不必在WINDOWS中查 能力差find / amin # 查 在系统中最后 分钟访问的文件     find / atime # 查 在系统中最后 小时访问的文件     find / empty # 查 在系统中为空的文件或者活页夹     find / group cat # 查 在系统中属于 groupcat的文件     find / mmin # 查 在系统中最后 分钟里修改过的文件     find / mtime #查 在系统中最后 小时里修改过的文件     find / nouser #查 在系统中属于作废用户的文件     find / user fred #查 在系统中属于FRED这个用户的文件     下面的列表就是对find命令所可以指定文件的特征进行查 的部分条件 在这里并没有列举所有的查 条件 参考有关Linux有关书籍可以知道所有find命令的查函数      amin n     查 系统中最后N分钟访问的文件      atime n     查 系统中最后n* 小时访问的文件      cmin n     查 系统中最后N分钟被改变状态的文件      ctime n     查 系统中最后n* 小时被改变状态的文件      empty     查 系统中空白的文件 或空白的文件目录 或目录中没有子目录的活页夹      false     查 系统中总是错误的文件      fstype type     查 系统中存在于指定文件系统的文件 例如︰ext      gid n     查 系统中文件数字组 ID 为 n的文件      group gname     查 系统中文件属于gnam文件组 并且指定组和ID的文件     Find命令的控制选项说明︰Find命令也提供给用户一些特有的选项来控制查 操作 下表就是我们总结出的最基本 最常用的find命令的控制选项及其用法用途描述      daystart      测试系统从今天开始 小时以内的文件 用法类似 amin      depth     使用深度级别的查 过程模式 在某层指定目录中优先查 文件内容      follow     遵循通配符链接模式查 ; 另外 也可忽略通配符链接模式查询      help     显示命令摘要      maxdepth levels     在某个层次的目录中按照递减方法查      mount     不在文件系统目录中查 用法类似 xdev      noleaf     禁止在非UNUX文件系统 MS DOS系统 CD ROM文件系统中进行更优化查      version     打印版本数字     使用 follow选项后 fin lishixinzhi/Article/program/Oracle/202311/17656

关于find atime linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux如何查找文件访问时间(atime) (find atime linux)