简述
少数可用于测试与 Unix 文件相关联的各种属性的运算符。
假设一个变量 file 保存一个现有的文件名“test”,其大小为 100 字节,并具有 read, write 和 execute 许可 -
操作符 |
描述 |
例子 |
-b file |
检查文件是否为块特殊文件;如果是,则条件变为真。 |
[ -b $file ] is false. |
-c file |
检查文件是否为字符特殊文件;如果是,则条件变为真。 |
[ -c $file ] is false. |
-d file |
检查文件是否为目录;如果是,则条件变为真。 |
[ -d $file ] is not true. |
-f file |
检查文件是否是普通文件,而不是目录或特殊文件;如果是,则条件变为真。 |
[ -f $file ] is true. |
-g file |
检查文件是否设置了组 ID (SGID) 位;如果是,则条件变为真。 |
[ -g $file ] is false. |
-k file |
检查文件是否设置了粘滞位;如果是,则条件变为真。 |
[ -k $file ] is false. |
-p file |
检查文件是否为命名管道;如果是,则条件变为真。 |
[ -p $file ] is false. |
-t file |
检查文件描述符是否打开并与终端关联;如果是,则条件变为真。 |
[ -t $file ] is false. |
-u file |
检查文件是否设置了设置用户 ID (SUID) 位;如果是,则条件变为真。 |
[ -u $file ] is false. |
-r file |
检查文件是否可读;如果是,则条件变为真。 |
[ -r $file ] is true. |
-w file |
检查文件是否可写;如果是,则条件变为真。 |
[ -w $file ] is true. |
-x file |
检查文件是否可执行;如果是,则条件变为真。 |
[ -x $file ] is true. |
-s file |
检查文件的大小是否大于 0;如果是,则条件变为真。 |
[ -s $file ] is true. |
-e file |
检查文件是否存在;即使 file 是一个目录但存在,也是如此。 |
[ -e $file ] is true. |