-
(1)德.摩根定律
!A -a !B=!( A -o B )
!A -o !B=!( A -a B )
使用條件:條件中存在“非”、“與”“或”字眼的時候,可以考慮使用德.摩根定律來降低命令復雜性
(2)應用實例
實例一、查找/etc目錄下所有用戶都沒有寫權限的文件
分析:文件用戶主要分為三類:屬主、屬組、其他用戶,可把上述條件解析為“-not w -a -not w -a -not -w”,根據摩根定律,可轉化為“-not \( w -o w -o w \)”。
find /etc -not -perm +222
實例二、查找/etc下至少有一類用戶沒有沒有執行權限的
分析:如上,用戶分為三類,可解析為“-not x -o -not x -o -not x”,根據摩根定律,可轉化為“-not \( x -a x -a x \)”
find /etc -not -perm -111
-
find之條件perm
(1)find [option]…查找目錄 查找條件 執行動作
(2)-perm [/|-]MODE
MODE:精確匹配
/MODE:任何一類對象中的權限中一位能匹配就行,也就是或關系,“+”在centos7以后就被替換了
-MODE:每一類對象必須有指定權限
實例:查找根目錄下有特殊權限位的文件
find / -perm /7000 -ls
發現只要有任意對象的權限滿足一位就行
實例二、查找/etc下權限為644的文件
發現匹配到的文件權限都是644
-
作業
(1)查找/var目錄下屬主為root,且屬組為mail的所有文件
(2)查找/var目錄下不屬于root,lp,gdm的所有文件
(3)查找/var目錄下,其內容最近一周修改過,同時屬主不是root,也不是postfix的文件
(4)查找系統上沒有屬主或屬組,且最近一周被訪問過的文件
(5)查找/etc目錄下,文件大小大于1M,且文件類型為普通文件的所有文件
(6)查找/etc下所有用戶都沒有寫權限的文件
(7)查找/etc/下至少有一類用戶沒有執行權限的文件
(8)查找/etc/init.d下,所有用戶都有執行權限,其他用戶有寫權限的文件
沒有找到符合條件的文件
原創文章,作者:mengzhiqian,如若轉載,請注明出處:http://www.www58058.com/36320
find命令中最難理解的是-perm選項了,將其中最難理解的部分通過實驗總結成博文,是個好習慣,希望以后繼續這樣做。