一、概述
find主要用于文件查找。二、重要參數
-name : 文件名必須匹配的字符串;<1>-iname: 與-name類似,不區分大小寫;-o : or的縮寫, <2>-path : 使用通配符來匹配文件路徑或者文件-prune: 去除<3>-a : and的縮寫-type : 文件類型:d-目錄、b-塊設備、c-字符設備、f-普通文件、l-連接文件、s-套接字-mindepth: 目錄最小深度-maxdepth: 目錄最大深度-atime: 訪問時間-ctime: 變化時間-mtime: 修改時間-amin: 同-atime-cmin: 同-ctime-mmin: 同-cmin-size: 按文件大小搜索-delete: 刪除匹配的文件-perm: 根據文件權限查詢文件
三、示例
1.根據文件名或正則表達式匹配搜索 (*,?,[]等正則)
<1> find /home/ah -name 'file*'
2.目錄查詢
<2> find /home/ah/temp \( -name '*.c' -o -name '*.o' -o -name '*.java' \) -print
<3> find . -path './tomcat_a*' (-a) -prune -o -name '*.jsp'
查找當前目錄下非tomcat_a*目錄下的*.jsp文件
3. 否定搜索
find . ! -name '*.rar'
4. 按照文件類型搜索文件:
find . -maxdepth 1 -type f -printf
5.根據文件時間搜索
按天搜索的參數:
atime-訪問時間
ctime-變化時間
mtime-修改時間
按分鐘搜索的參數:
amin-訪問時間
cmin-變化時間
mmin-修改時間
# 最近7天內被訪問過的所有文件
find . -type f -atime -7 -print
# 恰好在第7天被訪問的文件
find . -type f -atime 7 -print
# 訪問超過7天的文件
find . -type f -atime +7 -print
6.基于文件大小的搜索
文件大小單位
b--塊(512字節)
c--字節
w--字(2字節)
k--千字節
M--兆字節
G--G字節
#大于2KB字節的文件
find . -type f -size +2k
#等于2KB字節的文件
find . -type f -size 2k
#小于2KB字節的文件
find . -type f -size -2k
7.刪除匹配的文件
find . -name '*.swp' -delete
8.基于文件權限和所有權的分配
find . -type f -perm 644
9.結合find執行命令或者動作
find命令可以結合-exec選項與其他命令進行結合
<1>find . -name "*.txt" -exec cat {} \; >collect.txt
把當前目錄下txt文件組合輸出到collect.txt
<2>find . -name "*.txt" -exec cp {} ./CRT \;
把當前目錄下的txt文件拷貝到CRT目錄下
posted on 2013-06-09 18:07
zhangxl 閱讀(238)
評論(0) 編輯 收藏 所屬分類:
Linux