kaisawind's blog
  • 关于
  • 所有帖子

linux多次执行指令 - Fri, Jan 12, 2024

linux多次执行指令

linux多次执行指令

问题描述

需要在Linux中多次执行相同的命令。

解决方法

方法1:使用for循环

for i in {1..10}; do
    ls
done

方法2:使用seq

seq 10 | xargs -n 1 ls

方法3:使用find + exec

find . -name "*.txt" -exec ls {} \;

方法4:使用parallel

# 安装parallel
sudo apt-get install parallel

# 并行执行
parallel ls ::: dir/*.txt

方法5:使用xargs

# 生成命令
for i in {1..100}; do echo "ls"; done > commands.txt

# 并行执行
xargs -P 4 < commands.txt

性能对比

方法优点缺点
for循环简单顺序执行
seq简洁需要生成序列
find + exec功能强大对特殊文件名需要转义
parallel真正并行需要额外安装
xargs并行可控需要生成命令文件

最佳实践

  1. 小量任务:使用for循环即可
  2. 大量任务:使用parallel或xargs
  3. 文件操作:使用find + exec
  4. 监控进度:使用echo或pv显示进度


辽ICP备2021007608号 | © 2026 | kaisawind

Facebook Twitter GitHub