位置: 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电池掉电很快)

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

  • 目前进行微博营销过程存在哪些问题?(微博营销以什么作为营销平台,每一个什么都是)

    目前进行微博营销过程存在哪些问题?(微博营销以什么作为营销平台,每一个什么都是)

  • oppo R15手机怎么截长图(oppor15手机怎么录屏)

    oppo R15手机怎么截长图(oppor15手机怎么录屏)

  • ppt主题颜色怎么设置(ppt主题颜色怎么重置)

    ppt主题颜色怎么设置(ppt主题颜色怎么重置)

  • 电子邮件地址怎么写苹果(电子邮件地址怎么弄?)

    电子邮件地址怎么写苹果(电子邮件地址怎么弄?)

  • 抖音直播不显示音浪(抖音直播不显示聊天信息)

    抖音直播不显示音浪(抖音直播不显示聊天信息)

  • 有线网络的传输线路有哪些(有线网络的传输介质有哪些各有什么特点)

    有线网络的传输线路有哪些(有线网络的传输介质有哪些各有什么特点)

  • 从微信群里退出群里会有显示吗(从微信群里退出来群主知道吗)

    从微信群里退出群里会有显示吗(从微信群里退出来群主知道吗)

  • 呼叫转移是什么意思(无条件呼叫转移是什么)

    呼叫转移是什么意思(无条件呼叫转移是什么)

  • 微信更换实名认证是不是就是新号了(微信更换实名认证有什么影响吗?)

    微信更换实名认证是不是就是新号了(微信更换实名认证有什么影响吗?)

  • 华为p40pro屏幕不贴膜可以吗(华为p40pro换屏)

    华为p40pro屏幕不贴膜可以吗(华为p40pro换屏)

  • iPhone8p长度(苹果8p手机的长度)

    iPhone8p长度(苹果8p手机的长度)

  • miui12是安卓11吗(miui12是不是安卓11)

    miui12是安卓11吗(miui12是不是安卓11)

  • 手机能连无线网电脑连不上(手机能连无线网卡上网吗)

    手机能连无线网电脑连不上(手机能连无线网卡上网吗)

  • 淘宝里收藏的视频在哪里(淘宝里收藏的视频)

    淘宝里收藏的视频在哪里(淘宝里收藏的视频)

  • 苹果11充电时间(苹果11充电时间长说有水)

    苹果11充电时间(苹果11充电时间长说有水)

  • 华为cun一al00是什么型号(华为cun-al00)

    华为cun一al00是什么型号(华为cun-al00)

  • 小米mix2s支持pd快充吗(小米mix2s支持磁吸充电吗)

    小米mix2s支持pd快充吗(小米mix2s支持磁吸充电吗)

  • 怎么查看下单时的备注(怎么查看下单时购买记录)

    怎么查看下单时的备注(怎么查看下单时购买记录)

  • oppo手机怎么定位对方手机(oppo手机怎么定位对方的手机所在位置)

    oppo手机怎么定位对方手机(oppo手机怎么定位对方的手机所在位置)

  • vivo手机怎么隐藏下载的应用(vivo手机怎么隐藏下面三个键)

    vivo手机怎么隐藏下载的应用(vivo手机怎么隐藏下面三个键)

  • 怎么设置airpods的麦克风(怎么设置airpods弹窗)

    怎么设置airpods的麦克风(怎么设置airpods弹窗)

  • 嘿siri无法唤醒(嘿siri无法唤醒是怎么回事)

    嘿siri无法唤醒(嘿siri无法唤醒是怎么回事)

  • 高尔夫app开发怎么做(高尔夫的app)

    高尔夫app开发怎么做(高尔夫的app)

  • Win11如何在Edge中开启IE模式?(microsoft edge怎么改成ie11)

    Win11如何在Edge中开启IE模式?(microsoft edge怎么改成ie11)

  • 联想e430c安装设置u盘启动盘以及bios设置办法图文教程(联想e430安装win7)

    联想e430c安装设置u盘启动盘以及bios设置办法图文教程(联想e430安装win7)

  • 微信小程序隐藏滚动条的方法(微信小程序隐藏航班)

    微信小程序隐藏滚动条的方法(微信小程序隐藏航班)

  • vue 解决问题:Webpack安装不成功,webpack -v无法正常显示版本号(vue中遇到的问题)

    vue 解决问题:Webpack安装不成功,webpack -v无法正常显示版本号(vue中遇到的问题)

  • vgchange命令  修改卷组属性(vget命令)

    vgchange命令 修改卷组属性(vget命令)

  • 企业增值税是什么科目
  • 评估入账几种情况
  • 商品流通企业应收账款的研究
  • 公益事业捐赠的范围是什么
  • 短期借款利息计提分录
  • 可供出售金融资产和长期股权投资
  • 农产品一般纳税人开普票免税吗
  • 给个体工商户付款可以到个人账户
  • 个体营业执照从哪里查询
  • 流动资产增幅
  • 商品房空置费
  • 加工费可以开批吗
  • 纳税人从两处取得收入汇算清缴可以扣除2个60000吗
  • 企业购买机械设备是否需要进行过户登记
  • 网络信息化服务中心是干嘛的
  • 合伙制企业交什么税种
  • 公司股权转让应纳税额怎么算
  • 财政返还政策
  • 退股支付的现金流量表怎么填
  • 给单位员工报销电话费怎么做账务处理
  • 收到投资款怎么做记账凭证
  • 清算期间企业所得税申报期限
  • 如何免费获取网页文字
  • cpu天梯图2022最新排行榜
  • u盘ghost下载
  • 绝地求生未来之役手游下载
  • 仓库库存周转率高
  • Win10专业版网络连接不上
  • PHP:Memcached::get()的用法_Memcached类
  • gain_trickler_3202.exe 进程查询 gain_trickler_3202进程是什么文件
  • 增值税发票作废后还能查到吗
  • 税法工资薪金总额
  • 存货的原材料分析
  • vue3刷新组件
  • vue中遇到的问题
  • php中的九大缓存技术
  • 小规模纳税人开专票需要交税吗
  • 物流公司挂靠会计处理
  • 长期应付款核算范围有哪些
  • diff命令参数
  • 旅行社代订酒店如何入账
  • phpcms如何配置404
  • 每个季度30万免增值税
  • 原材料入库单价20000出库单价800000
  • percona-toolkit之pt-kill 杀掉mysql查询或连接的方法
  • 滴滴打车开具的普通发票可以抵扣吗
  • 小微企业免税销售额怎么填
  • 高速公路过路费可以抵扣进项税吗
  • 买家退货少了犯什么法
  • 用于研发样品出口收汇国际收支申报
  • 如果收到现金抵押怎么办
  • 限定性净资产的例子有哪些
  • 房屋租赁账务如何做分录
  • 填制凭证出现的问题
  • MS-SQL Server 2005 其中三个版本的比较
  • mysql删除数据库用户
  • sqlserver 统计sql语句大全收藏
  • win10音量调节不显示
  • ubuntu注册用户
  • Ubuntu操作系统安全维护
  • win8系统版本
  • 联想笔记本从U盘启动
  • U盘安装centos 7出现unknown chipset
  • win10录音机不能用
  • 没有启动界面
  • 电脑怎么连接上隐形wi
  • javascript的代码写在哪里
  • 提高网页的效率的方法有
  • Python 专题四 文件基础知识
  • ssh远程执行命令返回结果存成本地变量
  • python 列表排序 中文
  • js自定义指令
  • jquery可以实现哪些效果
  • 屏幕模式自适应模式
  • unity ui控件
  • 如何安装python环境安装包
  • 湖南税务发票查询系统查不到外省的发票
  • 如何查到银行
  • 工商年检报告书怎么打印
  • 关于公司纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设