关于某个文件名的"文件类型"的判断: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