Linux FAQ : ls , cp , rm Argument list too long

Linux FAQ : ls , cp , rm Argument list too long

在使用 Linux
如大量档案

ls 查看
cp 複製
rm 清理


可能会遇到了 Argument list too long

大约 10 万笔以上档案 就可能会看到此讯息

主要可能是 指令搭配特殊字元 *

* 在 Linux 可说是全部都找

不过此符号有其存取上限 , 超过了就会让 指令 出现 error


ls 可以尝试看不带入 *
cp 可参考

指令 :

for i in ls ; do cp $i $i.01 ; done

介绍 : 透过 for 迴圈 来一笔一笔检查


rm 可参考

指令 :

du -a --time --time-style='+%s' `find ./* 2>/dev/null | xargs -i ls {} ` | awk -v MAX=$date_time '{sec=(MAX-$2); print $3 " " sec}' | awk -v MAX=$lim '{if(MAX<$2) {print $1}}' | xargs rm -rf

介绍 : 用 du 和 xargs 来拆分 , du 传给 find 辅助找出档案 ( 隐藏档 ... 等 )
awk 是检查看时间超过设定值就显示 ( 要设定变数 $lim )


範例 : 找出时间大于 10 sec 档案与目录

#!/bin/kshlim=10du -a --time --time-style='+%s' `find ./* 2>/dev/null | xargs -i ls {} ` | awk -v MAX=$date_time '{sec=(MAX-$2); print $3 " " sec}' | awk -v MAX=$lim '{if(MAX<$2) {print $1}}' | xargs rm -rf

rm 更快 方案 find 参数 delete

find . -mtime +0 -delete

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章