以洪荒之力打开linux德·摩根定律

德·摩根定律让学习liunx的小伙伴绕得头疼,如今我就用洪荒之力为你们理顺一下这个定律。linux


wKiom1etwHLSIrxXAAAskZ0cql4503.jpg

由图片能够看出,bash


A=4+3ide

B=3+2post


非A=2+1学习

非B=4+1spa



A且B就是表明既是A又是B的地方,A和B都有色块3,因此色块3表明了A且Bblog

同时,咱们再看A=4+3 ,B=3+2,咱们能够推断出,且运算的结果就是两个算数式中重复的数字。图片


A且B=3ci



A或B就是表明能够是A的部分,也能够是B的部分,因此色块2,3,4的和表明了A或B的范围。再看A=4+3,B=3+2,咱们能够推断出,或运算的结果就是两个算术式中全部数字相加,重复的数字只加一次。get


A或B=2+3+4


非一个色块,就是除了这个色块的其余全部色块之和。非n个色块,就是除了这n个色块的其余色块之和。


例:

   非3=1+2+4



由此,咱们能够进行如下的运算


(非A)或(非B)=(2+1)或(4+1)=1+2+4

非(A且B)=非(4+3且3+2)=非(3)=1+2+4


(非A)且(非B)=(2+1)且(4+1)=1

非(A或B)=非(4+3或3+2)=非(4+3+2)=1


咱们能够得出如下结论:


(非A)或(非B)=非(A且B)


(非A)且(非B)=非(A或B)




下面让咱们来作下练习题:


  1. chmod -rw /tmp/file1,编写脚本/root/bin/per.sh,判断当前用户对/tmp/fiile1文件是否不可读且不可写

    方法一:


[root@localhost bin]# cat per.sh 

#!/bin/bash

[ ! -r /tmp/file1 -a ! -w /tmp/file1 ] && echo "you can't read and write /tmp/file1" || echo "you can read or write /tmp/file1 " 


    方法二:

    

[root@localhost bin]# cat per2.sh

#!/bin/bash

! [ -r /tmp/file1 -o -w /tmp/file1 ] && echo "you can't read and write /tmp/file1" || echo "you can read or write /tmp/file1 "


红色标记处为两条语句中不一样的地方,但二者的功能是相同的。



有的小伙伴不理解 “全部用户都没有写权限”的反面=至少有一类用户有写权限

咱们能够拿个空瓶子来讲明:


“空瓶子”反面=“瓶子里有水”,注意跟水量多少无关,有一滴水的瓶子也不算空瓶子,咱们也能够说,


“空瓶子”反面=瓶子里至少有一滴水

因此,“全部用户都没有写权限”的反面=至少有一类用户有写权限。


练习:

一、查找/var目录下属主为root,且属组为mail的全部文件


   find /var -user root -a -group -mail


二、查找/var目录下不属于root、lp、gdm的全部文件


   find /var -not \( -user root -o -user lp -o -user gdm \)



三、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件


   find /var -mtime -7 -a -not -user root -a -not -user plstfix


四、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件


   find / -nouser -o -nogroup -atime -7



五、查找/etc目录下大于1M且类型为普通文件的全部文件


   find /etc/ -size +1M -type f



六、查找/etc目录下全部用户都没有写权限的文件


   find /etc -not -perm /222



七、查找/etc目录下至少有一类用户没有执行权限的文件


   find /etc -not -perm -111 



八、查找/etc/init.d目录下,全部用户都有执行权限,且其它用户有写权限的文件

   find /etc/init.d/ -perm -113



linux 资料:

连接:http://pan.baidu.com/s/1i4ZKIWX 密码:4rx7

相关文章
相关标签/搜索