Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI. backend.. backend. cli.. backend. cli. frontend.. backend. cli. frontend. Git.. backend. cli. frontend. Git. github.. backend. cli. frontend. Git. github. IT.. backend. cli. frontend. Git. github. IT. IT-инфраструктура.. backend. cli. frontend. Git. github. IT. IT-инфраструктура. IT-стандарты.. backend. cli. frontend. Git. github. IT. IT-инфраструктура. IT-стандарты. python.. backend. cli. frontend. Git. github. IT. IT-инфраструктура. IT-стандарты. python. агент.. backend. cli. frontend. Git. github. IT. IT-инфраструктура. IT-стандарты. python. агент. Программирование.. backend. cli. frontend. Git. github. IT. IT-инфраструктура. IT-стандарты. python. агент. Программирование. продуктивность.

Вы когда-нибудь задумывались, сколько времени уходит на переключение между окнами, клики мышью и поиск нужной кнопки в GUI? В мире, где каждая секунда на счету, терминал остается самым мощным и недооцененным инструментом разработчика. Но стандартного набора команд часто недостаточно.

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

Если вам интересен процесс и вы хотите следить за дальнейшими материалами, буду признателен за подписку на мой телеграм-канал. Там я публикую полезныe материалы по разработке, разборы сложных концепций, советы как быть продуктивным и конечно же отборные мемы.

1. lazygit

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI - 1

Вспомните свои ощущения, когда нужно сделать интерактивный rebase для десятка коммитов. Или когда вы случайно закоммитили отладочный console.log и теперь нужно его убрать из предыдущего коммита. Git – невероятно мощный, но его стандартный интерфейс в командной строке заставляет постоянно держать в голове сложные команды и флаги, а цена ошибки высока.

Так вот lazygit – это терминальный псевдографический интерфейс (TUI) для Git, который превращает сложные операции в простые и интуитивно понятные действия. Он дает вам всю мощь Git, но с наглядностью GUI, не заставляя покидать уютный терминал.

Глубокое погружение в возможности:

  • Атомарные коммиты без усилий: Это главная фишка. Вы открываете lazygit, видите список измененных файлов. Заходите в файл и видите дифф. Вместо того чтобы делать git add ., вы можете построчно или поблочно добавлять изменения в стейджинг, нажимая пробел. Это позволяет создавать идеально чистые, логически разделенные коммиты, которые легко читать и ревьюить.

  • Безболезненный интерактивный rebase: Забудьте про git rebase -i HEAD~5 и редактирование текстового файла. В lazygit вы видите список коммитов. Хотите объединить два коммита? Пожалуйста. Хотите переименовать? Да без проблем. Это превращает страшную процедуру в простое и наглядное редактирование списка.

  • Визуализация веток и истории: lazygit наглядно показывает граф веток. Вы всегда видите, какая ветка от какой отходит, где находится HEAD, и какие коммиты еще не отправлены на удаленный сервер. Cherry-pick коммита из другой ветки – это просто выбор коммита и нажатие кнопки.

  • Быстрое разрешение конфликтов: При возникновении конфликта слияния lazygit предлагает вам удобный интерфейс, где вы можете выбрать, какой из конфликтующих блоков кода оставить, нажатием одной клавиши.

Первые 15 минут вы будете привыкать к горячим клавишам (хотя они все подписаны). Начните с простого: стейджинг и коммиты. Уже через день вы не сможете представить, как жили без этого раньше.

Установка:

Инструкции для всех ОС и подробная документация есть на официальном репозитории GitHub.

2. tmux

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI - 2

Вы подключились по SSH к удаленному серверу и запустили долгий процесс сборки или миграции данных. Интернет моргнул, соединение оборвалось – процесс прерван. Или локально: у вас открыто 5 вкладок терминала – бэкенд, фронтенд, тесты, Docker, база данных. Перезагрузка компьютера или случайное закрытие окна – и всю эту сложную конструкцию нужно восстанавливать с нуля.

Решение: tmux (Terminal Multiplexer) — это ваш персональный менеджер рабочих сессий в терминале. Он создает слой между вами и запущенными процессами, позволяя им жить своей жизнью, даже когда вы отключаетесь.

Глубокое погружение в возможности:

  • Сессии – ключ ко всему: Главное понятие в tmux -это сессия. Вы запускаете и попадаете в новую сессию. Внутри нее вы можете создавать окна и панели. Самое важное: вы можете отсоединиться от сессии. Терминал закроется, но сессия со всеми запущенными в ней процессами продолжит работать в фоне. Позже вы можете вернуться, набрав команду, и все будет в том же состоянии, в котором вы его оставили.

  • Идеальная организация рабочего пространства:

    • Окна: Это как вкладки в браузере. Внутри одной сессии вы можете создать несколько окон для разных контекстов (например, Сервер, Базы данных, Мониторинг).

    • Панели: Каждое окно можно разделить на несколько независимых панелей. Все в одном окне, без переключений.

  • Парное программирование: Два разработчика могут подключиться по SSH к одному серверу и присоединиться к одной и той же сессии tmux. Они будут видеть один и тот же экран и смогут по очереди вводить команды, что идеально подходит для совместной отладки или обучения.

С чего начать: tmux имеет небольшой порог вхождения из-за своей системы команд через префикс. Первым делом научитесь создавать сессии, отсоединяться и присоединяться. Затем освойте создание окон и панелей.

Установка:
Больше информации можно найти в документации на GitHub Wiki.

3. fzf

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI - 3

Стандартный поиск по истории команд (Ctrl+R) ищет только точные совпадения. Поиск файлов через find или ls -R | grep – громоздко и медленно. Мы тратим ценные секунды (которые складываются в часы) на то, чтобы вспомнить точное название файла или команды.

fzf (Fuzzy Finder) — это универсальный интерактивный фильтр с нечетким поиском. Вы просто начинаете набирать символы, которые помните, и fzf мгновенно отфильтровывает список, показывая наиболее релевантные результаты.

Глубокое погружение в возможности:

  • Интеграция из коробки: После установки fzf обогащает вашу командную строку:

    • Ctrl+R: Вместо стандартного поиска появляется интерактивный список истории команд.

    • Ctrl+T: Открывает поиск файлов и директорий в текущей папке. Выбранный путь подставляется в команду.

    • Alt+C: Ищет директории и мгновенно переходит в выбранную.

  • Сила конвейера (Pipes): Настоящая магия fzf раскрывается, когда вы используете его с другими командами. Он принимает на вход список строк и позволяет интерактивно выбрать одну из них.

    • Интерактивное переключение веток Git:

      git branch | fzf | xargs git checkout

      Эта команда сначала получает список всех веток, передает его в fzf для выбора, а затем xargs подставляет выбранное имя в команду git checkout.

    • Выбор и убийство процесса:

      ps -ef | fzf | awk '{print $2}' | xargs kill -9
      
  • Предпросмотр: fzf можно настроить так, чтобы справа от списка результатов отображалось окно предпросмотра. Для файлов это будет их содержимое, для коммитов — полный дифф. Это позволяет найти нужное, даже не открывая файл.

С чего начать: Просто установите fzf и запустите скрипт интеграции, который он предложит. Начните использовать Ctrl+R и Ctrl+T в повседневной работе. Когда это войдет в привычку, попробуйте создать свой первый пайплайн, например, с git branch.

Установка:
Инструкции и продвинутые настройки доступны в официальном репозитории.

4. qwen-cli

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI - 4

Вы пишете сложный bash-скрипт и забыли синтаксис. Или вам нужно набросать Dockerfile, но вы не помните всех директив. Или вы видите непонятную ошибку и хотите быстро получить объяснение. Каждый такой случай – это переключение в браузер, запрос к чату гпт или поиск в браузере, что влечет за собой потерю концентрации.

qwen-cli – это официальный CLI-инструмент для взаимодействия с мощными языковыми моделями семейства Qwen от Alibaba. Он позволяет вам задавать вопросы, генерировать код, объяснять команды и многое другое прямо из терминала, используя всю мощь облачной модели.

Глубокое погружение в возможности:

  • Генерация команд и скриптов: Это самый частый кейс. Вместо того чтобы гуглить, вы просто спрашиваете.

  • Модель выдаст готовую команду.

  • Объяснение кода и команд: Вы можете передать содержимое файла или вывод другой команды для анализа

  • Быстрое прототипирование: Вам нужно написать небольшой сервер на для проверки гипотезы. Вместо того чтобы создавать файлы и писать boilerplate, вы просите и сразу используете без копирования.

С чего начать: Использование qwen-cli требует получения API-ключа. Это бесплатно для стартового объема запросов.

  1. Получите API-ключ: Зарегистрируйтесь на платформе Alibaba Cloud DashScope и создайте API-ключ.

  2. Сохраните ключ: Самый безопасный способ – добавить ключ в переменные окружения. Добавьте строку в ваш файл конфигурации оболочки. Но вы так же можете сделать это и через интерфейс.

Официальный репозиторий: https://github.com/QwenLM/qwen-code

5. ripgrep (rg)

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI - 5

grep – это классика, но в современных проектах он невыносимо медленный. Он пытается искать в гигабайтах зависимостей в node_modules, в бинарных файлах и в логах, заваливая вас мусором.

ripgrep (rg) — это современная реинкарнация grep, написанная на Rust. Он создавался специально для поиска по кодовым базам. Неудивительно, что именно ripgrep является движком поиска по умолчанию в VS Code.

Глубокое погружение в возможности:

  • Скорость и интеллект по умолчанию: rg по умолчанию рекурсивен. Он автоматически игнорирует все, что указано в вашем .gitignore, а также скрытые файлы и бинарники. Благодаря этому и многопоточной архитектуре, он работает на порядок быстрее grep.

  • Продвинутая фильтрация: Вы можете легко управлять областью поиска:

    • Искать только в файлах определенного типа

    • Искать везде, кроме файлов определенного типа

    • Искать в файлах, которые не отслеживаются Git

  • Удобный вывод: rg красиво подсвечивает найденные совпадения, указывает номера строк и группирует результаты по файлам. С помощью флагов можно захватить несколько строк вокруг найденного, чтобы лучше понять контекст.

С чего начать: Просто начните использовать rg вместо grep. В 90% случаев команда rg "что_искать" сделает именно то, что вам нужно, только гораздо быстрее и с более чистым результатом.

Установка:
Все опции установки описаны в документации ripgrep.

Заключение

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

Не пытайтесь освоить все сразу. Выберите один инструмент, который решает вашу самую большую проблему прямо сейчас, и пользуйтесь им в течение недели. Вы будете удивлены, как быстро он станет неотъемлемой частью вашего рабочего процесса.

Автор: OyminiRole1776

Источник

Rambler's Top100