使用ls或mv *命令

1571阅读 0评论2012-05-29 RT123AA
分类:系统运维

使用lsmv *命令时, 产生"Arguments too long""Array list too long"的错误信息


用户的某个目录下有非常多的文件,当用户使用ls列示所有文件或使用mv * 命令想把所有文件移至另一目录时,系统报错,相应操作无法进行。错误信息为:"Arguments too long""Array list too long" 
解答 该错误的产生是由于/usr/include/sys/limits.h文件中ARG_MAX参数对应值的限制,最大值为24576,并且无法改变此限制。因此当某目录下的文件数超过24576时,可以使用下面的命令列示、删除或移动所有的文件:

1.
列示文件: 
find -name "*" | xargs ls -l 
2.  
删除文件: 
find . -name "*" |xargs rm {} 
3.
移动所有文件至目标目录: 
find -name "*" | xargs -I {} mv {} 

上一篇:如何自动启动和关闭软件的运行
下一篇:AIX操作系统Paging Space的管理机制