1. 程式人生 > >linux命令之find

linux命令之find

find 查詢命令

命令格式 find [查詢目錄] [查詢規則] [查詢完後的操作]

find  
       -name             ##檔名查詢
       -maxdepth         ##查詢深度距離當前目錄最多x深度的檔案
       -mindepth         ##查詢深度距離當前目錄最少x深度的檔案   
       -user             ##根據檔案所有者查詢
       -group            ##根據檔案所有組查詢
       -a                ##與條件
       -o                ##或條件
       -not              ##非條件
       -size 10k | -10k |+10k    ##根據檔案大小查詢,查詢大小為10K|10k內|大於10K的檔案
       -type                     ##查詢檔案型別
       -ctime 10 | -10 | +10     ##10天這個時間點修改過的檔案|十天內|十天前
       -cmin  10 | -10 | +10     ##10分鐘這個時間點修改過的檔案|十分內|十分前
       -perm  444        ##根據許可權查詢,查詢檔案許可權為444的
       -perm  +444       ##檔案ugo位滿足一個許可權為4的檔案即可
       -perm  -444       ##檔案ugo位三個的許可權包含444
       -exec  command    ##查詢完成之後的操作

根據檔案所屬使用者和所屬組來查詢檔案

-a、-o,-not(與、或、非)查詢

根據檔案的時間戳資訊查詢檔案

根據檔案型別查詢檔案

根據檔案大小查詢檔案

dd if=/dev/zero of=/mnt/file*  bs=10240  conut=1

根據深度查詢檔案

注意:查詢最深層為2且名為xx的檔案也包括第一層名為xx的檔案,要限定只有某一層的檔案,則要限定最深層和最淺均為那層

根據許可權來查詢檔案

注意:+xxx許可權,是最少包含xxx許可權

-777 9個條件,滿許可權
-004 other位可讀一個條件
-644 u有rw,go位有r
444 三個都是r
/444或+444 ##ugo滿足r一個條件即可
/777 只要有許可權就行

查詢完成之後的操作

-exec command {} \; 其中,”{}”就代表查詢之後返回的檔案

find /mnt -perm -004 -exec chmod o-r {} \;    ##將o位可讀的檔案把r許可權去掉

 find / -group mail -exec cp -rp  {} /mnt \;      ##將所有組為mail的複製到/mnt中(p帶許可權複製)