我試圖運行此命令,但得到的參數列表太長錯誤:的Linux的args列表太長錯誤
find /dir1/dir2/dir3/dir4/dir5 -name *.cdb -type f -mmin +30 -delete
錯誤是:
/usr/bin/find: Arg list too long.
大概find命令返回太多的文件。 有關如何解決此問題的任何建議?
感謝
我試圖運行此命令,但得到的參數列表太長錯誤:的Linux的args列表太長錯誤
find /dir1/dir2/dir3/dir4/dir5 -name *.cdb -type f -mmin +30 -delete
錯誤是:
/usr/bin/find: Arg list too long.
大概find命令返回太多的文件。 有關如何解決此問題的任何建議?
感謝
首先,你應該逃星號,以防止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
猛砸globbing擴大您的*.cdb
說法,你是發送太多參數給find
命令。
嘗試添加引號這樣的說法,以避免shell擴展和通配符任務傳遞給find
命令:
find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete
如果您還需要增加最大參數限制,您可以使用ulimit -s
:
ulimit -s 65536