TGViewer
Linux Linux @linuxchmod · 2.48K subscribers
Post #322 919
Скрипты оболочки и конвейер (Pipe)

Конвейер (pipe) — один из самых мощных инструментов в shell-скриптинге. Он позволяет передавать данные от одной команды к другой. Однако его часто используют неэффективно.

Многие думают, что конвейер просто передаёт вывод одной команды в другую:
1. Первая команда создаёт вывод.
2. Конвейер передаёт его во вход второй команды.
3. Вторая команда получает вход.

Но на самом деле процесс сложнее:
1. Первая команда создаёт вывод.
2. Конвейер создаёт FIFO-сегмент в памяти.
3. Данные записываются в FIFO блоками.
4. Вторая команда запускается и получает данные блоками.

Каждый | создаёт новый сегмент памяти и заново запускает команды. Например:


grep A | grep B | grep C

Лучше заменить на:

grep "A.*B.*C"

Так grep запускается один раз, что быстрее и эффективнее.

Как оптимизировать конвейеры?
- Изучите параметры команд (egrep, gawk и др.), чтобы не передавать данные лишний раз.
- Обрабатывайте данные перед циклами (sed, awk).
- Используйте встроенные функции Bash.

Что делать, если без конвейера не обойтись?
Используйте именованный конвейер (Named Pipe), чтобы избежать повторного создания памяти:


mkfifo my_pipe
cat my_pipe &
echo "данные" > my_pipe


Это особенно полезно в больших скриптах.

👉@linuxchmod
  • 👍 3
  • 🤔 1
More from @linuxchmod
  1. Oct 5, 2026Шпаргалки по Linux 📲 Мы в Max 👉 @linuxchmod
  2. Oct 1, 2026Организация рабочего места на балконе 📲 Мы в Max 👉 @linuxchmod
  3. Sep 30, 2026Подборка вопросов для подготовки к собеседованию Что такое линк? Перечислите 7 уровней мод…
  4. Sep 28, 2026RAID-массивы - восстановление данных Технологии Raid массивов. Что делать, если из raid ма…
  5. Sep 23, 2026Как посмотреть пароли от Wi-Fi к которым вы подключались (для Windows) ОС хранит данные пр…
  6. Sep 22, 2026Основные задания cron в Linux 📲 Мы в Max 👉 @linuxchmod
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →