今天需要清理一下原來每日構建產生的一些用來存放包的目錄,這些目錄名字是按照一定規則存放,比如:
/dailybuild/[module_name]/[yyyy]-[mm]-[dd]/***這裡考慮僅需要儲存最近5天的dailybuild,對於早於5天的目錄執行刪除操作。
檢視了一下find命令說明,可以
* 使用 「-type d」 引數來只查詢目錄,忽略檔案。
* 使用 「-mtime +5」 引數來指定只查詢5天前有更改的目錄
其中 「-mtime -n/+n 」 是指按檔案更改時間來查詢檔案,-n指n天以內,+n指n天以前
所以最終指令碼內容大體如下:
#!/bin/sh
cd /dailybuild/
files=`find ./* -name "*-*-*" -type d -mtime +5 -print`
for file in $files
do rm -rf $file
done
linux find命令使用
語 法 find 選項 引數 find 指定查詢目錄 查詢規則 查詢完後執行的 action find指令在指定目錄下查詢檔案。find指令還能夠對查詢到的檔案執行指定的操作,這種功能是通過呼叫其他linux指令來實現的。使用find指令時必須指定乙個查詢的起始目錄,find指令將從指定目錄向下遞迴...
Linux find命令使用
1 查詢 var logs目錄中更改時間在7天前的普通檔案 2 在當前目錄下查詢檔案內容包含main的檔案 二進位制檔案 test 匹配.test.c int main root kevin opt d00148588 3 把查到的結果輸出到檔案中 root kevin opt d00148588 ...
Linux find 命令使用示例
按名字查詢 1.查詢home目錄及其子目錄的 txt 檔案 find name txt print 2.查詢當前目錄及其子目錄的 txt 檔案 find name txt print 3.查詢以大寫字母開頭的檔案 find name a z print 按檔案許可權相位查詢 1.查詢許可權為755的...