linux文件测试

格式 :
[空格 -命令 文件 空格]
如:
[ -b /dev/sda ]
使用echo $? 查看返回值

存在性及类型测试:

-e: 是否存在
-b:是否为块设备
-c:是否为字符设备
-d:是否为目录
-f:是否为普通文件
-h 或 -L :是否为符号链接文件
-p:是否为管道文件
-S:是否为套接字文件

文件权限测试

-r:当前用户是否有读权限
-w:当前用户是否有写权限
-x:当前用户是否有执行权限

特殊权限测试:

-u:是否存在拥有suid权限
-g:是否存在且拥有sgid权限
-k:是否存在且拥有sticky权限

文件是否有内容

-s:是否有内容

时间戳

-N:文件自从上一次被读取后是否修改过

从属关系测试

-O:当前用户是否为文件的属主
-G:当前用户是否属于文件的属组

双目测试:

FILE1 -ef FILE2 : 是否指向同一个文件系统的相同inode硬链接
FILE1 -nt FILE2: FILE1是否新于FILE2
FILE1 -ot FILE2: FILE1是否旧与FILE2

组合测试条件:

逻辑运算:
第一种:
COMMAND1 && COMMAND2
COMMAND1 || COMMAND2
!COMMAND

第二种:
EXPRESSION1 -a EXPRESSION2:-a 相当于&&
EXPRESSION1 -o EXPRESSION2: -o 相当于||
!EXPRESSION

你可能感兴趣的:(linux文件测试)