发新帖

[Linux] mtime, atime, ctime 的区别

零下一度 2020-3-31 859
mtime   ls -l   显示最近修改文件内容的时间
atime   ls -lu  显示最近访问文件的时间
ctime   ls -li  显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等


在Linux系统中,find命令的时间参数用于根据文件的最后修改时间、访问时间或者状态改变时间来查找文件。以下是find命令中常用的时间参数及其详细说明:

1. -mtime n

查找在n天前被修改过的文件。n可以是任意整数,0表示正好是今天,1表示前一天,以此类推。也可以使用+n表示超过n天前,或-n表示不超过n天前。

示例:

find / -mtime 0:查找整个系统中今天被修改过的文件。

find / -mtime +7:查找整个系统中一周前被修改过的文件。

find / -mtime -3:查找整个系统中三天内被修改过的文件。

2. -atime n

查找在n天前被访问过的文件。与-mtime类似,n可以是任意整数,+n表示超过n天前,-n表示不超过n天前。

示例:

find / -atime 1:查找整个系统中昨天被访问过的文件。

find / -atime +10:查找整个系统中10天前被访问过的文件。

find / -atime -5:查找整个系统中5天内被访问过的文件。

3. -ctime n

查找在n天前状态发生改变的文件。这包括权限、所有权、硬链接数等的改变,但不涵盖文件内容的更改。同样,n可以是任意整数,+n表示超过n天前,-n表示不超过n天前。

示例:

find / -ctime 2:查找整个系统中两天前状态发生改变的文件。

find / -ctime +30:查找整个系统中30天前状态发生改变的文件。

find / -ctime -15:查找整个系统中15天内状态发生改变的文件。

4. -newer file

查找比指定文件更新的所有文件。

示例:

find /etc -newer /etc/hosts:查找比/etc/hosts文件更新的所有文件。

5. -anewer file

查找在过去访问时间比指定文件更晚的所有文件。

示例:

find /etc -anewer /etc/hosts:查找在过去访问时间比/etc/hosts文件更晚的所有文件。

6. -cnewer file

查找状态最后更改时间比指定文件新的所有文件。

示例:

find /etc -cnewer /etc/hosts:查找状态最后更改时间比/etc/hosts文件新的所有文件。

总结

这些参数允许用户根据不同的时间标准来定位文件,非常适用于需要根据文件的时效性进行管理的场景。通过组合使用这些参数,可以创建复杂的查询来满足特定的需求。



最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1