抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

最近在整理图床文件时,因为文件数量太多,执行 cp 命令提示 Argument list too long。简单说下其原因与解决思路!

问题原因

在 Linux 下使用 cp/mv/rm 等命令时,经常会碰到 Argument list too long 错误。

这个主要是因为要 cp/mv/rm 的文件个数太多而导致的。

解决方法

Argument list too long 这个问题的解决主要会用到两个命令 find 和 xargs。

这里以删除 dusays 目录下以 com 后缀的文件为例:

1
2
find dusays/ -name "*.com" | xargs -i rm -f {}
find dusays/ -name "*.com" -exec rm -f {} \;

复制 dusays 目录下以 com 后缀文件到 7bu 目录:

1
2
find dusays/ -name  "*.com" | xargs -i cp {} 7bu/
find dusays/ -name "*.com" -exec cp {} 7bu/ \;

xargs 用于给其它命令传递参数的一个过滤器,也是组合多命令的一个工具。而-i 参数会将 xargs 的内容赋值给{}。

评论