Linux中查找最近修改的文件命令

作者:袖梨 2022-11-14

如果网站或者服务器出现什么问题,首先会想到服务器上的文件是否被修改,查找就会用到find命令,具体如下:

查找当前目录下.php文件中,最近30分钟内修改过的文件。

find . -name ‘*.php’ -type f -mmin -30

查找当前目录下.html文件中,最近30分钟内修改过的文件,的详细情况。

find . -name ‘*.html’ -type f -mmin -30 -ls

查找当前目录下,最近1天内修改过的常规文件。

find . -type f -mtime -1

查找当前目录下,最近1天前(2天内)修改过的常规文件。

find . -type f -mtime +1

如果你想查找/home目录下的文件的修改,cd /home 然后再运行查找就行了,这样如果遇到问题就很容易排查问题了。

在/dir目录中查找更改时间在1日以前的文件
# find dir/ -type f -mtime +1

-mtime : 指定时间曾被改动过的文件,意思是文件?热荼桓?墓?br /> -ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
-atime : 指定时间曾被存取过的文件,意思是文件被读取过

找出 3 天"以前"被改动过的文件 (前第三天以前 → 2011/09/05 12:00 以前的文件) (> 72 小时)
find /var/log/ -mtime +3 -type f -print


找出 3 天?缺桓亩??奈募 (2011/09/05 12:00 ~ 2011/09/08 12:00 ?鹊奈募? (0 ~ 72 小时??
find /var/log/ -mtime -3 -type f -print

找出前第 3 天被改动过的文件 (2011/09/04 12:00 ~ 2011/09/05 12:00 ?鹊奈募? (72 ~ 96 小时)

find /var/log/ -mtime 3 -type f -print

找出第 3 天被改动过的文件 (也可以这样写)
find /var/log/ -mtime +2 -mtime -4 -type f -print

补充

find 按文件修改时间查找文件
---(+n)----------|----------(n)----------|----------(-n)---
(n+1)*24H前| (n+1)*24H~n*24H间 |n*24H内-ctime -n 查找距现在 n*24H 内修改过的文件
-ctime n 查找距现在 n*24H 前, (n+1)*24H 内修改过的文件
-ctime +n 查找距现在 (n+1)*24H 前修改过的文件[a|c|m]min [最后访问|最后状态修改|最后内容修改]min
[a|c|m]time [最后访问|最后状态修改|最后内容修改]timelinux 文件的三种时间(以 find 为例):
atime 最后一次访问时间, 如 ls, more 等, 但 chmod, chown, ls, stat 等不会修改些时间, 使用 ls -utl 可以按此时间顺序查看;
ctime 最后一次状态修改时间, 如 chmod, chown 等状态时间改变但修改时间不会改变, 使用 stat file 可以查看;
mtime 最后一次内容修改时间, 如 vi 保存后等, 修改时间发生改变的话, atime 和 ctime 也相应跟着发生改变.注意:
linux 里是不会记录文件的创建时间的,除非这个文件自创建以来没有发生改变,那么它的创建时间就是它的最后一次修改时间。
#ls -lt /home/admin # 按修改时间顺序查看
#ls -lut /home/admin # 按访问时间顺序查看
(如果想反序查看的话需要加一个选项 -r)

相关文章

精彩推荐