这篇文章主要讲解了“moa 35怎么批量删除文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“moa 35怎么批量删除文件”吧!
在某一应用目录下,生成了大量的以数字开头的目录和文件,例如
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5925.26
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5926.596
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5927.284
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5931.467
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5931.585
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5936.315
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5937.906
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 594.1117
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5942.766
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5944.112
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5945.207
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5945.499
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5948.318
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5949.521
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5955.708
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5956.432
drwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5958.177
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 596.4732
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5961.223
-rwxr-xr-x 2 wasuser wasgrp 256 Apr 09 15:56 5961.466
批量删除时报
bash: /bin/rm: Argument list too long
目录下文件数太多,无法全部删除。
那么该如何删除该目录下所有文件呢?(该目录下文件和目录数目特别多)
报错的原因分析:
比如你目录下有a.tmp, b.tmp,c.tmp,d.tmp...........
执行rm *实际是替换为rm a.tmp b.tmp c.tmp d.tmp....后再执行
如果目录下文件很多,那么替换后的长度将因为超过系统默认的命令缓冲区最大长度导致错误,所以需要简化批量删除的字符数
$ id
uid=212(wasuser) gid=210(wasgrp) groups=1(staff)
$ pwd
/moaj2me/document/resources/doc
$ rm -rf [1-9]* 注:如果是字母,则rm -rf [a-z]* rm -rf [A-Z]*
$ ls -l
total 0
还有种方法是
find . -print|xargs rm -rf
find . -name * -exec rm -rf {} \
ls -l |awk '{print $9}'|rm -rf
注:rm的r和f参数要慎用
还可以使用脚本
建议如下:
ls -l >/tmp/rmfile.sh
cd /tmp
vi rmfile.sh
:g/^/s//rm /g
ZZ
chmod 755 rmfile
./rmfile
补充:
删除当前目录下所有文件(不包含目录):
find . -maxdepth 0 -type f -exec rm -f {} \;
批量删除空文件(大小等于0的文件)的方法
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
用这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:
find . -name "*" -type f -size 1024c | xargs -n 1 rm -f
就是删除1k大小的文件。(但注意 不要用 -size 1k,这个得到的是占用空间1k,不是文件大小1k的)。
find . -maxdepth 0 -type f -name xxx.* -mtime +2 -exec rm -f {} \;
把2天前被修改的以xxx开头的文件全部删除掉
感谢各位的阅读,以上就是“moa 35怎么批量删除文件”的内容了,经过本文的学习后,相信大家对moa 35怎么批量删除文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。