ℹ️ Когда нужно параллельно запускать множество команд (например, при работе с файлами, виртуальными машинами или контейнерами), GNU Parallel значительно ускорит процесс. Это утилита, которая позволяет запускать команды параллельно и управлять ими, делая их более эффективными.
🔥 Пример использования:
🖥 Допустим, у вас есть список серверов, на которых нужно выполнить команду, и вы хотите избежать последовательного выполнения. Вместо написания скрипта в цикле, используйте parallel:
cat servers.txt | parallel -j 4 ssh user@{} 'hostname && uptime'
ℹ️ Описание аргументов:
- •
-j 4– количество параллельных задач (например, 4 одновременные сессии) - •
{}– заполнитель для текущей строки из servers.txt
📂 Пример для обработки файлов:
Допустим, у вас есть папка с большим количеством файлов, которые нужно сжать:
ls *.log | parallel gzip
ℹ️ Каждый файл будет сжиматься одновременно, не дожидаясь завершения предыдущего, и вы сами можете задать нужное количество параллельных процессов. Используйте -j +0, чтобы запустить столько процессов, сколько доступно CPU.
✳️ Преимущества GNU Parallel: он не только прост в использовании, но и помогает ощутимо ускорить выполнение задач, когда каждую задачу можно выполнять независимо от других.
tags: #полезно #bash #linux
🧭 @recura_tech



