linux下ls 、mv命令参数列表过长的办四种解决

四种解决”bash: /bin/mv: Argument list too long”参数列表过长的办法

linux用户/系统管理员, 有些时候 遇到以下错误提示:

[user@localhost linux]$ mv * ../foo2

bash: /bin/mv: Argument list too long

方法1 : 将文件群手动划分为比较小的组合

[user@localhost foo]$ mv [a-l]* ../foo2

[user@localhost foo]$ mv [m-z]* ../foo2

方法2

1、在一个目录下删除大批量的文件时,当使用 rm -rf 或者rm *会提示参数列表过长

通过修改命令为 :find . -name "*" | xargs rm -rf '*',成功删除

2、需要把一个目录下的所有文件mv到另外一个目录,如果当前目录文件特别多,简单使用mv 源目录 目的目录会提示参数列表过长

通过修改命令为 :ls | xargs -t -I {} mv {} ../matchres/ 可以把当前目录下的所有文件移到 "../matchres"下

3、另外cp 命令也会存在这种情况,解决办法跟 mv的一样

实际操作整理:

1、把 hbtmp 目录下文件 mv到 201301目录下

find hbtmp -type f -name '201301*sms.txt' |xargs -t -I {} mv {} 201301/

2、合并201301目录文件到 hbtmp/bill201301.txt

Logo

更多推荐