locate:數據庫
find :socket
[ 指定查找目錄 ] 例如 :
這裏要注意的是若是想要從多個路徑下一同查找,目錄之間要用空格分開ui
[查找規則]例如:spa
(1)根據文件名查找3d
# -name //根據文件名查找(精確查找)orm
# -iname //根據文件名查找,可是不區分大小寫 blog
這裏另外介紹下文件名通配的知識*表示 通配任意的字符
it
?表示 通配任意的單個字符io
[ ]表示 通配括號裏面的任意一個字符class
(2)根據文件所屬用戶和組來查找文件
# -user //根據屬主來查找文件
# -group //根據屬組來查找文件
(3)根據uid 和 gid來查找用戶
#find /tmp -uid 500 //查找uid是500 的文件
#find /tmp -gid 1000 // 查找gid是1000的文件
(4)-a and -o and –not的使用
# -a 鏈接兩個不一樣的條件(兩個條件必須同時知足)
# -o 鏈接兩個不一樣的條件(兩個條件知足其一便可)
# -not 對條件取反的
(5)根據文件時間戳的相關屬性來查找文件
咱們可使用stat命令來查看一個文件的時間信息 以下:
#-atime
#-mtime
#-ctime
#-amin
#-mmin
#-cmin
因此這裏atime,mtime,ctime就是分別對應的「最近一次訪問時間」「最近一次內容修改時間」「最近一次屬性修改時間」,這裏的atime的單位指的是「天」,amin的單位是分鐘
#find /tmp –atime +5 //表示查找在五天內沒有訪問過的文件
#find /tmp -atime -5 //表示查找在五天內訪問過的文件
(6)根據文件類型來查找文件
-type
f // 普通文件
d //目錄文件
l //連接文件
b //塊設備文件
c //字符設備文件
p //管道文件
s //socket文件
(7)根據大小來查找文件
-size
#find /tmp -size 2M //查找在/tmp 目錄下等於2M的文件
#find /tmp -size +2M //查找在/tmp 目錄下大於2M的文件
#find /tmp -size -2M //查找在/tmp 目錄下小於2M的文件
(8)根據文件權限查找文件
-perm
#find /tmp -perm 755 //查找在/tmp目錄下權限是755的文件
#find /tmp -perm +222 //表示只要有一類用戶(屬主,屬組,其餘)的匹配寫權限就行
#find /tmp -perm -222 //表示必須全部類別用戶都知足有寫權限
9)-nouser and -nogroup
//在整個系統中查找既沒有屬主又沒有屬組的文件(這樣的文件一般是很危險的,做爲系統工程師的咱們應該及時清除掉)
#find / -nogroup –a –nouser
[查找完執行的action]
# -print //默認狀況下的動做
# -ls //查找到後用ls 顯示出來
# -ok [commend] //查找後執行命令的時候詢問用戶是否要執行
# -exec [commend] //查找後執行命令的時候不詢問用戶,直接執行
這裏要注意 {} 的使用 :替代查找到的文件
-exec -ls 用法
-ok用法
#find /tmp -atime +30 –exec rm –rf {} \; #刪除查找到的超過30天沒有訪問過文件
咱們也可使用xargs來對查找到的文件進一步操做
這樣權限也能夠改變。或者其餘操做。