2016-10-09 79 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