Shell脚本中和文件相关的判断符

参数除去-e参数判断是否存在外,其他参数为文件或目录存在的情况下进行属性的判断。

-b 判断是否是块设备文件,如果是返回 true
-c 判断是否是字符设备文件,如果是返回 true
-d 判断是否是目录,如果是返回 true
-f 判断是否是普通文件(既不是目录,也不是设备文件),如果是返回 true
-g 判断是否设置了 SGID 位,如果是返回 true
-k 判断是否设置了粘着位(Sticky Bit),如果是返回 true
-p 判断是否是有名管道,如果是返回 true
-u 判断是否设置了 SUID 位,如果是返回 true
-r 判断是否可读,如果是返回 true
-w 判断是否可写,如果是返回 true
-x 判断是否可执行,如果是返回 true
-s 判断是否为空(文件大小是否大于0),不为空返回 true
-e 判断文件或目录是否存在,如果是返回 true
-h 判断是否为软连接,如果是返回 true
-t 判断文件描述符FD是否打开并且指向一个终端,如果是返回 true
-L 判断是否为符号连接,如果是返回 true
-O 判断是否属于当前用户,如果是返回 true
-G 判断是否属于当前用户组,如果是返回 true
-N 判断是否自上次读取后已被修改过,如果是返回 true
-S 判断是否是一个套接字,如果是返回 true
-nt 判断file1是否比file2新[ “file1” -nt “file2” ],如果是返回 true
-ot 判断file1是否比file2旧[ “file1” -ot “file2” ],如果是返回 true
-ef 判断file1和file2是否指向相同的设备和节点号,如果是返回 true