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

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

  • ie网页怎么创建桌面快捷方式(ie浏览器怎么添加网页)

    ie网页怎么创建桌面快捷方式(ie浏览器怎么添加网页)

  • 三星手机通话录音在哪里能找到(三星手机通话录音怎么找到)

    三星手机通话录音在哪里能找到(三星手机通话录音怎么找到)

  • 华为手机怎么设置不唤醒智慧语音助手(华为手机怎么设置锁屏壁纸)

    华为手机怎么设置不唤醒智慧语音助手(华为手机怎么设置锁屏壁纸)

  • 钉钉文件怎样发送到QQ上(钉钉文件怎样发送给微信好友)

    钉钉文件怎样发送到QQ上(钉钉文件怎样发送给微信好友)

  • 美团高级水壶有什么用(美团高级水壶怎么拿)

    美团高级水壶有什么用(美团高级水壶怎么拿)

  • 华为打开软件后屏幕变暗(华为打开软件后怎么退出)

    华为打开软件后屏幕变暗(华为打开软件后怎么退出)

  • 电脑打印需要下载什么软件(电脑打印需要下什么驱动)

    电脑打印需要下载什么软件(电脑打印需要下什么驱动)

  • 手机关机键没有反应怎么办(手机关机键没有声音)

    手机关机键没有反应怎么办(手机关机键没有声音)

  • 拼多多拼单要几个人(拼多多拼单要几个人拼才算拼成功)

    拼多多拼单要几个人(拼多多拼单要几个人拼才算拼成功)

  • 笔记本电脑以太网网络电缆被拔出是什么意思(笔记本电脑以太网不见了怎么办)

    笔记本电脑以太网网络电缆被拔出是什么意思(笔记本电脑以太网不见了怎么办)

  • w10安全模式退出后无法上网(w10安全模式退出来就没有网了)

    w10安全模式退出后无法上网(w10安全模式退出来就没有网了)

  • 苹果6的屏幕和6s的屏幕通用吗(苹果6的屏幕和6的屏幕通用吗)

    苹果6的屏幕和6s的屏幕通用吗(苹果6的屏幕和6的屏幕通用吗)

  • 无人机起飞向一侧偏(无人机起飞向一侧偏怎么办)

    无人机起飞向一侧偏(无人机起飞向一侧偏怎么办)

  • 乐视手机怎么导入号码(乐视手机怎么导出照片到另一个手机)

    乐视手机怎么导入号码(乐视手机怎么导出照片到另一个手机)

  • 美团怎么设置限购2份(美团怎么设限购)

    美团怎么设置限购2份(美团怎么设限购)

  • 无互联网连接是怎么回事(无互联网络链接怎么回事)

    无互联网连接是怎么回事(无互联网络链接怎么回事)

  • 农村淘宝怎么切换家乡版(2020农村淘宝怎么切换)

    农村淘宝怎么切换家乡版(2020农村淘宝怎么切换)

  • 刷宝为什么提现失败(刷宝为什么提现不出来)

    刷宝为什么提现失败(刷宝为什么提现不出来)

  • qq16级是什么标志(qq十六级)

    qq16级是什么标志(qq十六级)

  • 手机怎么给图片加水印(手机怎么给图片改名)

    手机怎么给图片加水印(手机怎么给图片改名)

  • MAC OS X Lion启动U盘制作和使用U盘安装系统图文教程(macos usb启动)

    MAC OS X Lion启动U盘制作和使用U盘安装系统图文教程(macos usb启动)

  • Win11怎么关闭系统通知?Win11关闭系统通知方法(win11怎么关闭系统自动更新)

    Win11怎么关闭系统通知?Win11关闭系统通知方法(win11怎么关闭系统自动更新)

  • Promise的九大方法(resolve、reject、then、catch、finally、all、allSettled、race、any)你都用过那些?(promise的几种状态)

    Promise的九大方法(resolve、reject、then、catch、finally、all、allSettled、race、any)你都用过那些?(promise的几种状态)

  • 超过小规模纳税人
  • 税负统计口径
  • 契税完税凭证是不是契税发票
  • 股份有限公司董事会决议必须经过
  • 合并报表逆流抵消
  • 企业罚职工的钱违法吗?
  • 银行转账支付计入什么科目
  • 社保缴费是当月扣当月的吗
  • 股权投资收回的账务处理
  • 个体工商户网上注销
  • 企业房产税每年交几次
  • 一般纳税人留底税额抵减欠缴税额
  • 个税和社保基数不一致会影响上海落户吗
  • 包装纸箱属于原材料吗
  • 土地置换账务处理流程
  • 其他应收款账户期初借方余额为35400
  • 合伙企业是否需要缴纳增值税
  • 收到公众号申请的小额打款认证怎么入账?
  • 以前购买的固定资产现在入账
  • 非营利组织对外捐赠
  • 固定资产报废残料收入的账务处理
  • 计提费用的时候可以计提税金吗
  • 出口退税远程申报
  • 公司费用种类
  • 增值税发票系统金税盘发票怎么抵扣
  • 耕地占用税与土地出让金
  • 办税员不能领用发票是怎么回事
  • 非居民企业怎么算企业所得税
  • 安装服务需要预缴税款吗
  • 小型微利企业普惠性税收减免政策执行期限
  • 购进商品是什么会计科目
  • 外贸 代理
  • 收到财政厅的补助怎么办
  • 国家占耕地补偿款给谁?
  • 会计实务中计提是什么意思
  • 增值税发票红冲后税款怎么办
  • 支付赊购材料款怎么入账
  • 当人力资源短缺时,用什么方法增加人力资源?
  • 非货币性资产交换是企业经常发生的
  • 账龄分析法计提比例
  • 债务重组利得计入其他收益还是营业外收入
  • php多文件上传代码
  • php wechat
  • 关于我和鬼变成家人的那件事
  • 原材料暂估入库成本结转处理
  • 上年度的企业所得税汇算清缴怎么查询
  • java守护线程和普通线程jvm区别
  • 未分配利润用于扩大再生产
  • 基于法律行为的物权变动模式包括
  • 公司自用咖啡机怎么处理
  • 托盘入账哪个科目最好
  • 免交增值税应该计入什么科目
  • 印花税的特点是
  • sql server中事务有哪三种语句
  • 财务软件在建立账套功能中提供了
  • 报表中的存货是什么
  • 机动车统一发票怎么开
  • 职工教育经费调增
  • 股东股权转让印花税 公司承担
  • rhel7.2安装
  • windows下怎么安装mac
  • Ubuntu Linux 7.04QQ、MSN 安装和使用方法
  • os x10.11el capitan beta2下载地址
  • 无法打开文件exe
  • nmstt.exe - nmstt是什么进程 有什么用
  • win7系统电脑打开的软件闪退怎么办
  • 升级win10后c盘满了
  • Extjs 4.x 得到form CheckBox 复选框的值
  • c/s模式的例子
  • 批处理常用命令总结
  • android基础教程
  • javascript总结笔记
  • python自动化验证码
  • django优势在哪里
  • jq获取复选框选中的值
  • 华为领导班子成员名单
  • 拼多多发票哪里申请开票
  • 税务税收预测
  • 小汽车碰撞游戏视频
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设