http://www.yunweipai.com/archives/558.html

在Linux执行命令报错”Arg list too long”的原因分析

吞拿鱼手卷 于 3 年前2012-09-15 发表在 运维经验

最近在SUSE LINUX操作系统中遇到个问题:在一个包含上万个文件的文件夹中执行rm *删除所有文件时报错“Arg list too long”,最后导致删除失败。后来查了下资料,经过分析发现这里有以下几个技术点需要注意:

1. 在LINUX操作系统有限制单条命令行的长度是128KB,也就是131072字节,同时rm *这个命令在删除所有文件时,这个*作为通配符最终会转换成改文件的全路径,使得系统底层将rm *转换成了一个超过128KB大小的命令行,从而命令执行失败;

2. 查询LINUX操作系统中单条命令行的长度限制:可在LINUX操作系统中执行getconf ARG_MAX,回显信息即为该限制的字节数;

3. ARG_MAX参数在Solaris中是1048320字节(1024KB),在LINUX中式131072字节(128KB);

4. ARG_MAX参数定义是在LINUX/UNIX操作系统的内核中。

最后,对于前面提到的rm *的问题,其实可以通过以下方法解决,采用管道符和xargs的结合,确保每次rm的时候只删除一个文件,那么就不可能出现单条命令超过128KB字符长度的问题了:
# ls | xargs rm



在Linux执行命令报错”Arg list too long”的原因分析相关推荐

  1. linux命令报错,在Linux执行命令报错”Arg list too long”的原因分析 – 运维派

    最近在SUSE LINUX操作系统中遇到个问题:在一个包含上万个文件的文件夹中执行rm *删除所有文件时报错"Arg list too long",最后导致删除失败.后来查了下资料 ...

  2. linux执行sudo报错【/etc/sudo.conf is owned by uid 994, should be 0】

    linux执行sudo报错[/etc/sudo.conf is owned by uid 994, should be 0] 错误描述 如下图: 案例一 案例二 解决办法: 执行命令 pkexec c ...

  3. 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案

    本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案 参考文章: (1)本机未装Oracle数据库时N ...

  4. linux执行命令时报错:permission denied

    在执行Linux命令式,报错为:permission denied 一.上调权限 这种错误一般来说是权限问题.我们需要提升权限执行即可. 执行命令:上调权限:chmod 777 test.php 二. ...

  5. hive -e执行命令报错

    执行hive -e命令报错 hive -e "alter table ods.article add partition (day='20201201') location 'hdfs:// ...

  6. hbase安装启动成功,但是执行命令报错

    执行任意命令,比如list,都会报如下错误 ERROR [main] client.HConnectionManager$HConnectionImplementation: The node /hb ...

  7. linux find命令 报错 遗漏"-exec"的参数 解决方法

    错误示例 find ./jquery-ui/ -name "*svn" -exec rm -rf {}\; 这样写会报错,"find: 遗漏"-exec&quo ...

  8. 远程启动hadoop,ssh远程执行命令报错!hdfs命令不存在!

    1.任务:远程启动hadoop集群. #!/usr/bin/env bash HADOOP_HOME=/root/hadoop/hadoop-3.3.2 if [ $# -lt 1 ] thenech ...

  9. java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory

    直接执行ifconfig没问题,但是在java代码里远程执行ifconfig就找不到命令. session = conn.openSession(); session.execCommand(cmd) ...

最新文章

  1. MFC中的资源视图和如何打开资源视图
  2. 第六章---机器学习与数据建模
  3. 图的基本操作实现(数据结构实验)
  4. (转)MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验...
  5. mybatis java8_Java 8 开发的 Mybatis 注解代码生成工具
  6. 数据结构之基于Java的顺序列表实现
  7. 全新的移动界面设计素材
  8. 查看apache的日志与状态
  9. android 语音读短信,读短信来电报姓名2021下载-读短信来电报姓名app下载10.50 安卓版-西西软件下载...
  10. 【原创】VBA学习笔记(313)VBA字典相关:遍历字典,用key查item, 用item查key的方法
  11. MyBatisplus字段名与表名的映射
  12. MATLAB人体行为检测与识别
  13. 双线macd指标参数最佳设置_经典实用的双线MACD指标
  14. 百度地图添加家的位置图文教程
  15. android之媒体硬解OMX的实现
  16. Windows系统使用Procrun部署SpringBoot的JAR包
  17. IEEE 754 浮点数的详细分析
  18. 区块链安全————区块链技术安全讨论
  19. 新生宝宝办证-STEP1-出生证明办理
  20. C++中的volatile(Primer读书笔记)

热门文章

  1. 【数据结构与算法】之深入解析“二叉树的最小深度”的求解思路与算法示例
  2. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - H. 四平方和
  3. 941. Valid Mountain Array 有效的山脉数组
  4. 【机器视觉】 dev_open_tool算子
  5. 【MFC】工具栏左侧双线效果
  6. 【Tools】VNC Server 6.7安装详解
  7. 【嵌入式】C语言高级编程-长度为0的数组(05)
  8. 【Linux】一步一步学Linux——paste命令(58)
  9. mac你没有权限打开应用程序_苹果mac卡顿怎么解决呢?轻松几招让你Mac流畅如新
  10. python3网络爬虫开发实战下载_【Python3网络爬虫开发实战】 1.1-Python3的安装