以洪荒之力打開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

相關文章
相關標籤/搜索