10 инструментов Linux, которые делают терминал удобнее

Когда смотришь на хорошо настроенный Linux у опытных пользователей, кажется, что дело в красивых обоях и теме. На самом деле удобство складывается из мелочей: удалённый по ошибке файл можно вернуть, нужная команда из истории находится за секунду, процесс на занятом порту убивается одной командой, а программы и поиск запускаются с клавиатуры.
В этой подборке — инструменты Linux, которые я сам добавил в окружение или внимательно тестировал. Почти все работают в терминале, большинство написаны на Rust и Go, а у каждого есть свои ограничения, о которых лучше знать заранее.
rmt: удаление через корзину вместо безвозвратного rm
Классическая ситуация: вы выполняете rm на файл, через секунду понимаете, что это был не тот файл, и вспоминаете, что не закоммитили его в git. Обычный rm не оставляет шанса — файл не попадает ни в какую корзину.
rmt — утилита на Rust, которая вместо удаления перемещает файлы в собственную корзину:
rmt hello.txt # переместить файл в корзину
rmt folder test.txt *.sh # несколько файлов и папок сразу
rmt --ti # информация о содержимом корзины
rmt --td # интерфейс корзины: восстановить или удалить элементы
rmt --tf # очистить корзину
Я планирую поставить rmt вместо rm через алиас. В fish это строка в ~/.config/fish/config.fish:
alias rm rmt
alias cat bat
Важная оговорка: алиас работает только в интерактивной оболочке. Скрипты продолжат вызывать настоящий rm, и это правильно — подменять системную команду для скриптов опасно.
Atuin: история команд с поиском и синхронизацией
Atuin заменяет стандартную историю оболочки на базу данных. Каждая команда сохраняется вместе с каталогом, временем и кодом завершения, а поиск по истории открывается по стрелке вверх или Ctrl+R в отдельном интерфейсе.
Где это реально выручает: у меня есть длинная команда ffmpeg для сжатия видео, которую я постоянно забываю и раньше искал в заметках Obsidian. С Atuin достаточно набрать ffmpeg и пару слов из середины команды вроде preset slow — нужная строка находится сразу.
Полезные команды:
atuin import auto # импортировать существующую историю bash/zsh/fish
atuin history list # список команд
atuin stats # самые частые команды
У Atuin есть синхронизация между машинами (atuin register, atuin login, atuin sync): история шифруется на клиенте и отправляется на сервер. Я пользуюсь Atuin на одной машине и не хочу отправлять историю команд на чужой сервер, поэтому ограничился локальным импортом. Если синхронизация нужна, сервер Atuin можно поднять у себя.
Devzat: чат через SSH
Devzat — SSH-сервер, который вместо командной строки открывает чат-комнату. Подключиться можно из любого SSH-клиента, в том числе с телефона:
ssh devzat.hackclub.com
ssh имя@devzat.hackclub.com # выбрать ник при первом входе
ssh devzat.hackclub.com -p 443 # если обычный порт закрыт
Меня в этом проекте зацепила идея: SSH — одна из базовых вещей, без которой не работает администрирование, поэтому чат на своём сервере остаётся доступен, когда привычные мессенджеры недоступны. Свой экземпляр собирается из исходников на Go и по умолчанию слушает порт 2221. Кроме сообщений и изображений там есть развлечения вроде мини-игр, но главное — простой чат, который можно поднять за минуты.
otter-launcher: лаунчер для тех, кто живёт на клавиатуре
otter-launcher — терминальный лаунчер на Rust для пользователей тайловых оконных менеджеров. Работает он через префиксы-модули:
gg запрос— поиск в Google;aw,pac,aur— поиск по Arch Wiki, пакетам и AUR;app— запуск приложений;sh— выполнение команды;po— меню питания.
Модули описываются в TOML-конфиге, так что можно добавить свои: запуск скриптов, управление Bluetooth, открытие часто нужных сайтов. Есть режимы клавиш vi и emacs и вывод изображений в терминале. Минус — пакета нет в большинстве дистрибутивов: на Arch он ставится из AUR (paru -S otter-launcher), в остальных случаях собирается через cargo build --release.
killport: освободить порт одной командой
Знакомая ситуация: запускаете сервер разработки, а порт уже занят процессом, название которого вы не помните. Обычно это поиск через lsof или ss, затем kill. killport делает всё одной командой:
killport 8080 # убить то, что слушает порт 8080
killport 3000 8080 9090 # несколько портов
killport -s sigterm 8080 # мягкое завершение вместо SIGKILL
По умолчанию отправляется SIGKILL, то есть процесс не успеет сохранить данные. Для базы данных или чего-то с состоянием лучше начинать с -s sigterm.
lsd и eza: читаемый вывод вместо ls
lsd — замена ls на Rust с иконками по типу файла, цветами и понятными размерами. Каталоги, скрипты Bash, файлы Python и Java сразу различаются визуально, а lsd -la показывает права и размеры в читаемом виде вместо байтов. Цвета настраиваются: я, например, сделал права одного цвета, мне так спокойнее.
Похожий результат даёт eza, тоже на Rust. Оба умеют древовидный вывод (--tree), а у eza ещё есть колонка со статусом файлов в git (eza -l --git). Выбирайте по вкусу. Для иконок в обоих случаях нужен шрифт из набора Nerd Fonts.
Noisy и Urusai: шум в логах провайдера
Провайдер видит, к каким доменам вы обращаетесь, даже если содержимое зашифровано. Noisy и его современная реализация на Go Urusai генерируют фоновый HTTP- и DNS-трафик: обходят случайные сайты со стартовых адресов, переходят по ссылкам, меняют user agent. Ваши реальные посещения тонут в этом шуме.
Noisy давно не обновляется, Urusai поддерживается активно и работает на Linux, macOS и Windows, в том числе в Docker:
docker run calpa/urusai
./urusai --config config.json # свои стартовые сайты, чёрный список, интервалы
Честно о границах: это не анонимность и не замена VPN или Tor. Шум усложняет анализ, но не скрывает трафик, при этом расходует интернет и ресурсы машины.
Bashfuscator: как выглядит обфускация Bash
Bashfuscator превращает читаемую команду или скрипт в нечитаемую, но рабочую последовательность. Инструмент создан для исследований безопасности: он помогает понять, как прячут вредоносные команды, и проверить, ловит ли их защита. Скрыть так логику собственного скрипта надёжно не получится — обфускация лишь замедляет чтение, а запуск под отладкой раскрывает команды.
amazing-qr и cpufetch: две мелочи
amazing-qr создаёт QR-коды прямо из терминала, в том числе поверх картинки или анимированного GIF:
pip install amzqr
amzqr https://zproger-school.com -p logo.png -c -n qr.png
cpufetch — дополнение к fastfetch: красиво выводит модель процессора, микроархитектуру, ядра, частоты и кеши для Intel, AMD и ARM. Работает на Linux, macOS, Windows и FreeBSD.
С чего начать
| Задача | Инструмент |
|---|---|
| Не терять файлы после удаления | rmt |
| Быстро находить старые команды | Atuin |
| Освобождать порты | killport |
| Понятный вывод списка файлов | lsd или eza |
| Запуск всего с клавиатуры | otter-launcher |
| Чат на своём сервере | Devzat |
Я бы начал с Atuin и killport: эффект от них ощущается в первый же день. Если вы подбираете утилиты для поиска файлов, посмотрите отдельный разбор fd вместо find, а для контроля нагрузки — статью про мониторинг Linux. Графические программы для повседневной работы собраны в подборке 10 полезных программ для Linux.