Linux中“Argument list too long”解决方法
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. 背景
Linux下使用cp
,mv
,rm
等命令时经常会碰到“Argument list too long”错误,这主要是因为这些命令的参数太长,即文件个数过多。
2. 解决方案
“Argument list too long”这个问题的解决主要会用到两个命令,find
和xargs
。
2.1 问题:要删除test
文件夹下以jpg
结尾的文件。
- 命令1为:
find test/ -name "*.jpg" | xargs -i rm {}
- 命令2为:
find test/ -name "*.jpg" -exec rm {} \;
2.2 问题:要拷贝test
文件夹下以jpg
结尾的文件到train
目录。
- 命令1为:
find test/ -name "*.jpg" | xargs -i cp {} train
- 命令2为:
find test/ -name "*.jpg" -exec cp {} train \;
3. 命令解析
find test/ -name "*.jpg"
是指在test
文件夹下查找名为*.jpg
的文件。
xargs
命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。-i
会将xargs
的内容赋值给{}
。
-exec
参数后面是指执行其后面的命令,-exec
以;
为结尾,由于各个系统中分号的意义不同,因此用\
进行转义,即\;
,{}
会被find
命令的结果替换。
参考资料
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献11条内容
所有评论(0)