二、文件测试操作符
1.操作符列举
操作符 说明
-e  文件存在
-a  文件存在,这个选项的效果与 -e 相同。但是它已经被“弃用”了,并且不鼓励使用。
-f  表示这个文件是一个一般文件(并不是目录或者设备文件)
-s  文件大小不为零
-d  表示这是一个目录
-b  表示这是一个块设备(软盘,光驱,等等)
-c  表示这是一个字符设备(键盘,modem,声卡,等等)
-p  这个文件是一个管道
-h  这是一个符号链接
-L  这是一个符号链接
-S  表示这是一个socket
-t  文件(描述符)被关联到一个终端设备上,这个测试选项一般被用来检测脚本中的 stdin([ -t 0 ]) 或者 stdout([ -t 1 ])是否来自于一个终端
-r  文件是否具有可读权限(指的是正在运行这个测试命令的用户是否具有读权限)
-w  文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
-x  文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
-g  set-group-id(sgid)标记被设置到文件或目录上
-k  设置粘贴位
-O  判断你是否是文件的拥有者
-G  文件的group-id是否与你的相同
-N  从文件上一次被读取到现在为止, 文件是否被修改过
f1 -nt f2   文件f1比文件f2新
f1 -ot f2   文件f1比文件f2旧
f1 -ef f2   文件f1和文件f2是相同文件的硬链接
!   “非”,反转上边所有测试的结果(如果没给出条件,那么返回真)