linux test命令用法详解

test命令是linux上常用命令,对于我个人来说一般都是test下目录是否存在或者是上条命令执行返回状态,返回1则是假,返回0则是真,跟其它的编程语言正好返回状态码是反的,其实用if判断也成,看个人喜好,我这个命令也用的比较少,主要参数如下介绍

01.
-b<文件>:如果文件为一个块特殊文件,则为真;
02.
-c<文件>:如果文件为一个字符特殊文件,则为真;
03.
-d<文件>:如果文件为一个目录,则为真;
04.
-e<文件>:如果文件存在,则为真;
05.
-f<文件>:如果文件为一个普通文件,则为真;
06.
-g<文件>:如果设置了文件的SGID位,则为真;
07.
-G<文件>:如果文件存在且归该组所有,则为真;
08.
-k<文件>:如果设置了文件的粘着位,则为真;
09.
-O<文件>:如果文件存在并且归该用户所有,则为真;
10.
-p<文件>:如果文件为一个命名管道,则为真;
11.
-r<文件>:如果文件可读,则为真;
12.
-s<文件>:如果文件的长度不为零,则为真;
13.
-S<文件>:如果文件为一个套接字特殊文件,则为真;
14.
-u<文件>:如果设置了文件的SUID位,则为真;
15.
-w<文件>:如果文件可写,则为真;
16.
-x<文件>:如果文件可执行,则为真。

实例

linux中shell编程中的test常见用法:

判断表达式

01.
if test     #表达式为真
02.
if test !   #表达式为假
03.
test 表达式1 –a 表达式2     #两个表达式都为真
04.
test 表达式1 –o 表达式2     #两个表达式有一个为真
05.
test 表达式1 ! 表达式2       #条件求反

判断字符串

01.
test –n 字符串    #字符串的长度非零
02.
test –z 字符串    #字符串的长度是否为零
03.
test 字符串1=字符串2       #字符串是否相等,若相等返回true
04.
test 字符串1!=字符串2      #字符串是否不等,若不等反悔false

判断整数

01.
test 整数1 -eq 整数2    #整数相等
02.
test 整数1 -ge 整数2    #整数1大于等于整数2
03.
test 整数1 -gt 整数2    #整数1大于整数2
04.
test 整数1 -le 整数2    #整数1小于等于整数2
05.
test 整数1 -lt 整数2    #整数1小于整数2
06.
test 整数1 -ne 整数2    #整数1不等于整数2

判断文件

01.
test File1 –ef File2    两个文件是否为同一个文件,可用于硬连接。主要判断两个文件是否指向同一个inode。
02.
test File1 –nt File2    判断文件1是否比文件2新
03.
test File1 –ot File2    判断文件1比是否文件2旧
04.
test –b file   #文件是否块设备文件
05.
test –c File   #文件并且是字符设备文件
06.
test –d File   #文件并且是目录
07.
test –e File   #文件是否存在 (常用)
08.
test –f File   #文件是否为正规文件 (常用)
09.
test –g File   #文件是否是设置了组id
10.
test –G File   #文件属于的有效组ID
11.
test –h File   #文件是否是一个符号链接(同-L)
12.
test –k File   #文件是否设置了Sticky bit位
13.
test –b File   #文件存在并且是块设备文件
14.
test –L File   #文件是否是一个符号链接(同-h)
15.
test –o File   #文件的属于有效用户ID
16.
test –p File   #文件是一个命名管道
17.
test –r File   #文件是否可读
18.
test –s File   #文件是否是非空白文件
19.
test –t FD     #文件描述符是在一个终端打开的
20.
test –u File   #文件存在并且设置了它的set-user-id位
21.
test –w File   #文件是否存在并可写
22.
test –x File   #文件属否存在并可执行


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/520

评论列表