what's the difference between using 'single quotes' or not in find command
The quotes protect the contents from shell wildcard expansion. Run that command (or even simpler just
echo *test.txt in a directory with a
footest.txt file and then one without any files that end in
test.txt and you will see the difference.
$ ls a b c d e $ echo *test.txt *test.txt $ touch footest.txt $ echo *test.txt footest.txt
The same thing will happen with find.
$ set -x $ find . -name *test.txt + find . -name footest.txt ./footest.txt $ find . -name '*test.txt' + find . -name '*test.txt' ./footest.txt $ touch bartest.txt + touch bartest.txt $ find . -name *test.txt + find . -name bartest.txt footest.txt find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression] $ find . -name '*test.txt' + find . -name '*test.txt' ./bartest.txt ./footest.txt