【问题标题】:linux args list too long errorlinux args list too long 错误
【发布时间】:2017-02-18 00:59:48
【问题描述】:

我正在尝试运行此命令,但出现 arg list too long 错误:

find /dir1/dir2/dir3/dir4/dir5 -name *.cdb -type f -mmin +30 -delete

错误是:

/usr/bin/find: Arg list too long.

可能 find 命令返回的文件太多。 有关如何克服此问题的任何建议?

谢谢

【问题讨论】:

    标签: linux bash


    【解决方案1】:

    首先,您应该转义星号以防止外壳扩展它:

    find /dir1/dir2/dir3/dir4/dir5 -name \*.cdb -type f -mmin +30 -delete
    

    find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete
    

    【讨论】:

      【解决方案2】:

      Bash globbing 正在扩展您的 *.cdb 参数,并且您向 find 命令发送了太多参数。

      尝试为该参数添加引号以避免外壳扩展并将通配任务传递给find 命令:

      find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete
      

      如果您仍然需要增加最大参数限制,您可以使用ulimit -s

      ulimit -s 65536
      

      【讨论】:

        猜你喜欢
        • 2020-07-31
        • 2014-03-01
        • 2022-12-19
        • 1970-01-01
        • 2017-08-26
        • 2020-05-05
        • 1970-01-01
        • 2017-10-27
        • 1970-01-01
        相关资源
        最近更新 更多