Linux 刪除指定時間前的檔案

2021-09-25 14:35:39 字數 1863 閱讀 3881

find . -maxdepth 2 -mtime +1 -type f -name "*.log*"| xargs rm -rf

find . -maxdepth 2 -mmin +900 -type f -name "*.log*"| xargs rm -rf

-maxdepth 深度,要寫在其他引數的前面,同時在路徑的後面。深度為2的檔案(包含深度1)。

-name 檔案名字中含有.c的

-mtime     檔案最後修改時間    -mmin +20 分鐘 ,-mtime +1 天

-mtime說明一下,linux中的檔案的時間屬性只有三個:

atime(access time)    檔案最後訪問時間。

mtime(modified time)    檔案最後修改時間。

ctime(change time)    檔案最後修改許可權時間。(比如執行過chmod)

注意: 被xargs 呼叫的命令列是有長度限制的(根系統、配置有管),在檔案非常多的情況下,可能導致超過這個限制,從而無法正確執行,有多種解決方法:

find . -maxdepth 2 -mmin +900 -type f -name "*.log*" -exec rm -rf {} \;

-exec     固定寫法

rm -f    符合條件的執行刪除並不提示

{}      固定寫法,注意左右有空格

\;      固定寫法,注意左右有空格

下面為find命令的引數說明:

-name 按照檔名查詢檔案。

-perm 按照檔案許可權來查詢檔案。

-prune 使用這一選項可以使find命令不在當前指定的目錄中查詢,如果同時使用-depth選項,那麼-prune將被find命令忽略。

-user 按照檔案屬主來查詢檔案。

-group 按照檔案所屬的組來查詢檔案。

-mtime -n +n 按照檔案的更改時間來查詢檔案, - n表示檔案更改時間距現在n天以內,+ n表示檔案更改時間距現在n天以前。

find命令還有-atime和-ctime 選項,但它們都和-m time選項。

-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。

-nouser 查詢無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。

-newer file1 ! file2 查詢更改時間比檔案file1新但比檔案file2舊的檔案。

-type 查詢某一型別的檔案,諸如:b - 塊裝置檔案,d - 目錄,c - 字元裝置檔案,p - 管道檔案,l - 符號鏈結檔案,f - 普通檔案。

-size n:[c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。

-depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。

-fstype:查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。

-mount:在查詢檔案時不跨越檔案系統mount點。

-follow:如果find命令遇到符號鏈結檔案,就跟蹤至鏈結所指向的檔案。

-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。

另外,下面三個的區別:

-amin n  查詢系統中最後n分鐘訪問的檔案

-atime n  查詢系統中最後n*24小時訪問的檔案

-cmin n  查詢系統中最後n分鐘被改變檔案狀態的檔案

-ctime n  查詢系統中最後n*24小時被改變檔案狀態的檔案

-mmin n  查詢系統中最後n分鐘被改變檔案資料的檔案

-mtime n  查詢系統中最後n*24小時被改變檔案資料的檔案

Linux 刪除指定時間前的檔案

字型 大 小posted by 佚名 tags linux刪除 顯示20分鐘前的檔案 find home prestat bills test type f mmin 20 exec ls l 刪除20分鐘前的檔案 find home prestat bills test type f mmin 2...

linux 刪除指定時間前的檔案

顯示20分鐘前的檔案 find home prestat bills test type f mmin 20 exec ls l 刪除20分鐘前的檔案 find home prestat bills test type f mmin 20 exec rm 顯示20天前的檔案 find home pr...

Linux 定時任務 刪除指定時間前的檔案

touch usr local bin clear img.sh注意,賦予許可權 chmod 777 clear img.sh 編輯clear img.sh檔案,在其中新增類似下面的 find tmp type f mmin 120 name jpg exec rm rf 解析 find 後面緊跟的...