| -a
file
|
file
exists. |
| -b
file
|
file
is a block device file. |
| -c
file
|
file
is a character device file. |
| -d
file
|
file
is a directory. |
| -f
file
|
file
is a regular file. |
| -g
file
|
file
has its setgid bit set. |
| -k
file
|
file
has its sticky bit set. |
| -n
string
|
string
is non-null. |
| -o
option
|
option
is set. |
| -p
file
|
file
is a pipe or named pipe (FIFO file). |
| -r
file
|
file
is readable. |
| -s
file
|
file
is not empty. |
| -t
N
|
File descriptor N
points to a terminal. |
| -u
file
|
file
has its setuid bit set. |
| -w
file
|
file
is writeable. |
| -x
file
|
file
is executable, or file
is a
directory that can be searched.
|
| -z
string
|
string
is null. |
| -G
file
|
file
's group ID is the same as that of the shell. |
| -L
file
|
file
is a symbolic link. |
| -O
file
|
file
is owned by the shell's user ID. |
| -S
file
|
file
is a socket. |
| fileA
-nt
fileB
|
fileA
is newer than fileB
. |
| fileA
-ot
fileB
|
fileA
is older than fileB
. |
| fileA
-ef
fileB
|
fileA
and fileB
point to
the same file.
|
| string
= pattern
|
string
matches pattern
(which can contain wildcards).
|
| string
!= pattern
|
string
does not match pattern
. |
| stringA
< stringB
|
stringA
comes before stringB
in dictionary order.
|
| stringA
> stringB
|
stringA
comes after stringB
in
dictionary order.
|
| exprA
-eq exprB
|
Arithmetic expressions exprA
and
exprB
are equal.
|
| exprA
-ne exprB
|
Arithmetic expressions exprA
and
exprB
are not equal.
|
| exprA
-lt exprB
|
exprA
is less than exprB
. |
| exprA
-gt exprB
|
exprA
is greater than exprB
. |
| exprA
-le exprB
|
exprA
is less than or equal to exprB
. |
| exprA
-ge exprB
|
exprA
is greater than or equal to exprB
. |