- ·上一篇文章:Linux系统中如何使用ping命令进行网络诊断
- ·下一篇文章:Linux系统定时任务时shell脚本停止执行如何解决?
Linux执行find命令报错paths must precede怎么办?
Linux在使用find命令时报错,提示find:paths must precede expression,这是由什么原因导致的呢?遇到该报错要如何解决呢?下面小编就给大家介绍下Linux执行find命令报错paths must precede expression的解决方法。 在服务器上执行find 。/ -mtime +30 -type f -name *.php的时候,报下面的错误: find: paths must precede expression Usage: find [-H] [-L] [-P] [path.。。] [expression] 多文件的查找的时候需要增加单引号,一直是使用的双引号,多文件要单引号。修改后: find 。/ -mtime +30 -type f -name ‘*.php’ 这样执行后就没有再报错了,一个小问题得到解决。 例子说明: # 进入tmp目录新建4个文本文件 # cd /tmp # touch {1,2,3,4}.txt # find 。 -name *.txt find: paths must precede expression: 2.txt 出现这个提示是因为星号被展开为当前目录下所有的文件,这样的匹配当然会出错。看这个就知道了: # echo * 1.txt 2.txt 3.txt 4.txt # echo ‘*’ * # echo \* * 想要星号不被展开就需要加上括号或者反斜杠转义,知道了这些我们就知道该怎么find了 # find 。 -name ‘*.txt’ find 。 -name ‘*.txt’ 。/4.txt 。/2.txt 。/3.txt 。/1.txt #或者使用反斜杠 find 。 -name \*.txt 。/4.txt 。/2.txt 。/3.txt 。/1.txt 不知你在服务器上使用find命令是否出现一样的报错?这多半是查找多文件时使用了双引号,修改过来后问题解决。 好啦,以上就是华军小编带给大家的全部内容了,是不是很简单呢?你学会了么?想了解更多的相关内容,请随时关注华军资讯动态吧,欢迎到华军来下载哦!
Linux执行find命令报错paths must precede怎么办?