parallel是Linux中用于并行执行命令的高效工具,可通过管道读取输入并利用多核CPU同时处理任务。需手动安装,如Ubuntu用sudo apt install parallel。基本语法为echo -e "file1\nfile2" | parallel echo "Processing {}",其中{}为占位符。常用选项包括-j N控制并发数,:::后接参数列表,-k保持输出顺序,--dry-run预览命令。可结合find、wget等命令实现批量压缩、下载、图像处理等任务,提升自动化效率。

在Linux命令行中,parallel 是一个强大的工具,用于并行执行命令,显著提升处理大量任务时的效率。它可以从标准输入读取数据,将每行作为参数传递给指定命令,并在多个CPU核心上同时运行这些命令。
安装 parallel
大多数发行版默认不安装 parallel,需要手动安装:
# Debian/Ubuntu sudo apt install parallelCentOS/RHEL/Fedora
sudo yum install parallel # CentOS/RHEL
sudo dnf install parallel # Fedora
基本用法
parallel 的基本语法是:将输入通过管道传给 parallel,后者逐行处理并执行命令。
echo -e "file1\nfile2\nfile3" | parallel echo "Processing {}"其中 {} 是占位符,代表输入的每一项。上面命令会输出:
Processing file1 Processing file2 Processing file3常用选项和技巧
parallel 支持多种选项来控制并行行为和输入格式。
- -j N:指定并行任务数。例如 -j 4 表示最多同时运行4个进程
- ::::直接在命令行提供参数列表
- -k:保持输出顺序与输入一致
- --dry-run:预览实际要执行的命令,不真正运行
示例:使用 :::: 提供参数
parallel -j 2 echo "Hello {}" ::: Alice Bob Charlie这会并行执行三条 echo 命令,最多两个同时运行。
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
从文件读取输入:
parallel -a tasks.txt bash run.sh {}等同于 cat tasks.txt | parallel bash run.sh {}
实际应用场景
parallel 特别适合批量处理任务。
- 批量压缩文件:find . -name "*.txt" | parallel gzip
- 并行下载:cat urls.txt | parallel wget -O {}.html
- 图像批量处理:ls *.jpg | parallel convert {} -resize 50% thumb_{}
- 快速测试端口连通性:parallel -j10 echo {} ::: {1..100} | nc -zv example.com
注意:使用 parallel 时要考虑系统负载,避免 -j 设置过大导致资源耗尽。
基本上就这些。掌握 parallel 能大幅提升命令行工作效率,特别适合自动化脚本和数据处理任务。









