转自 http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html
-a@H_403_5@ file@H_403_5@ exists.
-b file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ block special file@H_403_5@.
-c file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ character@H_403_5@ special file@H_403_5@.
-d file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ directory@H_403_5@.
-e file@H_403_5@ exists (just the@H_403_5@ same as@H_403_5@ -a@H_403_5@).
-f file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ regular file@H_403_5@.
-g file@H_403_5@ exists and@H_403_5@ has its setgid(2@H_403_5@) bit set@H_403_5@.
-G file@H_403_5@ exists and@H_403_5@ has the@H_403_5@ same group ID as@H_403_5@ this process@H_403_5@.
-k file@H_403_5@ exists and@H_403_5@ has its sticky bit set@H_403_5@.
-L file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ symbolic link.
-n string@H_403_5@ length@H_403_5@ is not@H_403_5@ zero@H_403_5@.
-o Named option is set@H_403_5@ on@H_403_5@. @H_403_5@
-O file@H_403_5@ exists and@H_403_5@ is owned by@H_403_5@ the@H_403_5@ user ID of@H_403_5@ this process@H_403_5@.
-p file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ first@H_403_5@ in@H_403_5@,first@H_403_5@ out (FIFO) special file@H_403_5@ or@H_403_5@
named pipe.
-r file@H_403_5@ exists and@H_403_5@ is readable by@H_403_5@ the@H_403_5@ current process@H_403_5@.
-s file@H_403_5@ exists and@H_403_5@ has a@H_403_5@ size greater than zero@H_403_5@.
-S file@H_403_5@ exists and@H_403_5@ is a@H_403_5@ socket@H_403_5@.
-t file@H_403_5@ descriptor number@H_403_5@ fildes is open@H_403_5@ and@H_403_5@ associated with@H_403_5@ a@H_403_5@
terminal device.
-u file@H_403_5@ exists and@H_403_5@ has its setuid(2@H_403_5@) bit set@H_403_5@.
-w file@H_403_5@ exists and@H_403_5@ is writable by@H_403_5@ the@H_403_5@ current process@H_403_5@.
-x file@H_403_5@ exists and@H_403_5@ is executable by@H_403_5@ the@H_403_5@ current process@H_403_5@.
-z string@H_403_5@ length@H_403_5@ is zero@H_403_5@.