linux系統中通過find命令來查找文件,該命令有眾多參數,這裡只是列舉了一些常見用法。 ...
find——文件搜索
命令所在路徑:/bin/find
註意:find命令消耗系統資源較多,應避免在系統負載較高的情況下使用
示例1:根據文件名查找
# find /tmp/ -name daqiao*
/tmp/表示在該目錄範圍下查找,-name後接文件名,執行上面的命令會在/tmp/目錄下查找文件名以daqiao開頭的所有文件
* 通配符,表示任意多字元
? 單個字元,如a
# find /tmp/ -name *daqiao??????
在/tmp/目錄下查找文件名末尾是daqiao加6個未知字元組成的所有文件
# find /tmp -iname index*
-iname的含義是按文件名查找且不區分大小寫
示例2:根據i節點查找
# find . -inum 786524
“.”表示當前路徑,執行上面命令會在當前目錄下查找索引節點數為786524的文件
示例3:根據文件大小查找
# find / -size +204800
linux系統中最小的存儲單元是數據塊,1個數據塊 = 512B(位元組) = 0.5KB,因此1M = 1024KB * 2 =2048(數據塊)
“+”表示大於,執行上面命令將在根目錄下查找所有大於100M的文件
# find / -size +102400 -a -size -204800
-a表示與的關係,a是單詞and縮寫;“-”表示小於;根目錄下查找所有大於50M但是小於100M的文件
示例4:根據用戶查找
# find . -user daqiao
在當前路徑下查找文件所有者是daqiao的文件
示例5:根據所屬組查找
# find . -group nvsheng
在當前路徑下查找所屬組是nvsheng的文件
示例6:根據時間屬性查找
# find . -amin -5
在當前目錄下查找5分鐘內訪問過的文件
# find . -cmin -5
在當前目錄下查找5分鐘內修改過屬性的文件(通過ls -l 顯示的信息都是文件屬性)
# find /tmp/public_html/ -mmin -5
在/tmp/public_html/下查找5分鐘內修改過內容的文件
-amin 訪問時間access
-cmin 文件屬性change
-mmin 文件內容modify
示例7:根據文件類型查找
-type 根據文件類型查找
f——文件 d——目錄 l——軟連接文件
# find /tmp -type d
/tmp下查找所有的目錄
一般會配合其他參數一起使用,如下:
# find /etc -name init* -a -type f
/etc下查找文件名以init開頭的且文件類型是文件的所有文件
示例8:對搜索結果執行操作
# find /tmp -iname index* -exec ls -l {} \;
-exec/-ok 命令 {} \; 對搜索結果進行操作
執行上面命令會在/tmp下查找以index(不區分大小寫)開頭的文件,並將結果以長格式列出來
# find /tmp -iname index* -ok rm -f {} \;
-ok與-exec唯一的區別是在對搜索結果進行操作時每次都會詢問,在確定之後才執行
除了上面已經使用到的-a參數,還有另一個參數-o表示或關係,-a,-o分別表示與和或的關係,用以連接條件
-a and
-o or