Если вы проводите много времени в терминале Linux, вы, вероятно, уже знакомы с обычными командами: ls, grep, cat, top и ping. Они выполняют свою работу, и никто их не ставит под сомнение. Но сообщество разработчиков открытого ПО незаметно создало новое поколение инструментов, по сравнению с которыми старые команды выглядят так, будто их место в музее. Это те самые полезные команды терминала Linux, которые используют ваши коллеги и которые заставляют вас задаться вопросом: «Что это за цветной вывод в вашем терминале?» В этом руководстве рассказывается о 10 из них, которые были протестированы в ОС Ubuntu. Затем вы сможете выбрать, какие из них добавить в свой рабочий процесс.
Каждый инструмент в этом списке является бесплатным, имеет открытый исходный код и находится в разработке по состоянию на 2026 год. Некоторые из них можно установить с помощью всего одной строки apt, в то время как для других требуется brew или cargo. После установки для использования любой из них не требуется права root. В этом списке каждый найдет что-то для себя, будь вы полный новичок, только что научившийся перемещаться по каталогам, системный администратор, управляющий десятками серверов, или инженер DevOps, который для удовольствия тестирует производительность конвейеров.
| Инструмент | apt (Debian/Ubuntu) | brew (macOS/Linux) | cargo / go / npm |
|---|---|---|---|
| cbonsai | apt install cbonsai |
brew install cbonsai |
— |
| glow | — | brew install glow |
go install github.com/charmbracelet/glow@latest |
| навигация | — | brew install navi |
cargo install navi |
| tldr | apt install tldr |
brew install tldr |
npm install -g tldr |
| gping | — | brew install gping |
cargo install gping |
| wtfutil | — | brew install wtfutil |
go install github.com/wtfutil/wtf@latest |
| pv | apt install pv |
brew install pv |
— |
| ncdu | apt install ncdu |
brew install ncdu |
— |
| bat | apt install bat |
brew install bat |
cargo install bat |
| гипертон | — | brew install hyperfine |
cargo install hyperfine |
Совет — все инструменты бесплатны и имеют открытый исходный код. По состоянию на 2026 год все инструменты, упомянутые в этой статье, являются бесплатными, имеют открытый исходный код и регулярно обновляются. Большинство из них можно установить с помощью менеджера пакетов вашей дистрибутива (apt), Homebrew (brew) или менеджера пакетов Rust (cargo), в зависимости от того, что у вас доступно. Скрытых платежей или подписок нет.
Какой инструмент следует установить в первую очередь?
| Ваша роль | Начните с | Почему |
|---|---|---|
| Новички | tldr bat | tldr мгновенно упрощает справочные страницы; bat делает файлы гораздо более читаемыми |
| Системные администраторы | ncdu pv | ncdu делает очистку диска визуальной и быстрой; pv позволяет отслеживать длительные операции с конвейерами |
| DevOps / Разработчики | hyperfine gping | hyperfine обеспечивает статистически достоверный бенчмаркинг; gping позволяет сразу увидеть проблемы с задержкой |
| Все | wtfutil | Как только вы освоитесь в терминале, wtfutil превратит его в полноценную личную панель управления |
Чистая радость — начните с этого (cbonsai & glow)
Не каждый инструмент должен решать серьезные проблемы с инфраструктурой. Иногда лучший способ полюбить терминал — это сделать его визуально живым. Вот два инструмента, которые стоит показать другу, считающему командную строку скучной, и он сразу же изменит своё мнение.
cbonsai — вырастите анимированное дерево бонсай в вашем терминале
Что он делает: cbonsai использует ncurses для рисования процедурно сгенерированного ASCII-дерева бонсай в вашем терминале. Дерево выглядит немного по-разному каждый раз, когда вы запускаете программу, но при этом сохраняет тот же успокаивающий эффект. Вы можете изменять скорость его роста, добавлять сообщение внизу, включать анимацию птиц или использовать его в качестве заставки, которая будет постоянно воспроизводиться. Это может показаться глупостью, но именно такие инструменты люди делятся на Reddit, добавляют в свои dotfiles и оставляют там на годы.
Зачем это вам на самом деле Идеально подходит в качестве заставки для терминала на станциях мониторинга или общих экранах — лучше, чем пустой курсор, и делает терминал более живым.
Пример 1: Живое анимированное дерево, которое растет быстрее:
cbonsai --live --time 0.05
Вывод:
~/ *
/ \ \
~ ~ ~~~ ~
|
/|\
/ | \
___/__|__\___
Флаг флаг --time контролирует задержку в секундах между каждым шагом роста. Чем меньше значение, тем быстрее растет дерево. Попробуйте 0.02 для почти мгновенного появления дерева или 0.2 для медленного, напоминающего дзен, опыта.
Режим заставки продолжается, пока вы не нажмете клавишу.
cbonsai -S
Вы можете установить cbonsai на Ubuntu/Debian с помощью sudo apt install cbonsai. На macOS или Linux с Homebrew используйте brew install cbonsai. На странице cbonsai в GitHub также есть инструкции по сборке для дистрибутивов, где он отсутствует в репозиториях по умолчанию.
glow — Красивое чтение файлов Markdown прямо в терминале
Что он делает: Большинство разработчиков открывают README, либо прищуриваясь на необработанный код Markdown в cat, либо переключаясь в браузер, чтобы его посмотреть. glow решает эту проблему, отображая Markdown — заголовки, жирный текст, блоки кода, таблицы, цитаты — прямо в терминале с правильными цветами и форматированием. Команда Charm, которая также создала bubbletea и lipgloss, разработала glow. Он поставляется с полноценным браузером TUI, который позволяет просматривать целые каталоги файлов .md без использования мыши.
Почему вам это действительно нужно Перестаньте переключаться в браузер только для того, чтобы прочитать README проекта. Отображайте его прямо там, где вы работаете, не выходя из терминала.
Пример 1: Показать определенный файл Markdown:
glow README.md
# My Project A short description of what this project does. ## Installation ┌───────────────────────────────────┐ │ $ npm install my-project │ └───────────────────────────────────┘ ## Features • Fast • Lightweight • Cross-platform
Пример 2: Откройте браузер TUI, чтобы увидеть все файлы Markdown в текущей папке:
glow
Markdown Files ────────────────────────────────────── › README.md 2 days ago CHANGELOG.md 1 week ago docs/CONTRIBUTING.md 3 weeks ago ↑/↓ navigate enter open q quit
Установите glow с помощью brew install glow или через Go с помощью go install github.com/charmbracelet/glow@latest. Посетите страницу glow на GitHub, чтобы увидеть полный список опций рендеринга и тем.
Полезные команды (navi, tldr, gping)
В этой части мы переходим от «забавы» к «реальному улучшению вашей работы». Эти три инструмента помогают решать реальные проблемы, такие как забывание того, как использовать команды, необходимость прочитывать справочные страницы и отсутствие полезной информации при использовании базового ping.
navi — интерактивный браузер шпаргалок, в котором можно действительно искать
Что он делает: Для его создания используется Rust navi, а fzf используется для его работы. Он позволяет выполнять неточный поиск по справочным таблицам команд оболочки. Вы можете получать справочные таблицы из его большого репозитория сообщества, добавлять свои собственные или импортировать любой репозиторий справочных таблиц, размещенный на GitHub. Настоящая магия заключается в том, что он позволяет вам заполнять аргументы переменных перед запуском, а не просто показывать вам команду. Вам больше не нужно запоминать точный порядок флагов.
Забудьте о переключении между вкладками браузера, пытаясь вспомнить конкретную комбинацию флагов ffmpeg или rsync — navi мгновенно выводит её и заполняет переменные за вас.
Пример 1: Запустите интерактивный браузер справочников:
navi
> compress a file with tar [tar]
tar -czf
> find files modified in the last N days [find]
find -mtime -
↑/↓ navigate tab fill args enter run ctrl-c exit
Пример 2: Использование GitHub для добавления пользовательского репозитория справочников:
navi repo add https://github.com/denisidoro/cheats
Cloning into '/home/user/.local/share/navi/cheats/denisidoro__cheats'... remote: Enumerating objects: 312, done. Repository added successfully.
Установите navi с помощью brew install navi или cargo install navi. Вы также можете написать свои собственные файлы .cheat и поместить их в ~/.local/share/navi/cheats/ — они автоматически появятся в браузере. Полный синтаксис справочных листов см. в репозитории navi на GitHub.
tldr — справочные страницы для тех, кому нужна только команда
Что она делает: Название «tldr» означает «Слишком длинно; не читал», и оно оправдывает себя. Вместо того, чтобы предоставлять вам 400-строчную справочную страницу, полную юридического жаргона, она показывает 4–5 наиболее распространённых реальных примеров для каждой команды. Сообщество поддерживает страницы в актуальном состоянии и обеспечивает их высокую точность. Вы не поверите, насколько вам понадобится tldr уже через десять минут работы с ним. Это единственный инструмент, который большинство людей рекомендуют новичкам в Linux, но опытные администраторы используют его каждый день для команд, которыми они пользуются не так часто.
Почему это вам действительно нужно Когда вам просто нужно вспомнить флаг tar для извлечения в конкретный каталог, tldr даст вам ответ за две секунды вместо того, чтобы пролистывать справочную страницу в течение двух минут.
Пример 1: Узнайте, как использовать команду tar, на реальных примерах:
tldr tar
tar
Archiving utility.
– Create an archive from files:
tar cf target.tar file1 file2 file3
– Create a gzip-compressed archive:
tar czf target.tar.gz path/to/directory
– Extract a compressed archive into the current directory:
tar xf source.tar.gz
– Extract to a specific directory:
tar xf source.tar.gz —directory=path/to/directory
Пример 2: Найдите примеры использования rsync (больше не нужно каждый раз искать флаги):
tldr rsync
Sample Output
rsync
Transfer files either to or from a remote host.
– Transfer a file:
rsync path/to/source path/to/destination
– Sync a local folder to a remote server, deleting removed files:
rsync -avz —delete path/to/local/ user@host:path/to/remote/
– Resume an incomplete transfer:
rsync —partial —progress source destination
Пользователям, использующим программу впервые, следует запустить tldr --update после установки, чтобы загрузить последнюю версию кэша страниц. В Ubuntu установите с помощью sudo apt install tldr. Также доступно через brew install tldr и npm install -g tldr. Полный индекс страниц сообщества находится в репозитории tldr-pages на GitHub.
gping — График задержки в реальном времени вместо потока цифр
Что он делает: Стандартная команда ping выводит новую строку каждую секунду, что полезно, но вам приходится отслеживать тенденции. Вместо стены цифр gping показывает динамический ASCII-график задержки, который обновляется в реальном времени. На одном графике можно одновременно видеть несколько хостов, что позволяет легко определить, у какого из них ухудшается соединение. Помимо ICMP-ping, у него также есть режим --cmd, который измеряет задержку любой команды. Это полезно для измерения времени отклика HTTP из терминала.
Почему это действительно нужно При диагностике сетевой проблемы визуальный график задержки между двумя или тремя хостами мгновенно показывает, является ли проблема локальной, связанной с провайдером или удаленным сервером.
Пример 1: Наблюдайте за двумя хостами одновременно с помощью динамического графика:
gping google.com cloudflare.com
google.com ─── 14ms avg ▁▁▂▂▁▂▁▂▂▁▁▂▁▂▂▁▂▁▁▂▁▁▂▁▁▁▂▂▁▁▂▃▂▁▁▂▁▂▁▁ cloudflare.com ─── 9ms avg ▁▁▁▂▁▁▁▂▁▁▁▁▁▂▁▁▁▁▁▂▁▁▁▁▁▂▁▁▁▁▁▁▁▂▁▁▁▁▁▁
Пример 2: Проверьте, сколько времени занимает ответ на HTTP-команду в динамике:
gping --cmd "curl -s google.com"
curl -s google.com ─── 212ms avg ▂▂▃▂▂▂▂▃▂▂▃▂▂▂▂▃▂▂▂▃▂▂▂▂▂▂▃▂▂▂▃▂▂▂▂▂▂▃▂▂
Совет: Установите gping с помощью brew install gping или cargo install gping. Если вы не хотите компилировать из исходного кода, проверьте страницу gping на GitHub на наличие бинарных сборок. Также используйте его вместе с вашим набором сетевых команд Linux для получения более полной картины диагностики сети.
Панель инструментов и визуализация (wtfutil)
Есть такой тип разработчиков, которые никогда не закрывают терминал. Если это похоже на вас, wtfutil — это то, что получается, когда кто-то решает, что терминал должен быть также полноценной панелью личной информации.
wtfutil — Ваша панель инструментов на весь рабочий день, прямо в терминале
Что он делает: wtfutil, также известный как WTF или панель управления терминала wtf, — это панель управления терминала, написанная на Go, которую можно настраивать и которая состоит из разных частей. С помощью всего одного конфигурационного файла YAML вы можете получать события календаря, активность GitHub, тикеты Jira, статистику системы, погоду, ваш публичный IP, сообщения Slack, карты Trello и более 60 других модулей. Все это будет отображаться в виде сетки в одном окне терминала. Перед тем как приступить к работе, тысячи разработчиков используют его утром в качестве своего «центра управления».
Почему это вам действительно нужно Вместо того чтобы переключаться между календарем, GitHub, Slack и системным монитором, вы можете взглянуть на одно окно терминала и увидеть все это сразу.
Пример 1: Запустите wtfutil (он получает настройки из пути по умолчанию):
wtfutil
┌─── Clock ──────┐ ┌─── GitHub ─────────────────┐ │ 09:14:32 │ │ ● 3 open PRs │ │ Wed Mar 25 │ │ ✓ 2 merged yesterday │ └────────────────┘ └────────────────────────────┘ ┌─── Weather ────┐ ┌─── System ─────────────────┐ │ ☁ 24°C │ │ CPU 12% MEM 4.1/16 GB │ │ Partly cloudy │ │ Disk 142/500 GB used │ └────────────────┘ └────────────────────────────┘
Предупреждение — ошибки конфигурации YAML приводят к тихому сбою панели инструментов wtfutil считывает свою конфигурацию из ~/.config/wtf/config.yml. Один-единственный пробел в отступе или опечатка в файле YAML приводит к завершению работы панели управления без какого-либо сообщения об ошибке. Всегда проверяйте изменения конфигурации с помощью wtfutil --help и сначала тестируйте с минимальной конфигурацией, прежде чем добавлять модули один за другим. Сохраняйте резервную копию любой рабочей конфигурации.
Пример 2: Откройте файл конфигурации, чтобы изменить настройки панели управления:
vim ~/.config/wtf/config.yml
wtf:
grid:
columns: [45, 45]
rows: [13, 13]
mods:
clocks:
enabled: true
position:
top: 0
left: 0
width: 1
height: 1
Установите wtfutil с помощью brew install wtfutil или go install github.com/wtfutil/wtf@latest. Полное справочное руководство по модулям и примеры конфигурации находятся в репозитории wtfutil на GitHub. Начните с 2–3 модулей и постепенно расширяйте их количество.
Выбор опытных пользователей (pv, ncdu, bat)
Эти три инструмента — именно те, которые создают впечатление, что вы действительно знаете, что делаете. У них нет TUI-браузеров или ASCII-арта, и они не бросаются в глаза. Они просто делают то, что раньше было раздражающим, совершенно безболезненным.
pv — добавьте индикатор прогресса к любой операции с конвейером в Linux
Что он делает: pv — это сокращение от Pipe Viewer. Она легко встраивается в любой конвейер и точно показывает, сколько данных уже прошло, с какой скоростью это происходит и когда операция будет завершена. Если вы когда-нибудь запускали команду dd для записи образа диска, а затем десять минут смотрели на мигающий курсор, гадая, происходит ли что-нибудь, то pv — это то, что вам нужно. Она работает с любой командой, которая читает из stdin и записывает в stdout.
Почему это действительно нужно: устраняет догадки при выполнении любых длительных операций с конвейером — запись на диск, дампы баз данных, передача файлов — благодаря отображению индикатора прогресса в реальном времени и ожидаемого времени завершения.
Пример 1: Создание образа диска с индикатором прогресса, обновляющимся в реальном времени:
pv big.iso | dd of=/dev/sdb bs=4M
1.45GiB 0:01:12 [20.5MiB/s] [=====> ] 63% ETA 0:00:42
Пример 2: Сжатие большой папки и отслеживание пропускной способности:
tar cf - /var/log | pv | gzip > logs-backup.tar.gz
892MiB 0:00:38 [23.4MiB/s] [ <=> ]
Предупреждение — сначала протестируйте на некритичных данных Вставка pv в конвейер, который уже перенаправляет stdout (например, команды, использующие перенаправление > в том же потоке), может привести к неожиданным результатам или повреждению вывода. Всегда тестируйте структуру конвейера на небольшом наборе некритичных данных, прежде чем запускать его на производственных данных или реальных дисковых устройствах.
Установите на Ubuntu/Debian с помощью sudo apt install pv или на macOS/Linux с помощью Homebrew через brew install pv. Страница руководства pv описывает все флаги, включая --size (когда pv не может автоматически определить размер данных), --rate-limit и --bytes. Совместите pv с вашими рабочими процессами резервного копирования и восстановления в Linux для полной видимости при передаче больших объемов данных.
ncdu — интерактивный анализ использования дискового пространства
Что он делает: Классическая команда du показывает, сколько места занято на диске, но ее вывод представляет собой плоский, отсортированный список, в котором нелегко перемещаться или проводить очистку. ncdu (ncurses Disk Usage) показывает ту же информацию в виде интерактивного дерева, по которому можно перемещаться с помощью клавиш со стрелками. Вы можете зайти в любую папку и увидеть, что именно занимает место. Вы также можете удалять файлы прямо из интерфейса. Это лучший инструмент для очистки дисков, который можно использовать только в терминале.
Зачем это на самом деле нужно Когда диск заполняется на 95% и вам нужно быстро найти, что занимает место, ncdu поможет вам пройти путь от нуля до «найден и удален виновник» менее чем за две минуты.
Пример 1: Просмотр всей корневой файловой системы в режиме реального времени:
ncdu /
ncdu 2.4 ~ Use the arrow keys to navigate, press ? for help
—- / ─────────────────────────────────────── 487.2 GiB used —-
35.2 GiB /var
28.6 GiB /home
18.1 GiB /usr
4.4 GiB /opt
1.2 GiB /tmp
Total disk usage: 87.5 GiB Apparent size: 84.2 GiB
Пример 2: Просканируйте определенную папку, например «Загрузки», чтобы найти большие файлы:
ncdu ~/Downloads
--- /home/user/Downloads ─────────────── 12.4 GiB used --- 8.1 GiB ubuntu-24.04-desktop-amd64.iso 2.3 GiB old-project-backup.tar.gz 934.2 MiB virtual-machine-snapshot.vmdk 421.5 MiB videos/
Установите ncdu на Ubuntu/Debian с помощью sudo apt install ncdu или через Homebrew с помощью brew install ncdu. В интерфейсе нажмите d, чтобы удалить выделенный элемент, i — для просмотра сведений о файле, а ? для полного экрана справки. Для более широкого набора инструментов по использованию дискового пространства см. наше руководство по базовому использованию команды du и руководство по команде df.
bat — замена cat с подсветкой синтаксиса и интеграцией с Git
Что он делает: bat — это замена cat на основе Rust. Он добавляет номера строк, подсветку синтаксиса для более чем 150 языков и индикаторы изменений Git (показывающие, какие строки были добавлены, изменены или удалены с момента последнего коммита) без какой-либо настройки. Вместо стены текста чтение конфигурационных файлов, проверка скриптов или просмотр различий в коде прямо в терминале становится гораздо увлекательнее. В большинстве случаев вы можете просто использовать его вместо cat.
Почему вам это действительно нужно Как только вы откроете config.yaml или скрипт Python с помощью bat вместо cat, вы никогда не вернетесь к cat для чтения файлов.
Пример 1: Откройте файл конфигурации YAML с номерами строк и подсветкой синтаксиса:
bat config.yaml
│ File: config.yaml
1 │ server:
2 │ host: 0.0.0.0
3 + │ port: 9090
4 │ debug: false
5 │ database:
6 │ name: myapp_db
+ indicates lines changed since last git commit
Пример 2: Откройте файл Python в простом режиме, без украшений и только с подсветкой:
bat --style=plain main.py
def main():
print(«Hello from bat — cleaner than cat»)
return 0
if name == «main»:
main()
В Ubuntu и Debian пакет bat устанавливает бинарный файл как batcat (чтобы избежать конфликта имен со старым, не имеющим отношения к данному пакету). Чтобы использовать его как bat, добавьте следующий псевдоним в ваш ~/.bashrc или ~/.zshrc:
alias bat='batcat'
Затем запустите source ~/.bashrc, чтобы применить его немедленно. В установках RHEL, macOS и Homebrew бинарник уже имеет имя bat.
Установите с помощью sudo apt install bat, brew install bat или cargo install bat. Вы также можете установить bat в качестве паджера по умолчанию для страниц man, добавив export MANPAGER="sh -c 'col -bx | bat -l man -p'" в конфигурацию вашей оболочки. Полный список опций см. на странице bat в GitHub. Чтобы сравнить bat с инструментом, который он заменяет, ознакомьтесь с нашим руководством по команде cat.
Бонусный подстановочный знак (hyperfine)
Этот последний инструмент предназначен для инженеров, которым нужны доказательства, а не догадки. Hyperfine разрешает спор с помощью статистической строгости, если вы когда-нибудь спорили с коллегой о том, что быстрее — grep или ripgrep, или если вы когда-нибудь задавались вопросом, улучшилось ли время запуска вашей оболочки после рефакторинга.
hyperfine — Статистический бенчмаркинг для любой команды оболочки
Что он делает: hyperfine — это инструмент для тестирования производительности командной строки, написанный на Rust. Встроенная команда time запускает команду только один раз и выдает один результат. Hyperfine, с другой стороны, запускает команды несколько раз с настраиваемыми раундами прогрева, отбрасывает аномальные результаты и выдает медиану, среднее значение и стандартное отклонение времени выполнения. Вы можете запустить две команды одновременно и посмотреть, какая из них лучше. Именно так выглядит правильное тестирование производительности в командной строке.
Почему это действительно нужно Перестаньте гадать, действительно ли ваш «оптимизированный» скрипт работает быстрее. hyperfine предоставляет статистически значимые данные о времени выполнения менее чем за минуту.
Пример 1: Рассмотрим реальный код и сравним grep и ripgrep:
hyperfine 'grep -r foo .' 'rg foo .'
Benchmark 1: grep -r foo . Time (mean ± σ): 841.3 ms ± 14.2 ms [User: 796.5 ms, System: 44.7 ms] Range (min … max): 821.4 ms … 872.6 ms 10 runsBenchmark 2: rg foo . Time (mean ± σ): 112.4 ms ± 4.9 ms [User: 187.3 ms, System: 31.2 ms] Range (min … max): 107.1 ms … 123.0 ms 10 runs
Summary „rg foo .“ ran 7.48 ± 0.34 times faster than „grep -r foo .“
Пример 2: Используйте раунды прогрева, чтобы получить результаты теста с прогретым кэшем:
hyperfine --warmup 5 "ls -la"
Benchmark: ls -la Time (mean ± σ): 2.4 ms ± 0.3 ms [User: 1.1 ms, System: 1.2 ms] Range (min … max): 2.1 ms … 3.4 ms 245 runs
Установите hyperfine с помощью brew install hyperfine или cargo install hyperfine. Используйте --export-markdown result.md для сохранения результатов тестирования в виде отформатированной таблицы Markdown — отлично подходит для публикации в пул-реквестах. Полная документация находится на странице hyperfine в GitHub. Также стоит использовать в паре с памяткой по мониторингу систем Linux для получения полного набора инструментов для оценки производительности.




Комментарии (0)