[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-chto-takoe-paypy-pipes-i-kak-ikh-ispolzovat":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":20,"progress":21,"seo":22},153,"chto-takoe-paypy-pipes-i-kak-ikh-ispolzovat",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Что такое пайпы (pipes) и как их использовать?","**Пайп (`|`)** — это механизм, который соединяет stdout одной команды со stdin другой, создавая конвейер обработки данных.\n\n### Аналогия\n\nПайп — это конвейерная лента на заводе. Каждый станок (команда) делает свою операцию и передаёт результат следующему по ленте. Вместо одного сложного станка — цепочка простых, каждый из которых отлично делает одну вещь. Это ключевой принцип философии Unix.\n\n### Синтаксис\n\n```bash\ncommand1 | command2 | command3\n```\n\n### Практические примеры\n\n```bash\n# Найти Java-процессы\nps aux | grep java\n\n# Подсчитать количество файлов в директории\nls -1 | wc -l\n\n# Отсортировать и убрать дубликаты\ncat access.log | cut -d' ' -f1 | sort | uniq -c | sort -rn | head -10\n# Выведет 10 самых частых IP-адресов из лога\n\n# Поиск по выводу команды\nmvn dependency:tree | grep spring\n\n# Постраничный просмотр длинного вывода\nps aux | less\n\n# Фильтрация и форматирование\ndocker ps | grep -v CONTAINER | awk '{print $1, $2}'\n```\n\n### tee — дублирование потока\n\nКоманда `tee` читает stdin и записывает одновременно в stdout и в файл (как тройник в трубопроводе):\n```bash\n# Записать в файл и показать на экране\nls -la | tee listing.txt\n\n# Дописать в файл (append)\necho \"new line\" | tee -a logfile.txt\n\n# Записать в несколько файлов одновременно\necho \"data\" | tee file1.txt file2.txt file3.txt\n\n# Использование с sudo (распространённый приём)\necho \"127.0.0.1 myapp.local\" | sudo tee -a \u002Fetc\u002Fhosts\n# Почему не \"sudo echo ... >> \u002Fetc\u002Fhosts\"? Потому что перенаправление >>\n# выполняется текущим shell без sudo, и доступа к \u002Fetc\u002Fhosts не будет.\n```\n\n### Пайп для stderr\n\n```bash\n# Передать stderr через пайп (bash 4+)\ncommand |& grep \"ERROR\"\n\n# Классический вариант\ncommand 2>&1 | grep \"ERROR\"\n```\n\n> **На собеседовании:** интервьюер хочет увидеть, что вы умеете комбинировать простые команды в цепочки. Частая ошибка — не знать про `tee` и пытаться одновременно увидеть вывод на экране и сохранить в файл с помощью `>` (что невозможно).","","junior",[15,16,17,18,19],"cli","конвейер","linux","bash","pipe",[],null,{"title":23,"description":24,"ogTitle":25,"ogDescription":26,"keywords":27,"schemaAnswer":35,"featuredSnippetReady":36},"Пайпы (pipes) в Bash: что это и как использовать — Gymterview","Что такое пайпы (pipes) в Linux: оператор |, конвейеры команд, философия Unix. Примеры комбинирования команд через пайпы для обработки данных.","Пайпы (pipes) в Bash — конвейеры обработки данных | Gymterview","Подробный разбор пайпов в Unix\u002FLinux: оператор |, создание конвейеров команд и философия Unix — каждая программа делает одну вещь хорошо.",[28,29,30,31,32,33,34],"пайпы","pipes","конвейер bash","оператор |","pipe linux","философия unix","комбинирование команд","Пайп (|) — механизм, соединяющий stdout одной команды со stdin другой, создавая конвейер обработки данных. Это ключевой принцип философии Unix: каждая программа делает одну вещь хорошо, а для сложных задач программы комбинируются через пайпы.",true]