find命令是一個方便的工具,可以在系統上查找文件。可以找到最近幾天更改過的文件。這將是本教程的重點。 |
Linux中文件帶有以下時間戳:
atime
: 顯示上一次讀取或訪問文件的時間。amin
: 顯示上一次讀取或訪問文件是多少分鐘之前mtime
: 顯示文件或程序上一次修改文件的時間。更改或修改文件內容時,mtime也會更改。“修改”是指將某些數據附加到文件中,部分或全部重新組織或刪除。mmin
: 顯示幾分鐘內最後一次修改文件的時間。ctime
: 顯示文件屬性何時修改的
在本節中,將重點介紹如何使用mtime選項搜索時間戳在一定範圍內的文件。這列出了幾天前訪問的文件。
例一:查找/var/log文件夾中,修改時間大於90天被修改過的文件。
[root@localhost ~]# find /var/log -mtime +90 -print
其中-mtime +90
加號表示大於後面的天數
例二:查找/etc文件夾中,修改時間小於10天的配置文件
[root@localhost ~]# find /etc -iname "*conf*" -mtime -10 -print
其中-mtime -10
減號表示小於後面的天數
例三:查找/etc文件夾中,前一天修改過的文件.
[root@localhost ~]# find /etc -mtime 1 -print
其中-mtime 1
表示昨天的這個時間。
以下幾個常用的時間戳:
-1
最近24小時-0.5
最近12小時-0.25
最近6小時+2
兩天前
如前所述,atime是用於顯示用戶或應用程序最後一次訪問文件的時間。讓我們看一些例子:
查找10天內訪問root根目錄的文件:
[root@localhost ~]# find /root -atime -10 -type f
要查看20天前這個時間點訪問的docx文件,請運行以下命令:
[root@localhost ~]# find /root -iname "*.docx" -atime 20 -type -f
-daystart 選項測量從當天開始而不是24小時之前開始的時間。例如,要查找昨天編輯的所有pdf文件,請運行:
[root@localhost ~]# find /root/data/ -mtime 1 -daystart -iname "*.pdf"
要列出3-5天之前編輯的文件,請運行以下命令:
[root@localhost ~]# find /home/james/data/ -mtime 3 -mtime -5 -daystart -iname "*.pdf"
-newer選項比較來自兩個不同目錄的文件並顯示較新的文件。例如查找/root/b裏面比/root/a裏面新的文件:
[root@localhost ~]# find /root/b -newer /root/a
find命令是一個方便的工具,可以在系統上查找文件。可以找到最近幾天更改過的文件。這將是本教程的重點。