9 связок команд, которые взорвут твой опыт в Linux — попробуй их прямо сейчас!

Man using a laptop with a terminal icon on screen, with blurred social media and notification icons in the background.-1

Обычный символ «пайп» (|) в терминале Linux может кардинально изменить то, как вы работаете в системе. Передавая вывод одной команды в другую, вы буквально собираете мощные инструменты из простых элементов — часто с результатами, которые удивляют.

Если вы ещё не освоили все возможности пайпов или хотите применить их в деле, обязательно посмотрите на эти практичные и эффективные примеры.

grep | less

Молниеносный поиск и удобный просмотр результатов

Команда grep часто выдаёт тонны строк, особенно при работе с регулярными выражениями. Например, grep '[Qq]' /usr/share/dict/words вернёт столько совпадений, что они не поместятся на экране:

A screen showing a list of words, one on each line, beginning with the letter "v" and ending with the letter "z."

Чтобы легко просматривать большие выводы, используйте программу-пейджер. grep сам по себе этого не умеет, но с помощью пайпа его вывод можно передать в less и пролистывать результат страницами:

A screen of words, one on each line, all beginning with the letter "a", with a status line at the very bottom reading "lines 1-14."

tail | grep

Фильтруй логи в реальном времени — только нужные строки!

tail отлично подходит для просмотра последних строк файла, например, журнала событий. С опцией -f команда будет следить за изменениями и показывать новые строки на лету — идеально для анализа логов вроде access.log веб-сервера:

The tail command, run with the -f option, showing lines from an apache access log.

Часто бывает нужно среди потока логов найти что-то конкретное: сообщение, код или адрес. Тут спасает связка tail -f файл | grep шаблон.

Запомните: если поменять команды местами (grep | tail -f), пайплайн сразу завершится, потому что tail не подслеживает вывод других программ в “живом” режиме.

history | grep

Мгновенный поиск любой команды из вашей истории

С помощью history легко вспомнить, что именно вы запускали раньше. Обычно в bash сохраняется примерно 500 последних команд, а при желании — и больше.

A list of commands, each printed alongside a unique id number.

Чтобы быстро найти команду по ключевому слову, просто отправьте вывод history через grep — и сразу получите только нужные строки.

sort | uniq

Считаем уникальные значения за пару секунд

Дуэт sort и uniq позволяет моментально анализировать огромные списки. uniq оставляет только уникальные строки, а флаг -c еще и подсчитывает их количество.

Например, чтобы узнать, сколько раз какой IP-адрес заходил на сайт: сначала cut вырезает IP из access.log Apache, потом sort всё сортирует, а uniq -c подсчитывает количество вхождений:

В итоге получится удобная статистика:

A command piping sort to uniq that shows a short list of IP addresses, each with a count alongside it.
Laptop With Linux Intel NUC13.

Laptop With Linux Intel NUC13

Собери свой мини-ПК на базе трёх разных процессоров Intel и выбери нужный дистрибутив Linux из огромного списка.

df | tee

Посмотреть и сразу сохранить отчёт о дисках

tee — настоящий ас пайплайнов, ведь он отправляет полученные данные не только на экран, но и в файл (или даже в несколько файлов).

Обычно для сохранения используют перенаправление:

Но такой подход не показывает результат на экране и не позволяет передавать его другим командам:

A command redirecting its output to a file, with no output shown on screen.

С tee вы сможете видеть результат прямо в терминале и параллельно сохранять его в файл:

A command piped to tee, showing its output on screen.

Можно указать сразу несколько файлов для записи.

Например, если хотите узнать, сколько свободного места на дисках командой df и не потерять результат — подключите tee в цепочку. Так у вас всегда будет свежий отчёт и на экране, и в файле.

echo | xargs

Копируй файл сразу в несколько папок за одну команду!

xargs — это такой “умный помощник” пайплайнов, который превращает значения из входящего потока в аргументы другой команды. Именно поэтому xargs легко встретить в составе многих цепочек.

Обычно xargs разбивает входные значения по пробелам и подставляет каждое как отдельный аргумент. С опцией -n можно запускать команду для каждого аргумента по очереди — особенно удобно, если cp не может скопировать файл сразу в несколько папок напрямую.

В результате каждый запуск cp копирует файл в одну папку — и все нужные директории его получают.

curl | jq

Красивый вывод и удобная фильтрация данных из веб-API

Если вы тащите объёмные JSON-ответы через curl, читать их сплошняком не очень удобно:

A curl command showing JSON-formatted output.

Для красоты и фильтрации берите jq — универсальный процессор JSON прямо из командной строки. Самое простое — вывести объект с форматированием и подсветкой через оператор .:

A curl command piped to jq showing the JSON result formatted with newlines and indents, and syntax highlighting.

С помощью фильтров jq за пару секунд можно вытянуть только нужные поля. Например, получить свойство fact и подсчитать количество символов — просто и удобно.

du -sh * | sort -h

Узнай, какие папки и файлы “съедают” твой диск!

du показывает размеры папок и файлов по запросу:

The du command showing a set of directories with sizes (in blocks) alongside each one.

Но сходу разобраться, что забирает больше всего места, сложно. Просто отсортируйте результат через sort!


Подпишитесь на рассылку и получайте ещё больше лайфхаков по Linux-пайплайнам!

Используйте du и sort с параметром -h (человекочитаемый формат — килобайты, мегабайты и прочее):

Даже если размеры записаны не числами, sort -h рассортирует их строго по объёму: мегабайты будут выше килобайт, а гигабайты — выше всех.

The du command piped to sorted, showing human-readable sizes (like "184K" and "41M") ordered correctly.

date | md5sum

Молниеносная генерация надёжного пароля прямо в консоли

Сам часто пользуюсь этим методом для случайных паролей — быстро, удобно и достаточно надёжно. md5sum превращает любую строку в md5-хэш:

The date command piped to the md5sum command showing a random-looking string of 32 hexadecimal characters.

В итоге получаете набор случайных шестнадцатеричных символов — отлично подойдёт не только для паролей, но и, например, для генерации случайных цветов в CSS. Для защиты важных данных всё-таки используйте специальные менеджеры паролей!

Со временем пайплайны станут для вас естественными инструментами!

Поначалу такие связки могут казаться непривычными, но чем чаще вы используете пайпы, тем легче и быстрее будете импровизировать с grep, sort и другими командами “на лету”. Начните с этих примеров — и вы удивитесь, насколько Linux станет удобнее!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий