共计 1479 个字符,预计需要花费 4 分钟才能阅读完成。
为何学习本章节,可以设想一下,在未来工作中面对大量用户时,想要找到同一类型属性的用户文件时,需要一个工具可以快速准确的定位到所寻找的文件,那就是 locate 和 find。
*******************************************************
重点:
1. 德摩根定律
非 (P 且 Q) = (非 P) 或(非 Q)
非(P 或 Q)=(非 P)且(非 Q)
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)
2.
find 条件权限 perm
-perm -MODE
MODE 精确查找 -perm 755
/MODE 任何一类(u,g,o)对象的权限中只要能一位匹配即可,之间关系为或
-MODE 每一类对象都必须同时拥有指定权限,之间为与关系
-020 表示只要组权限为写就可以,0 表示不匹配
示例
find -perm 755 精确匹配权限为 755 的文件
find -perm +222 只要任意人有写权限,就会匹配
find -perm -222 当每个人都有写权限时才匹配
******************************************************
1、查找 /var 目录下属主为 root,且属组为 mail 的所有文件
find /var -user root -group mail
2、查找 /var 目录下不属于 root、lp、gdm 的所有文件
find /var -not \(-user root -o -user lp -o -user gdm \)
#\(\) 与字符之间要有空格
3、查找 /var 目录下最近一周内其内容修改过,同时属主不为 root,也不是 postfix 的文件
find /var -mtime -7 -not \(-user root -o -user postfix \)
4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
find / \(-nouser -o -nogroup \) -atime -7
5、查找 /etc 目录下大于 1M 且类型为普通文件的所有文件
find /etc/ -size +1M -type f
6、查找 /etc 目录下所有用户都没有写权限的文件
find /etc/ -not -perm +222
# 都没有 = -not 至少有一个
7、查找 /etc 目录下至少有一类用户没有执行权限的文件
find /etc/ -not -222
# 至少有一个没有 = -not 全都有
8、查找 /etc/init.d 目录下,所有用户都有执行权限,且其它用 户有写权限的文件
find /etc/init.d -perm -113
*********************************************************
shell 脚本遗漏点
1.seq 5:1 ,2,3,4,5 默认从 1 开始
2.seq 240 255
3.seq -s + 1 9|bc
4.grep -q: 常常用在条件判断位置,判断是否能找到该行
5.ping -c1 -w1:用于判断是否能 ping 通某个 IP 地址,- c 是指次数,- w 指的是超时时间
6. 当 shell 中单独一行只有 echo 时,表示换行
echo -n 不换行输出
7. echo“user$i”| passwd –stdin“user$i”&> /dev/null 条件判断
8. 当判断文件类型时,[-L file]要用在其它判断前面
9,-a(与)比 -o(或)的优先级高