• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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利用sftp命令传输文件(极少数人知道的方法)
    下一篇:电脑中毒Linux find命令快速查找中毒文件教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux执行find命令报错paths must precede的解决方法 Linux,执行,find,命令,报错,