linux test命令詳解

2021-08-19 09:52:33 字數 2141 閱讀 8099

test命令是shell環境中測試條件表示式的實用工具。

test(選項)
-b《檔案》:如果檔案為乙個塊特殊檔案,則為真;

-c《檔案》:如果檔案為乙個字元特殊檔案,則為真;

-d《檔案》:如果檔案為乙個目錄,則為真;

-e《檔案》:如果檔案存在,則為真;

-f《檔案》:如果檔案為乙個普通檔案,則為真;

-g《檔案》:如果設定了檔案的sgid位,則為真;

-g《檔案》:如果檔案存在且歸該組所有,則為真;

-k《檔案》:如果設定了檔案的粘著位,則為真;

-o《檔案》:如果檔案存在並且歸該使用者所有,則為真;

-p《檔案》:如果檔案為乙個命名管道,則為真;

-r《檔案》:如果檔案可讀,則為真;

-s《檔案》:如果檔案的長度不為零,則為真;

-s《檔案》:如果檔案為乙個套接字特殊檔案,則為真;

-u《檔案》:如果設定了檔案的suid位,則為真;

-w《檔案》:如果檔案可寫,則為真;

-x《檔案》:如果檔案可執行,則為真。

linux中shell程式設計中的test常見用法:

判斷表示式

if test     #表示式為真

if test ! #表示式為假

test 表示式1 –a 表示式2 #兩個表示式都為真

test 表示式1 –o 表示式2 #兩個表示式有乙個為真

test 表示式1 ! 表示式2 #條件求反

判斷字串

test –n 字串    #字串的長度非零

test –z 字串 #字串的長度是否為零

test 字串1=字串2 #字串是否相等,若相等返回true

test 字串1!=字串2 #字串是否不等,若不等反悔false

判斷整數

test 整數1 -eq 整數2    #整數相等

test 整數1 -ge 整數2 #整數1大於等於整數2

test 整數1 -gt 整數2 #整數1大於整數2

test 整數1 -le 整數2 #整數1小於等於整數2

test 整數1 -lt 整數2 #整數1小於整數2

test 整數1 -ne 整數2 #整數1不等於整數2

判斷檔案

test file1 –ef file2    兩個檔案是否為同乙個檔案,可用於硬連線。主要判斷兩個檔案是否指向同乙個inode。

test file1 –nt file2 判斷檔案1是否比檔案2新

test file1 –ot file2 判斷檔案1比是否檔案2舊

test –b file

#檔案是否塊裝置檔案

test –c file #檔案並且是字元裝置檔案

test –d file #檔案並且是目錄

test –e file #檔案是否存在 (常用)

test –f file #檔案是否為正規檔案 (常用)

test –g file #檔案是否是設定了組id

test –g file #檔案屬於的有效組id

test –h file #檔案是否是乙個符號鏈結(同-l)

test –k file #檔案是否設定了sticky bit位

test –b file #檔案存在並且是塊裝置檔案

test –l file #檔案是否是乙個符號鏈結(同-h)

test –o file #檔案的屬於有效使用者id

test –p file #檔案是乙個命名管道

test –r file #檔案是否可讀

test –s file #檔案是否是非空白檔案

test –t fd #檔案描述符是在乙個終端開啟的

test –u file #檔案存在並且設定了它的set

-user-id位

test –w file #檔案是否存在並可寫

test –x file #檔案屬否存在並可執行

linux test命令詳解

1.關於某個檔名的 型別 偵測 存在與否 如test e filename e 該 檔名 是否存在?常用 f 該 檔名 是否為檔案 file 常用 d 該 檔名 是否為目錄 directory 常用 b 該 檔名 是否為乙個block device 裝置?c 該 檔名 是否為乙個character ...

Linux test命令別名

linux中test命令可以用來檢測表示式的真假,如果為真,則返回乙個0值,如果為假則返回乙個大於0的值。test命令還有乙個別名 test與其別名 都可以在 usr bin或 bin中找到。test可以單獨使用也可以與if while或until命令結合使用來對程式的流程進行控制。test和 的語...

Linux test 命令的使用

關於某個檔名的 型別 偵測 存在與否 如 test e filename e 該 檔名 是否存在?常用 f 該 檔名 是否為檔案 file 常用 d 該 檔名 是否為目錄 directory 常用 b 該 檔名 是否為乙個 block device 裝置?c 該 檔名 是否為乙個 character...