2016-10-09 53 views
0

我试图运行此命令,但得到的参数列表太长错误:的Linux的args列表太长错误

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

错误是:

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

大概find命令返回太多的文件。 有关如何解决此问题的任何建议?

感谢

回答

1

首先,你应该逃星号,以防止shell扩展它:

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 
0

猛砸globbing扩大您的*.cdb说法,你是发送太多参数给find命令。

尝试添加引号这样的说法,以避免shell扩展和通配符任务传递给find命令:

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

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

ulimit -s 65536