linux需要经常查找不同类型的文件,比如查找今天修改过的。一般查找文件可以使用find命令,有几个方法可以参考。
1、find 参数: -mtime N, 代表 (N + 1) * 24小时内的文件,下标从0开始。
[root@mail log]# find /var/log/ -mtime 0 -exec ls -al {} \; -rw------- 1 root root 10797 Sep 6 10:01 /var/log/cron -rw------- 1 root root 6940870 Sep 6 10:43 /var/log/secure -rw------- 1 root root 533342 Sep 6 10:21 /var/log/maillog -rw------- 1 root utmp 13506432 Sep 6 10:43 /var/log/btmp -rw------- 1 root root 67405 Sep 6 00:44 /var/log/messages -rw-r--r--. 1 root root 738176 Sep 6 10:16 /var/log/lastlog -rw-rw-r--. 1 root utmp 47232 Sep 6 10:16 /var/log/wtmp
2、find 参数: -daystart ,这个参数表示从今天开始计算时间,搭建ctime、mtime等参数。
[root@mail log]# find /var/log/ -daystart -mtime 0 -exec ls -al {} \; -rw------- 1 root root 10797 Sep 6 10:01 /var/log/cron -rw------- 1 root root 6941709 Sep 6 10:54 /var/log/secure -rw------- 1 root root 533342 Sep 6 10:21 /var/log/maillog -rw------- 1 root utmp 13507200 Sep 6 10:54 /var/log/btmp -rw------- 1 root root 67405 Sep 6 00:44 /var/log/messages -rw-r--r--. 1 root root 738176 Sep 6 10:16 /var/log/lastlog -rw-rw-r--. 1 root utmp 47232 Sep 6 10:16 /var/log/wtmp
3、find 参数: -newerXY,用于所寻找的文件的时间戳 X 比参照文件的时间戳 Y 更新一些的文件。
X 和 Y 表示以下任何字母: – a – 参照文件的访问时间 – B – 参照文件的创建时间 – c – 参照文件的 inode 状态改变时间 – m – 参照文件的修改时间 – t – 直接指定一个绝对时间
[root@mail log]# find /var/log/ -newermt "2018-09-06" /var/log/cron /var/log/secure /var/log/maillog /var/log/btmp /var/log/messages /var/log/lastlog /var/log/wtmp
或者也可以指定时间,比如查找2018-09-02后且今天2018-09-06没有修改的文件
[root@mail log]# find /var/log/ -newermt "2018-09-02" ! -newermt "2018-09-06" /var/log/ /var/log/spooler /var/log/messages-20180902 /var/log/yum.log /var/log/cron-20180902 /var/log/secure-20180902 /var/log/maillog-20180902
4、用ls命令也可以查找今天修改的文件
[root@mail log]# ls -altrh /var/log/ --time-style=+%D | grep $(date +%D) -rw------- 1 root root 66K 09/06/18 messages -rw-rw-r--. 1 root utmp 47K 09/06/18 wtmp -rw-r--r--. 1 root root 721K 09/06/18 lastlog -rw------- 1 root root 521K 09/06/18 maillog -rw------- 1 root utmp 13M 09/06/18 btmp -rw------- 1 root root 6.7M 09/06/18 secure -rw------- 1 root root 11K 09/06/18 cron
参考:
https://linux.cn/article-8093-1.html
https://stackoverflow.com/questions/801095/how-do-i-find-all-the-files-that-were-created-today-in-unix-linux