Домой Статьи и аналитика Технологии Шесть инструментов для терминала, которые заменяют привычный графический интерфейс

Шесть инструментов для терминала, которые заменяют привычный графический интерфейс

Шесть мощных утилит позволяют выполнять файловые операции, поиск и работу с логами непосредственно в терминале, избавляя от необходимости постоянно переключаться на GUI.

Долгое время я считал, что терминал предназначен исключительно для сложных и специфических задач. Мои повседневные дела, такие как просмотр файлов, поиск забытой информации или анализ логов, требовали использования привычного графического интерфейса. Однако этот подход изменился, когда я открыл для себя инструменты, значительно упростившие работу в командной строке. Хотя я по-прежнему использую графические приложения, эти утилиты позволяют мне обращаться к ним гораздо реже.

Окно терминала с запущенным файловым менеджером Yazi

Интерактивное управление файлами с Yazi

Традиционные команды терминала выводят лишь списки имен файлов и путей, но управление ими становится гораздо удобнее, когда вы видите, с чем работаете. Yazi превращает терминал в полноценный интерактивный файловый менеджер. Он позволяет перемещаться по папкам, выбирать элементы и просматривать их содержимое прямо в окне консоли. Самая полезная функция для меня — предпросмотр: я могу изучить изображение, PDF-документ, архив или фрагмент кода до того, как решу, что с ними делать. Yazi — это быстрый опенсорсный инструмент на языке Rust, предлагающий трехпанельный интерфейс и навигацию в стиле Vim. Он доступен на Windows, Linux и macOS.

Поиск без необходимости помнить полное имя

Часто я помню, что файл существует, но не могу вспомнить его точное название, ограничиваясь лишь парой букв или общим контекстом. В таких случаях на помощь приходит fzf. Это не просто командная строка, а полноценное поисковое окно. Утилита динамически фильтрует список по мере ввода, что избавляет от необходимости вводить точные пути. Помимо поиска файлов, fzf отлично работает с историей команд, списком запущенных процессов, коммитами Git и закладками. Программа является кроссплатформенной и бесплатной.

Анализ журналов событий через lnav

При работе с крупными лог-файлами стандартный вывод терминала кажется неудобным из-за обилия текста. lnav меняет ситуацию: он автоматически распознает форматы логов и позволяет фильтровать сообщения. Я часто использую его для объединения записей из нескольких файлов в единую хронологическую ленту. Гистограммы и временные шкалы помогают выявлять закономерности без бесконечной прокрутки текста. Инструмент позволяет оперативно переходить к ошибкам и даже выполнять SQL-запросы к данным логов. Приложение бесплатно и поддерживает Linux, macOS и FreeBSD.

Управление историей команд с Atuin

Поиск нужной команды в стандартной истории оболочки не всегда эффективен. Atuin преобразует историю в базу данных SQLite, позволяя искать команды с учетом контекста — например, по конкретной папке, сессии или хосту. Благодаря поддержке нечеткого поиска, мне не нужно восстанавливать всю команду целиком: достаточно помнить фрагмент. При нажатии Ctrl+R я получаю доступ к глубокому поиску, что значительно экономит время. Инструмент доступен на macOS, Linux, Windows и WSL-2.

инструменты для терминала — иллюстрация 2 к материалу

Безопасное удаление и быстрая навигация

Помимо перечисленных утилит, в моем арсенале есть еще два важных инструмента. trash-cli решает проблему безвозвратного удаления файлов через стандартную команду rm. Эта утилита создает «корзину» в терминале, позволяя при необходимости восстановить случайно удаленные данные. В свою очередь, zoxide упрощает навигацию по глубоко вложенным папкам. Она запоминает часто посещаемые директории и ранжирует их, поэтому для быстрого перехода мне достаточно ввести короткий запрос вместо длинного пути.

инструменты для терминала — иллюстрация 3 к материалу

Заключение

Я не отказываюсь от графических приложений полностью, ведь в некоторых ситуациях они действительно удобнее. Однако теперь при возникновении трудностей я не спешу автоматически сворачивать терминал. Эти инструменты взяли на себя выполнение многих задач, которые раньше заставляли меня покидать командную строку.

Дополнительные возможности Yazi

Хотя я все еще использую мышь в редких случаях, когда это необходимо, мой рабочий процесс теперь включает несколько файловых операций, которые я начинаю в терминале и там же завершаю. Это позволяет мне избегать переключения контекста между консолью и «Проводником». Yazi поддерживает расширяемые плагины, что делает управление файлами с помощью клавиатуры еще более эффективным.

инструменты для терминала — иллюстрация 4 к материалу

fzf: не только поиск файлов

В отличие от простого просмотра директорий через Yazi, fzf становится моим главным помощником, когда я не хочу тратить время на навигацию и уже имею смутное представление о том, что ищу. Это универсальный набор инструментов для интерактивного терминала: он не требует точного ввода имени файла, позволяя находить нужные элементы через части слов или общие ассоциации. fzf работает в средах Linux, macOS, Windows и BSD.

инструменты для терминала — иллюстрация 5 к материалу

lnav: профессиональная работа с логами

Использование lnav избавило меня от привычки открывать сразу несколько текстовых файлов и пытаться мысленно сопоставлять временные метки (timestamp). Это приложение позволяет не прибегать к специализированным графическим просмотрщикам логов при возникновении неисправностей — диагностику можно провести прямо на месте. Хотя инструмент поддерживает расширенные возможности, такие как SQL-запросы к данным логов, его главная ценность для меня заключается в бесшовной навигации и возможности быстро прыгать к предыдущим или следующим ошибкам в потоке данных.

Atuin: контекстный поиск команд

Atuin кардинально меняет работу с историей оболочки, которая раньше была для меня лишь бесконечным списком для прокрутки. Поскольку утилита записывает дополнительные метаданные, я могу фильтровать историю по конкретному Git-воркспейсу или хосту, где была выполнена команда. Когда я точно знаю, в каком проекте использовал длинную и сложную конструкцию, поиск по истории этого конкретного проекта становится гораздо результативнее, чем сканирование всех выполненных команд за все время.

инструменты для терминала — иллюстрация 6 к материалу

trash-cli: системный подход к удалению

Команда rm в Linux лишена «предохранителя», который я привык видеть в графических менеджерах файлов. В отличие от нее, trash-cli предоставляет практическую страховку: все удаленные через терминал объекты попадают в корзину. Это дает возможность не только просматривать список удаленных файлов, но и восстанавливать их, если решение об удалении было поспешным или ошибочным.

zoxide: интеллектуальная навигация

Я использую zoxide в связке с fzf, и эти инструменты не дублируют функции друг друга. Если fzf фильтрует текущий список элементов, то zoxide обучается на моих предпочтениях, запоминая пути, которые я посещаю чаще всего. Это превращает утомительный ввод длинных путей с помощью команды cd в короткий запрос, который моментально переносит меня в нужную вложенную директорию. Проблема заключалась не в графическом интерфейсе как таковом, а в неудобстве стандартных инструментов терминала, которые теперь удалось нивелировать.

инструменты для терминала — иллюстрация 7 к материалу
Navigating to logs with lnav

Расширение возможностей Yazi

Важным аспектом Yazi является его расширяемость. Инструмент поддерживает подключение плагинов, что позволяет адаптировать файловый менеджер под специфические нужды пользователя. Несмотря на мощные возможности клавиатурного управления, я все же иногда прибегаю к помощи мыши, однако теперь мой рабочий процесс выстроен так, что задачи, начатые в терминале, завершаются в нем же. Это позволяет избежать постоянного переключения контекста между консолью и «Проводником» (или аналогичным графическим менеджером), что значительно повышает общую продуктивность.

инструменты для терминала — иллюстрация 8 к материалу
Functions with Atuin

fzf: гибкость поиска

В отличие от Yazi, который лучше всего подходит для обзора содержимого директорий, fzf незаменим в моменты, когда у меня уже есть смутное представление о цели поиска и я не хочу тратить время на ручную навигацию по дереву папок. Это интерактивный инструментарий, который работает как динамическое поисковое окно. Утилита поддерживает широкий спектр операционных систем, включая Linux, macOS, Windows и BSD.

lnav: глубокая аналитика логов

Использование lnav позволило мне полностью отказаться от вредной привычки открывать множество текстовых файлов одновременно и пытаться вручную сопоставлять временные метки (timestamp) для выявления причин сбоев. Программа позволяет не прибегать к специализированным графическим просмотрщикам логов, так как дает возможность проводить полноценную диагностику прямо в терминале. Помимо возможности переходить к предыдущим или следующим ошибкам, инструмент поддерживает SQL-запросы к данным логов, что выводит анализ на профессиональный уровень.

инструменты для терминала — иллюстрация 9 к материалу
Using trash cli

Atuin: история команд с метаданными

Atuin фундаментально меняет подход к работе с историей оболочки, которая раньше представляла собой неудобный список, доступный лишь через прокрутку. Поскольку утилита записывает дополнительные метаданные, я могу фильтровать историю не только по папке, но и по конкретному Git-воркспейсу или хосту. Когда я точно помню, что выполнял длинную и сложную конструкцию в рамках определенного проекта, поиск именно по его истории дает куда более точные результаты, чем сканирование всей истории сессий за долгое время.

инструменты для терминала — иллюстрация 10 к материалу
Windows Powershell installing zoxide software

trash-cli: «корзина» в консоли

Стандартная команда rm в Linux не предусматривает «предохранителя», к которому я привык в графических оболочках. В отличие от нее, trash-cli выступает в роли практической страховки. Утилита позволяет не просто удалять объекты, но и отправлять их в специальную корзину. Это дает возможность в любой момент просмотреть список удаленных элементов и восстановить их, если ошибка была совершена по неосторожности.

zoxide: умное перемещение

Я использую zoxide параллельно с fzf, и эти инструменты гармонично дополняют друг друга, не дублируя функционал. В то время как fzf занимается фильтрацией списка объектов, zoxide ведет «обучение» на основе моих предпочтений, ранжируя пути, которые я посещаю чаще всего. Это превращает утомительный ввод длинных путей при использовании стандартной команды cd в простой и короткий запрос, который моментально переносит меня в нужную директорию, даже если она глубоко вложена.

Источник: https://www.makeuseof.com