expr1 -a expr2
True if both expr1 and expr2 are true.
expr1 -o expr2
True if either expr1 or expr2 is true.
-a (AND) operation first, then -o (OR) operation
e.g.
there're 3 files, a, c, d
#!/bin/sh
[ -f a -o -f b -o -f c -o -f d ] && echo 0
[ -f a -o -f b -o -f c -a -f d ] && echo 1
[ -f a -o -f b -a -f c -o -f d ] && echo 2
[ -f a -o -f b -a -f c -a -f d ] && echo 3
[ -f a -a -f b -o -f c -o -f d ] && echo 4
[ -f a -a -f b -o -f c -a -f d ] && echo 5
[ -f a -a -f b -a -f c -o -f d ] && echo 6
[ -f a -a -f b -a -f c -a -f d ] && echo 7
result is...
0
1
2
3
4
5
6