Обычный символ "пайп" (|) в терминале Linux может кардинально изменить то, как вы работаете в системе. Передавая вывод одной команды в другую, вы буквально собираете мощные инструменты из простых элементов — часто с результатами, которые удивляют.
Если вы ещё не освоили все возможности пайпов или хотите применить их в деле, обязательно посмотрите на эти практичные и эффективные примеры.
grep | less
Молниеносный поиск и удобный просмотр результатов
Команда grep часто выдаёт тонны строк, особенно при работе с регулярными выражениями. Например, grep '[Qq]' /usr/share/dict/words вернёт столько совпадений, что они не поместятся на экране:
Чтобы легко просматривать большие выводы, используйте программу-пейджер. grep сам по себе этого не умеет, но с помощью пайпа его вывод можно передать в less и пролистывать результат страницами:
tail | grep
Фильтруй логи в реальном времени — только нужные строки!
tail отлично подходит для просмотра последних строк файла, например, журнала событий. С опцией -f команда будет следить за изменениями и показывать новые строки на лету — идеально для анализа логов вроде access.log веб-сервера:
Часто бывает нужно среди потока логов найти что-то конкретное: сообщение, код или адрес. Тут спасает связка tail -f файл | grep шаблон.
Запомните: если поменять команды местами (grep | tail -f), пайплайн сразу завершится, потому что tail не подслеживает вывод других программ в “живом” режиме.
history | grep
Мгновенный поиск любой команды из вашей истории
С помощью history легко вспомнить, что именно вы запускали раньше. Обычно в bash сохраняется примерно 500 последних команд, а при желании — и больше.
Чтобы быстро найти команду по ключевому слову, просто отправьте вывод history через grep — и сразу получите только нужные строки.
sort | uniq
Считаем уникальные значения за пару секунд
Дуэт sort и uniq позволяет моментально анализировать огромные списки. uniq оставляет только уникальные строки, а флаг -c еще и подсчитывает их количество.
Например, чтобы узнать, сколько раз какой IP-адрес заходил на сайт: сначала cut вырезает IP из access.log Apache, потом sort всё сортирует, а uniq -c подсчитывает количество вхождений:
В итоге получится удобная статистика:
Laptop With Linux Intel NUC13
Собери свой мини-ПК на базе трёх разных процессоров Intel и выбери нужный дистрибутив Linux из огромного списка.
df | tee
Посмотреть и сразу сохранить отчёт о дисках
tee — настоящий ас пайплайнов, ведь он отправляет полученные данные не только на экран, но и в файл (или даже в несколько файлов).
Обычно для сохранения используют перенаправление:
Но такой подход не показывает результат на экране и не позволяет передавать его другим командам:
С tee вы сможете видеть результат прямо в терминале и параллельно сохранять его в файл:
Можно указать сразу несколько файлов для записи.
Например, если хотите узнать, сколько свободного места на дисках командой df и не потерять результат — подключите tee в цепочку. Так у вас всегда будет свежий отчёт и на экране, и в файле.
echo | xargs
Копируй файл сразу в несколько папок за одну команду!
xargs — это такой “умный помощник” пайплайнов, который превращает значения из входящего потока в аргументы другой команды. Именно поэтому xargs легко встретить в составе многих цепочек.
Обычно xargs разбивает входные значения по пробелам и подставляет каждое как отдельный аргумент. С опцией -n можно запускать команду для каждого аргумента по очереди — особенно удобно, если cp не может скопировать файл сразу в несколько папок напрямую.
В результате каждый запуск cp копирует файл в одну папку — и все нужные директории его получают.
curl | jq
Красивый вывод и удобная фильтрация данных из веб-API
Если вы тащите объёмные JSON-ответы через curl, читать их сплошняком не очень удобно:
Для красоты и фильтрации берите jq — универсальный процессор JSON прямо из командной строки. Самое простое — вывести объект с форматированием и подсветкой через оператор .:
С помощью фильтров jq за пару секунд можно вытянуть только нужные поля. Например, получить свойство fact и подсчитать количество символов — просто и удобно.
du -sh * | sort -h
Узнай, какие папки и файлы “съедают” твой диск!
du показывает размеры папок и файлов по запросу:
Но сходу разобраться, что забирает больше всего места, сложно. Просто отсортируйте результат через sort!
Подпишитесь на рассылку и получайте ещё больше лайфхаков по Linux-пайплайнам!
Используйте du и sort с параметром -h (человекочитаемый формат — килобайты, мегабайты и прочее):
Даже если размеры записаны не числами, sort -h рассортирует их строго по объёму: мегабайты будут выше килобайт, а гигабайты — выше всех.
date | md5sum
Молниеносная генерация надёжного пароля прямо в консоли
Сам часто пользуюсь этим методом для случайных паролей — быстро, удобно и достаточно надёжно. md5sum превращает любую строку в md5-хэш:
В итоге получаете набор случайных шестнадцатеричных символов — отлично подойдёт не только для паролей, но и, например, для генерации случайных цветов в CSS. Для защиты важных данных всё-таки используйте специальные менеджеры паролей!
Со временем пайплайны станут для вас естественными инструментами!
Поначалу такие связки могут казаться непривычными, но чем чаще вы используете пайпы, тем легче и быстрее будете импровизировать с grep, sort и другими командами “на лету”. Начните с этих примеров — и вы удивитесь, насколько Linux станет удобнее!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru