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

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

 

 

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

 

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM