首页/系统/Linux 运维命令速查/xargs 把输入变成命令行参数
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

xargs 把输入变成命令行参数

把标准输入的每行/每段变成命令参数:-n 每批数量、-I 占位替换、-P 并行、-0 配合 find -print0。

Linux 运维命令速查系统更新于 2026-10-12
用途批量构造命令参数并执行
语法命令 | xargs [选项] 目标命令
选项-n 每批个数 -I{} 替换 -P 并行 -r 空输入不跑 -t 显示命令

常用示例

常用示例
find . -name '*.log' -print0 | xargs -0 -r gzip -9
cat urls.txt | xargs -n 1 curl -sO          # 逐个下载
cat list.txt | xargs -I{} cp {} /backup/    # 占位替换
find . -name '*.tmp' -print0 | xargs -0 -P4 -n 20 rm -f
tar -czf pics.tar.gz $(ls *.jpg | xargs)    # 慎用:名字含空格即翻车
xargs 默认解析引号与空白,文件名含空格就会拆错;和 find 组合必须 -print0 配 -0。

易错点

  • 不加 -0 时输入里的单双引号会被解释,恶意文件名甚至能注入命令——不可信来源加 -0/-d
  • 空输入时 GNU xargs 默认仍执行一次目标命令(无参),加 -r 避免误触发

数据来源与参考

  • man 1 xargs(GNU findutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌