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

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

  • win10重置后无法输入(Win10重置后无法访问Internet)

    win10重置后无法输入(Win10重置后无法访问Internet)

  • 华为手机出现来源不明的照片(华为手机出现来电闪光灯)

    华为手机出现来源不明的照片(华为手机出现来电闪光灯)

  • 屏幕镜像怎么在转圈(屏幕镜像怎么在电脑上用)

    屏幕镜像怎么在转圈(屏幕镜像怎么在电脑上用)

  • 小米air2只能连接一个(小米air2 se只能连接一个耳机)

    小米air2只能连接一个(小米air2 se只能连接一个耳机)

  • 电脑怎么设置屏保时间(电脑怎么设置屏幕休眠)

    电脑怎么设置屏保时间(电脑怎么设置屏幕休眠)

  • vrchat怎么改模型(vrchat怎么改模型参数)

    vrchat怎么改模型(vrchat怎么改模型参数)

  • 手机卡丢了可以用手机注销嘛(手机卡丢了可以在网上补办吗)

    手机卡丢了可以用手机注销嘛(手机卡丢了可以在网上补办吗)

  • 百家号删除文章的影响(百家号删除文章对账号有影响吗)

    百家号删除文章的影响(百家号删除文章对账号有影响吗)

  • 钉钉子管理员权限有哪些(钉钉子管理员权限申请)

    钉钉子管理员权限有哪些(钉钉子管理员权限申请)

  • iphone7plus外放声音小(iphone7plus外放声音小怎么解决)

    iphone7plus外放声音小(iphone7plus外放声音小怎么解决)

  • 手机掉水里声音变小了(手机掉水里声音很小怎么办)

    手机掉水里声音变小了(手机掉水里声音很小怎么办)

  • oppo一插耳机就放歌(oppo插了耳机没反应)

    oppo一插耳机就放歌(oppo插了耳机没反应)

  • 微信里设为群代办什么意思(微信里设为群代办什么意思?)

    微信里设为群代办什么意思(微信里设为群代办什么意思?)

  • 小米8屏幕指纹版是什么马达(小米8屏幕指纹版换屏幕多少钱)

    小米8屏幕指纹版是什么马达(小米8屏幕指纹版换屏幕多少钱)

  • 显卡gtx什么意思

    显卡gtx什么意思

  • 云充吧可以跨省异地还吗(云充吧可以异地归还吗)

    云充吧可以跨省异地还吗(云充吧可以异地归还吗)

  • 手机刷机图片还在吗(手机刷机后照片还有吗?)

    手机刷机图片还在吗(手机刷机后照片还有吗?)

  • 如何改iphone名字(如何更改苹果名字)

    如何改iphone名字(如何更改苹果名字)

  • 手机卡hd服务收费吗(手机hd是什么意思收费)

    手机卡hd服务收费吗(手机hd是什么意思收费)

  • 苹果手机加密相册在哪(苹果手机 相册 加密)

    苹果手机加密相册在哪(苹果手机 相册 加密)

  • 苹果暗夜模式如何开启(苹果暗夜模式如何关闭)

    苹果暗夜模式如何开启(苹果暗夜模式如何关闭)

  • 微信绑定的手机号不用了怎么找回密码(微信绑定的手机号可以更换吗)

    微信绑定的手机号不用了怎么找回密码(微信绑定的手机号可以更换吗)

  • 微博怎么发长文(微博怎么发长文字)

    微博怎么发长文(微博怎么发长文字)

  • 如何使用 iPhone 制作身份证扫描件(如何使用iPhone14pro Max的灵动岛)

    如何使用 iPhone 制作身份证扫描件(如何使用iPhone14pro Max的灵动岛)

  • vue使用jsMind(思维导图)(vue 使用js)

    vue使用jsMind(思维导图)(vue 使用js)

  • vue长列表优化之虚拟列表实现(vue 长列表优化)

    vue长列表优化之虚拟列表实现(vue 长列表优化)

  • 【react从入门到精通】初识React(react 入门教程)

    【react从入门到精通】初识React(react 入门教程)

  • taskset命令  绑定进程与CPU核心(taskset 绑定cpu)

    taskset命令 绑定进程与CPU核心(taskset 绑定cpu)

  • 账面价值与计税基础一般会产生差异的是
  • 开普票需要交税多少
  • 吸收合并和新设合并
  • 销售旧货的增值税税率
  • 对公账户是不是实时到账
  • 个人独资企业租赁收入如何纳税
  • 利润表本期金额怎么算
  • 汇票贴现的账务处理
  • 长期股权投资减值准备
  • 资产减值损失转回的账务处理
  • 收财务拨款的贷款合法吗
  • 收到展会补贴账务处理
  • 以前年度已交增值税额
  • 对外支付增值税扣缴义务发生时间
  • 收入确认和发票的区别
  • 固定资产备案怎么备案
  • 个体工商户个税减免优惠政策
  • 普通发票开票步骤
  • 建筑业增值税专票抵扣后的税点是多少
  • 印花税销售收入按50%计算征收
  • 金税四期再出新公告
  • 实收资本里的钱怎么做账
  • 工资年终奖金扣多少税
  • 地毯属于什么类别垃圾分类
  • 其他资金账簿和资产账簿
  • 冲减管理费用的会计分录
  • 服务成本怎么处理
  • 附有退货条款的销售
  • 股票以公允价值计量
  • vue中使用gojs
  • vue路由点击没反应
  • flex布局使用
  • 上市公司分红派股
  • php获取ipv6地址
  • php array_reverse 以相反的顺序返回数组实例代码
  • 利用php实现一个数组
  • 自动生成尺寸
  • uniapp开发常用案例
  • pytorch 例子
  • eltable数据多 卡
  • 审计招标费包含哪些内容
  • 接待客人发生的事故
  • 合同资产要结转增值税吗
  • 形成固定资产的主要手段是
  • SQLITE3 使用总结
  • 生产性资金性质
  • 管理费用和研发费用的关系
  • 应税项目和非应税项目分类
  • 水电费的会计分录
  • 企业注销资本公示时间
  • 收购发票如何确认成本
  • 挂靠别人公司税怎么交?
  • 事业单位会计的特点
  • 城乡居民死亡后需要办理什么手续
  • 收据大写后面的字怎么写
  • 货款还没收到有违法所得吗
  • 专家咨询费支付标准
  • linux下安装mysql简单的方法
  • fedora修改ip地址
  • windows10点击任务栏没有反应
  • windows8whql
  • 64位的ubuntu15.04怎么安装WPS?
  • nerosvc.exe - nerosvc是什么进程 有什么用
  • linux录屏软件安装
  • win7系统升级win10教程
  • 安装怎么弄
  • Win8如何根据需要自定义文件管理器导航窗格
  • js原生实现ajax
  • js创建类对象的方法
  • Android与OpenCV2.4.4(2013最新)搭建图像处理框架
  • opengl编程实例
  • Node.js中的全局变量有哪些
  • angularjs4
  • unityc#脚本
  • Jquery $when done then的用法详解
  • 税务稽查协查管理办法 国家税务总局
  • 开量贩ktv一年能赚多少
  • 廉租房取消之后有什么补贴
  • 电子税务局第一次申请发票流程
  • 江苏省税务局授权网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设