3、 條件判斷html
1:按照文件類型進行判斷node
-b 文件 判斷該文件是否存在,而且是否爲塊設備文件(是塊設備文件爲真)linux
-c 文件 判斷該文件是否存在,而且是否爲字符設備文件(是字符設備文件爲真)htm
-d 文件 判斷該文件是否存在,而且是否爲目錄文件(是目錄爲真)blog
-e 文件 判斷該文件是否存在(存在爲真)進程
-f 文件 判斷該文件是否存在,而且是否爲普通文件(是普通文件爲真)字符串
-L 文件 判斷該文件是否存在,而且是否爲符號連接文件(是符號連接文件爲真)get
-p 文件 判斷該文件是否存在,而且是否爲管道文件(是管道文件爲真)it
-s 文件 判斷該文件是否存在,而且是否爲非空(非空爲真)基礎
-S 文件 判斷該文件是否存在,而且是否爲套接字文件(是套接字文件爲真)
2: 按照文件權限進行判斷
-r 文件 判斷該文件是否存在,而且是否該文件擁有讀權限(有讀權限爲真)
-w 文件 判斷該文件是否存在,而且是否該文件擁有寫權限(有寫權限爲真)
-x 文件 判斷該文件是否存在,而且是否該文件擁有執行權限(有執行權限爲真)
-u 文件 判斷該文件是否存在,而且是否該文件擁有 SUID 權限(有 SUID 權限爲真)
-g 文件 判斷該文件是否存在,而且是否該文件擁有 SGID 權限(有 SGID 權限爲真)
-k 文件 判斷該文件是否存在,而且是否該文件擁有 SBit 權限(有 SBit 權限爲真)
(1)爲何要使用特殊權限?
特殊權限能夠擴展系統基礎權限的功能,使得linux權限更增強大靈活.
(1) 進程和文件權限的關係
進程有屬主和屬組;文件有屬主和屬組;
(1) 任何一個可執行程序文件能不能啓動爲進程:取決於發起者對程序文件是否擁有執行權限。
(2) 啓動爲進程以後,其進程的屬主爲發起者;進程的屬組爲發起者所屬的組。
(3) 進程訪問文件時的權限,取決於進程的發起者。
(a) 進程的發起者,同文件的屬主:則應用文件屬主權限。
(b) 進程的發起者,屬於文件的屬組;則應用文件屬組權限。
(c) 應用文件「其它」權限。
3:文件的比較
文件 1 -nt 文件 2 判斷文件 1 的修改時間是否比文件 2 的新(若是新則爲真)
文件 1 -ot 文件 2 判斷文件 1 的修改時間是否比文件 2 的舊(若是舊則爲真)
文件 1 -ef 文件 2
判斷文件 1 是否和文件 2 的 Inode 號一致,能夠理解爲兩個文件是否爲同一個文件。這個判斷用於判斷硬連接是很好的方法
4:兩個整數之間比較
整數 1 -eq 整數 2 判斷整數 1 是否和整數 2 相等(相等爲真)
整數 1 -ne 整數 2 判斷整數 1 是否和整數 2 不相等(不相等位置)
整數 1 -gt 整數 2 判斷整數 1 是否大於整數 2(大於爲真)
整數 1 -lt 整數 2 判斷整數 1 是否小於整數 2(小於位置)
整數 1 -ge 整數 2 判斷整數 1 是否大於等於整數 2(大於等於爲真)
整數 1 -le 整數 2 判斷整數 1 是否小於等於整數 2(小於等於爲真)
5: 字符串的判斷
-z字符串 判斷字符串是否爲空(爲空返回真)
-n字符串 判斷字符串是否爲非空(非空返回真)
字串 1==字2 判斷字符串 1 是否和字符串 2 相等(相等返回真)
字串 1!=字串2 判斷字符串 1 是否和字符串 2 不相等(不相等返回真
6:多重條件判斷
判斷 1 -a 判斷 2 邏輯與,判斷 1 和判斷 2 都成立,最終的結果才爲真
判斷 1 -o 判斷 2 邏輯或,判斷 1 和判斷 2 有一個成立,最終的結果就爲真
!判斷 邏輯非,使原始的判斷式取反.