位置: IT常识 - 正文

linux批量操作时提示Argument list too long解决方法(linux批量操作工具)

编辑:rootadmin
在实际使用过程中,若一个目录下文件或文件夹太多,在执行“*” 命令时 会提示Argument list too long,如rm -rf /tmp/*命令下... 17-04-02

推荐整理分享linux批量操作时提示Argument list too long解决方法(linux批量操作工具),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux批量处理文件,linux批量管理平台,linux批量提交任务,linux批量操作时调用CPU核变少,linux 批量操作,linux 批量操作,linux 批量执行命令,linux 批量执行命令,内容如对您有帮助,希望把文章链接给更多的朋友!

第一种情况:

在实际使用过程中,若一个目录下文件或文件夹太多,在执行“*” 命令时 会提示Argument list too long,如rm -rf /tmp/*命令下。解决方案:

ls | xargs ­n 10 rm ­rf ls

SSH执行以上命令,输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm ­rf的参数 也就是说将所有文件名10个为一组,由rm ­rf删除。

第二种情况:

rm、cp、mv是unix下面常用到的档案处理指令,当我们需要删除大量的log档案,如果档案数太多就会出现此讯息【/bin/rm: Argument list too long】

解决方式如下:例如要删除 /tmp/*.log则执行【ls /tmp/*.log | xargs rm -f】这样就可以萝^__^,其他cp,mv同理!

第三种情况:

今日需要删除/tmp目录下的所有文件,文件数量比较多。

ls -lt /tmp | wc -l 385412

使用 rm * 后,系统提示错误 Argument list too long原因是在linux下,试图传太多参数给一个系统命令(ls *; cp *; rm *; cat *; etc..)时,就会出现 Argument list too long错误。

解决方法如下:使用find -exec 遍历,然后执行删除便可。

sudo find /tmp -type f -exec rm {} \;

在linux中删除大量文件时,直接用rm会出现:-bash: /bin/rm: 参数列表过长,的错误。

这时可以用find命令来结合使用。

linux批量操作时提示Argument list too long解决方法(linux批量操作工具)

例:1、rm * -rf 改为:find . -name "*" | xargs rm -rf '*' 就行了。

2、rm test* -rf 改为:find . -name "test*" | xargs rm -rf "test*"

mv时报参数列表过长,for i in *.m;do mv $i ${i%.m};done于是求助于google,探索过程就省略了,直接说解决方法吧:ls dir1 | xargs -t -I {} mv {} dir2/{}这里的一对大括号是原文给的例子里用的,后来看了参数的用法,其实那对大括号是可以用任意字符串替换的,比如:ls dir1 | xargs -t -I asdf mv asdf dir2/asdf效果和大括号那一版是完全一样的,就是看起来有点儿不严肃。需要说明的是,上面xargs的第二个参数,是大写的i,读作”爱“的那个字母,不是小写的L。至于参数的含义嘛,我忘了。

Linux下 报错“命令参数列表过长”,在用mv命令一次移动3万多个文件时失败了,原始命令类似这样:”mv $(ls dir1) dir2“。错误提示的中心思想是:”你这参数也太TM多了吧“。按照LZ想法大概可以这么做:find /dir1/ -maxdepth 1 | xargs -i mv {} /dir2/如果参数过长,使用tar比较简单tar -C /dir1/ -cf-. | tar -xf--C /dir2/

  于是求助于google,探索过程就省略了,直接说解决方法吧:  ls dir1 | xargs -t -I {} mv {} dir2/{}  这里的一对大括号是原文给的例子里用的,后来看了参数的用法,其实那对大括号是可以用任意字符串替换的,比如:  ls dir1 | xargs -t -I asdf mv asdf dir2/asdf  效果和大括号那一版是完全一样的,就是看起来有点儿不严肃。  需要说明的是,上面xargs的第二个参数,是大写的i,读作”爱“的那个字母,不是小写的L。至于参数的含义嘛,我忘了。

另外4种方法作为一个linux用户/系统管理员, 有些时候你会遇到以下错误提示:

[user@localhost foo]$ mv * ../foo2bash: /bin/mv: Argument list too long

“Argument list too long”参数列表过长错误经常发生在用户在一行简单命令中提供了过多的参数而导致,经常在ls *, cp *, rm * 等中出现。根据问题的原因以下提供了四种方法,可以根据自己的情况酌情选用方法1 : 将文件群手动划分为比较小的组合e.g 1:

[user@localhost foo]$ mv [a-l]* ../foo2[user@localhost foo]$ mv [m-z]* ../foo2

这是最基本的方法,只是简单的使参数数量符合要求,这种方法应用范围有限,只适用于文件列表中的名字分布比较均匀,另外这也是个初级用户可以考虑的解决方案,不过需要很多重复命令和对文件名分布的观察与猜测。

方法2 : 使用find命令e.g 2:

[user@localhost foo]$ find $foo -type f -name '*' -exec mv {}$foo2/. \;方法2通过find命令,将文件清单输出到mv命令,使其一次处理一个,这样就完全避免了过量参数的存在,另外通过不同的参数,可以指定除了名称以外的时间戳,权限,以及inode等匹配模式。方法2的缺点在于比较耗费时间。

方法3 : 创建shell函数e.g 3.1:

function huge_mv (){whileread line1; domv foo/$line1 ../foo2done}ls -1 foo/ | huge_mv写一个shell函数并不涉及到某种程度的复杂性, 这种方法比方法1和方法2相比更加灵活。

下面我们来扩展一下例3.1 :e.g 3.2:

function huge_mv (){whileread line1; domd5sum foo/$line1 >> ~/md5sumsls -l foo/$line1 >> ~/backup_listmv foo/$line1 ../foo2done}ls -1 foo/ | huge_mv

相比例3.1,例3.2生成了文件的md校验散列文件和名字备份,符合给自己留条后路的哲学。另外可以根据自己的需要无限制的扩展功能。

方法4 : 终极解决方案,重新编译内核首先使用这个方案之前要谨慎,因为涉及到修改内核源代码,在生产环境中还是要斟酌一下并做好测试。另外,这个方法是从根本上解决的,一劳永逸的 这也是开放源码的好处之一 首先在内核源码中找到 include/linux/binfmts.h文件 ,搜索到以下字段:/** MAX_ARG_PAGES defines the number of pages allocated for arguments* and envelope for the new program. 32 should suffice, this gives* a maximum env+arg of 128kB w/4KB pages!*/#define MAX_ARG_PAGES 32修改 MAX_ARG_PAGES数值为 64 或者更高即可完善的解决参数受限问题。然后 重新编译并启用新内核即可。

本文链接地址:https://www.jiuchutong.com/zhishi/269201.html 转载请保留说明!

上一篇:苹果14promax电池多少毫安(苹果14promax电池掉电很快)

下一篇:打不开文件夹选项(文件夹不能打开没有反应)

  • 三星watch4怎么遥控拍照(三星watch如何连接手机)

    三星watch4怎么遥控拍照(三星watch如何连接手机)

  • 华为matex和matexs区别在哪里

    华为matex和matexs区别在哪里

  • 红米k30和小米10的区别(红米k30和小米10pro哪个好)

    红米k30和小米10的区别(红米k30和小米10pro哪个好)

  • 华为如何自定义图标(华为如何自定义手机壁纸)

    华为如何自定义图标(华为如何自定义手机壁纸)

  • 人脸识别解除微信红包异常(解除微信人脸识别登录)

    人脸识别解除微信红包异常(解除微信人脸识别登录)

  • 华为手机怎样把歌曲设置为手机铃声(华为手机怎样把照片传到电脑)

    华为手机怎样把歌曲设置为手机铃声(华为手机怎样把照片传到电脑)

  • 退出课后网会被监控吗(退出课程)

    退出课后网会被监控吗(退出课程)

  • b站如何打开青少年模式(b站怎么打开青少年模式)

    b站如何打开青少年模式(b站怎么打开青少年模式)

  • 腾讯会议录制屏幕没有声音(腾讯会议录制屏幕会录到什么)

    腾讯会议录制屏幕没有声音(腾讯会议录制屏幕会录到什么)

  • 骁龙660相当于麒麟多少(骁龙660相当于麒麟659)

    骁龙660相当于麒麟多少(骁龙660相当于麒麟659)

  • 抖音右下角出现好友头像啥意思(抖音右下角出现好友头像和私信是什么意思)

    抖音右下角出现好友头像啥意思(抖音右下角出现好友头像和私信是什么意思)

  • 电脑怎么切屏(电脑怎么截长屏 就是滚动截屏怎么截)

    电脑怎么切屏(电脑怎么截长屏 就是滚动截屏怎么截)

  • 微信obj虚框啥意思(微信obj虚框啥意思,如何解决)

    微信obj虚框啥意思(微信obj虚框啥意思,如何解决)

  • 微信名改了怎么还显示以前的(微信名改了怎么找到这个人)

    微信名改了怎么还显示以前的(微信名改了怎么找到这个人)

  • 300兆宽带要用什么网线(300兆宽带要用什么路由器)

    300兆宽带要用什么网线(300兆宽带要用什么路由器)

  • 复位键是哪个(飞车复位键是哪个)

    复位键是哪个(飞车复位键是哪个)

  • 淘宝客怎么关闭掉(淘宝客怎么关闭掉 千牛)

    淘宝客怎么关闭掉(淘宝客怎么关闭掉 千牛)

  • 电脑显示信号无输入怎么办(电脑显示信号无输入是什么意思)

    电脑显示信号无输入怎么办(电脑显示信号无输入是什么意思)

  • vivo手机双卡设置步骤(vivo手机双卡设置在哪个里面)

    vivo手机双卡设置步骤(vivo手机双卡设置在哪个里面)

  • qq聊天时名字旁边的耳朵是什么(qq聊天名字后面的图标是什么)

    qq聊天时名字旁边的耳朵是什么(qq聊天名字后面的图标是什么)

  • 拼多多备注在哪里啊(拼多多备注在哪里怎么备注)

    拼多多备注在哪里啊(拼多多备注在哪里怎么备注)

  • pptv怎么上传视频

    pptv怎么上传视频

  • 大型打印机怎么使用(大型打印机怎么开机)

    大型打印机怎么使用(大型打印机怎么开机)

  • qq闺蜜关系怎么绑定(qq闺蜜关系怎么调日期)

    qq闺蜜关系怎么绑定(qq闺蜜关系怎么调日期)

  • 苹果官网取消订单微信退款大致所需时间(苹果官网取消订单为啥不退款)

    苹果官网取消订单微信退款大致所需时间(苹果官网取消订单为啥不退款)

  • spring boot是什么(spring boot干什么的)

    spring boot是什么(spring boot干什么的)

  • “讲述人”功能(讲述人功能怎么关闭)

    “讲述人”功能(讲述人功能怎么关闭)

  • 企业自建房产缴契税吗
  • 外资企业内资企业
  • 汇算清缴加计扣除表
  • 水利建设专项基金的税率
  • 公司向法人借款会计分录
  • 滞纳金按年怎么算
  • 第二季度纳税申报
  • 个税隔一个月没申报这个月可以补上吗
  • 公司业务章需要报备吗
  • 结转应收票据是什么意思
  • 专项附加扣除的钱去哪里了
  • 以前借款没做账现在收回来怎么做账务处理?
  • 提取的生产企业安全费如何记帐
  • 搬运费计入
  • 企业事故赔偿支出可以抵税吗
  • 农业公司没发票可以入账吗
  • 盐酸编号
  • 增值税进项抵扣期限及认证期限
  • 收到商业承兑汇票怎么兑现
  • 小规模季度划分
  • 最新土地增值税实施细则
  • 母子公司之间支付的租赁费可以税前扣除么
  • 上月开的发票本月作废怎么处理
  • 银行承兑汇票没有提示付款
  • 个贷系统平帐专户A贷
  • 促销费影响主营利润吗
  • 企业股权融资方式有哪些
  • 适用加计抵减政策的行业
  • 详谈php编码转换过程
  • 电脑开机显示怎么取消?
  • 其他业务收入怎么申报增值税
  • PHP:session_set_save_handler()的用法_Session函数
  • 购入工程物资用于建设厂房,购入后直接领用至工程项目
  • php获取useragent
  • google谷歌浏览器下载电脑版
  • 发行股票溢价计入哪里
  • 销售发票重复开,库存商品怎么处理?
  • 影响安全库存的因素包括
  • 不动产售后回租如何处理
  • PHP:imagecreatefrompng()的用法_GD库图像处理函数
  • 长期股权投资成本法收回投资
  • 企业工商年检什么意思
  • thinkphp框架结构
  • 确认收入需要哪些资料
  • 如何修改python
  • vue区别
  • 遍历队列中所有数据元素
  • 信用卡收款怎么查询
  • 现金销售商品的会计分录
  • 企业注销前的账务处理
  • mongodb连接数
  • 机关党建经费提取比例
  • 什么是国有划拔土地私房
  • 职工短期薪酬包括哪些
  • 个体户能不能变更地址
  • 母公司处置子公司合并报表
  • 核定征收和查账征收报税有区别吗
  • 建行E信通贴现需要发票吗
  • 关联方资金往来是否收取利息
  • 公司试驾车怎么开票
  • 材料自产自销的会计科目
  • 本年利润的借方科目
  • 如何调整以前年度错账
  • 如何设置固定资产的部门对应这就
  • mysql 5.6.26 winx64安装配置图文教程(一)
  • centos7.9命令
  • win7怎么隐藏我的电脑
  • debian系统
  • linux监视内存详细信息命令
  • win7怎么更改电脑名字
  • win7系统防火墙无法关闭
  • win10启动提示
  • js立即执行函数几种写法
  • javascript中常见的数据类型有哪些?
  • 发票一年可以开多少
  • 进项票当月认证怎么操作
  • 新疆12366网上办税
  • 进口小麦关税税率是多少
  • 中牟地税局电话
  • 地税纳税申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设