關於某個文件名的"文件類型"的判斷:test -e filenameless
-e 判斷該文件名是否存在ip
-f 判斷該文件名是否存在且爲文件(file)字符串
-d 判斷該文件名是否存在且爲目錄(directory)string
-b 判斷該文件名是否存在且爲一個block device設備it
-c 判斷該文件名是否存在且爲一個character device設備pip
-S 判斷該文件名是否存在且爲一個Socket文件test
-p 判斷該文件名是否存在且爲一個FIFO(pipe)文件file
-L 判斷該文件名是否存在且爲一個鏈接文件權限
關於某個文件名的權限檢測:test -r filename數據
-r 檢測該文件名是否存在且具備可讀的權限
-w 檢測該文件名是否存在且具備可寫的權限
-x 檢測該文件名是否存在且具備可執行的權限
-u 檢測該文件名是否存在且具備"SUID"的屬性
-g 檢測該文件名是否存在且具備"SGID"的屬性
-k 檢測該文件名是否存在且具備"Sticky bit"的屬性
-s 檢測該文件名是否存在且爲非空白文件
連個文件之間的比較:test file1 -nt file2
-nt(newer than) 判斷file1是否比file2新
-ot(older than) 判斷file1是否比file2舊
-ef 判斷file1和file2是否爲同一個文件,可用在hard link的斷定上 。
關於兩個整數之間的斷定:test n1 -eq n2
-eq 兩數值相等(equal)
-ne 兩數值不等(not equal)
-gt n1大於n2(greater than)
-lt n1小於n(less than)
-ge n1大於等於n2(greater than or equal)
-le n1小於等於n2(less than or equal)
斷定字符串的數據:
test -z string 斷定字符串是否爲0,若string爲空字符串,則爲true
test -n string 斷定字符創是否非爲0,若String不爲空字符串,則爲true
test str1=str2 斷定字符串str1是否等於str2,若相等,則爲true
test str1!=st2 斷定字符創Str1是否不等於str2,若不相等,則爲true