事情是这样的,用find命令,当使用通配符时,不加引号或 \ (反斜线)的情况下,会报错:
# find ./ -name *.txt
find: paths must precede expression: .....
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
复原一下这个情况,在某文件夹下新建文件
1.txt
2.txt
3.txt
4.txt
命令为
# touch {1,2,3,4}.txt
接着用find搜索文件名,并使用通配符,就报错。
我不太清楚到底什么意思,实验的时候,有些情况不加引号是可以的,有些又不行。
通过网上搜索,有的说加上双引号,有的时候双引号不行,改为单引号,有的说用反斜线也行,我试了下,确实可以解决问题。
不过这现象很多疑问,希望有懂的给留言解释一二。
Linux使用find命令,搜索文件名中带有通配符*,报错: paths must precede expression