参考:https://blog.csdn.net/enough_br/article/details/7595590
解决Argument list too long 问题的具体步骤:
1、进入到桌面目录下,新建两个文件夹,文件夹命名为:source和target,目的将source目录下的所有文件复制到target目录下
mkdir source target
2、通过shell脚本或者python脚本写一个for循环在source目录下创建100000个文件(文件数随意,但具体可以创建文件的个数除了文件的大小比能超过硬盘的空间外,还以文件的inodes有关,具体inodes因linux系统不同而不同)
3、通过输入以下命令
-
mv source/* target/
-
cp source/* target/
-
rm source/*
-
ls source/*
可以看到报错信息为:
-
-bash: /bin/mv: Argument list too long
-
-bash: /bin/cp: Argument list too long
-
-bash: /bin/rm: Argument list too long
-
-bash: /bin/ls: Argument list too long
4、使用find命令:
find source/ -name "*.txt" -exec mv {} target \;
(第二步创建的文件名都是以.txt结尾的)或者使用
find source/ -name "*.txt" | xargs -i mv {} target/
命令,如果是cp、rm 、ls操作将以上命令里中的mv改为相应的命令即可;