Linux下通过 rm -f 删除大量文件时报错:Argument list too long

news/2024/11/15 6:54:46/

Linux下通过 rm -f 删除大量的小文件时出现类似如下错误信息:

 -bash: /bin/rm: Argument list too long

如下图所示:

问题原因


如果待删除文件中包含的小文件数量过多,通常是由于受到 shell 参数个数限制所致。

这个是Linux系统存在的限制,可以通过如下指令查看该参数值的配置:

getconf ARG_MAX

解决办法


注:

  • 删除操作为高风险命令,请一定谨慎使用。确认通过快照等方式对数据进行了有效备份,或者明确可以删除。
  • 如果待处理的文件数目过多,因为处理时间较长,推荐在业务低峰期进行操作,对磁盘的IO消耗较高。
  • 对于 cp、mv 等都可以采取相同的方式实现处理。
  • 请务必核实 dir 定义的目录中除了待删除文件外无其他类型的文件,避免误删除。

可以通过如下方式尝试删除:

结合 awk 删除

可使用 awk 一次删除一个的方式进行删除。但必须先进入该目录下。操作方法如下:
1.先进入该目标目录:

如图:


2. 使用 awk 删除:

ls -l| awk '{ print "rm -f ",$9}'|sh

如图:

3. 再次使用命令 ls -l 查看,发现文件已经删除完成了.如图:

结合 xargs 删除

通过 ls 来配合 xargs 删除 test 目录下的所有文件:

结合 find 删除

通过 find 来完成,更加安全智能,支持的参数更多。

可以先使用 ls 命令列出需要删除的文件看是否正确,然后再执行删除命令。例如,通过如下指令,删除 test 目录下的 png 文件:

find /usr/local/tests/ -name "*.png" |xargs rm -r

在执行rm命令时提示Argument list too long,如下:

通过自定义脚本删除

可以通过以下脚本通过循环实现删除,如下:

#!/bin/bash
# 此处通过 DIR 指定待处理文件所在的目录
DIR='/root/mysql'  #待删除目录
cd $DIR
for I in `ls`
do
#读取ls结果中的各个文件名进行强制删除rm -f $I    
done

http://www.ppmy.cn/news/101109.html

相关文章

第四十章 不忍和尚

虽如此说,不忍还是乐滋滋的挪开屁股,甲乙丙忍一拥而上,掀开蒲团,下面果然有个大洞,他们仨连连掏出许多熟食,斗大的禅房内顿时香气四溢。 “哎哎哎,差不多得了!给我留点儿&#xff01…

PC端网页特效

1. offset属性 1.1 offset系列 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-C…

Hive ---- 分区表和分桶表

Hive ---- 分区表和分桶表 1. 分区表1. 分区表基本语法2. 二级分区表3. 动态分区 2. 分桶表1. 分桶表基本语法2. 分桶排序表 1. 分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录&#xff0c;每个目录就称为该表的一个分区。在查询时通过where子句中…

Studio One6简体中文版全新版本功能详解

Studio One 6是一款强大的音乐编曲软件,可以帮助您使用灵活的和弦轨道功能实现音乐创作。通过新的智能模板、直观的拖放工作流、可定制的用户界面和强大的集成工具&#xff0c;使创建快速而轻松。 无论你选择 Studio One 哪个版本&#xff0c;你都可以得到无限的音轨、通道和插…

JetBrains的多数据库管理和SQL工具DataGrip 2023版本在Linux系统的下载与安装配置教程

目录 前言一、DataGrip安装二、使用配置总结 前言 DataGrip是一款多数据库管理和SQL工具&#xff0c;适用于不同类型的数据库。它提供了丰富的功能和工具&#xff0c;可以帮助开发人员更高效地管理数据库、编写SQL查询和执行数据操作。注&#xff1a;已在CentOS7.9和Ubuntu20.…

WalkRE--地籍处理

前提&#xff1a;在套图的基础之上&#xff0c;可进行下一步地籍的操作。&#xff08;套好图&#xff0c;并检查处理至无错误状态后&#xff09; 1、地籍--宗地基本信息填写。 地籍处理部分&#xff0c;需按上图依次向下进行属性信息的填写。填写完属性信息后&#xff0c;需进…

微信的大动作,很多人要颤抖了

4月25日&#xff0c;微信团队发布关于微信公众号营销内容合规规范通知&#xff0c;要求公众号在投放商业广告时需要标注广告字样。 刚开始觉得也没啥&#xff0c;无非就是加个广告的字样&#xff0c;让消费者可以及时识别出来&#xff0c; 但从效果来看&#xff0c;似乎效果并不…

内存泄露的循环引用问题

内存泄漏一直是很多大型系统故障的根源&#xff0c;也是一个面试热点。那么在编程语言层面已经提供了内存回收机制&#xff0c;为什么还会产生内存泄漏呢&#xff1f; 这是因为应用的内存管理一直处于一个和应用程序执行并发的状态&#xff0c;如果应用程序申请内存的速度&…