Linux使用find命令,搜索文件名中带有通配符*,报错: paths must precede expression

事情是这样的,用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搜索文件名,并使用通配符,就报错。 

我不太清楚到底什么意思,实验的时候,有些情况不加引号是可以的,有些又不行。

 

 

通过网上搜索,有的说加上双引号,有的时候双引号不行,改为单引号,有的说用反斜线也行,我试了下,确实可以解决问题。

 

 不过这现象很多疑问,希望有懂的给留言解释一二。

 

posted @ 2020-05-15 20:01  html55  阅读(1184)  评论(0编辑  收藏  举报