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