最近在整理图床文件时,因为文件数量太多,执行 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 | find dusays/ -name "*.com" | xargs -i rm -f {} |
复制 dusays 目录下以 com 后缀文件到 7bu 目录:
1 | find dusays/ -name "*.com" | xargs -i cp {} 7bu/ |
xargs 用于给其它命令传递参数的一个过滤器,也是组合多命令的一个工具。而-i 参数会将 xargs 的内容赋值给{}。