Мощные инструменты терминала и командной строки (CLI) для современной веб-разработки

Опубликовано: 2022-03-10
Краткий обзор ↬ Какой ваш любимый инструмент командной строки? Сегодня Луи Лазарис делится коллекцией соответствующих приложений и утилит командной строки, с которыми он лично столкнулся за последние несколько лет.

Многие современные программисты, в том числе front-end и full-stack разработчики, ежедневно работают с командной строкой. Даже те, кто относительно плохо знаком с веб-разработкой, рано приобретают навыки работы с командной строкой и находят практические инструменты и утилиты для повышения своей производительности в терминале.

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

Вы можете перейти к категории, используя навигацию ниже:

  • Терминальные приложения
  • Терминальные утилиты и улучшения
  • Сценарии командной строки и фреймворки
  • Инструменты повышения производительности для терминала

Терминальные приложения

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

tmux

tmux — популярный терминальный мультиплексор для Unix-подобных операционных систем, который позволяет легко переключаться между несколькими программами в одном терминале с возможностью «отсоединять» сеанс (оставаясь работающим в фоновом режиме) или «повторно присоединять» его к другому Терминал.

tmux
(Большой превью)

iTerm2

iTerm2 , преемник iTerm, является заменой вашего терминала в macOS, который включает в себя такие функции, как разделение панелей, надежный поиск, автозаполнение, мгновенное воспроизведение, а также множество параметров конфигурации.

iTerm2
(Большой превью)

Мош

Mosh — это приложение удаленного терминала (или мобильная оболочка) для интерактивного использования SSH, которое включает в себя несколько полезных функций для тех, кому необходимо выполнять задачи на терминале через слабый Wi-Fi, сотовые сети или другие менее надежные соединения.

Мош
(Большой превью)

Зеллий

Zellij — это рабочее пространство терминала, которое имеет базовую функциональность мультиплексора терминала (аналогично tmux), но включает в себя функции, которые позволяют пользователям расширять его и создавать персонализированную среду с помощью панелей/вкладок и плагинов.

Зеллий
(Большой превью)

Гипер

Hyper — это терминальное приложение на основе Electron для Mac, Windows или Linux, созданное с использованием веб-технологий (HTML/CSS/JS). Включает в себя десятки тем и плагинов и построен на скорости и стабильности.

Гипер
(Большой превью)

cmder

cmder — это эмулятор портативной консоли для Windows, который был создан из-за отсутствия хорошего варианта в этой области для пользователей Windows.

командование
(Большой превью)

как ад

a-Shell — это приложение для iOS, которое предлагает «терминал в вашем кармане» с управлением файлами/каталогами, совместимостью с Apple Shortcuts, несколькими окнами и многим другим.

как ад
(Большой превью)

Вечный терминал

Eternal Terminal — еще одно приложение для удаленного терминала, вдохновленное другими подобными популярными проектами.

Вечный терминал
(Большой превью)

Десять рук

Ten Hands — это терминальное приложение для Mac, Linux и Windows, которое позиционируется как простейший способ организации и выполнения задач командной строки, полезный для тех, кто выполняет одинаковые ежедневные задачи в нескольких проектах.

Десять рук
(Большой превью)

eDEX-UI

eDEX-UI — это полноэкранный кроссплатформенный эмулятор терминала и системный монитор, вдохновленный интерфейсами научно-фантастических фильмов, в частности фильмом «Трон: Наследие».

eDEX-UI
(Большой превью)

Табби

Tabby, ранее «Terminus», представляет собой настраиваемое кросс-платформенное терминальное приложение для локальных оболочек, SSH, последовательных и Telnet-подключений, которое включает поддержку таких функций, как разделенные панели, смарт-вкладки, настраиваемые горячие клавиши и многое другое.

Табби
(Большой превью)

Рыбная скорлупа

Fish Shell — это еще один вариант оболочки командной строки для Linux, macOS и Windows, который включает в себя автоматическое предложение, завершение вкладок, 24-битный цвет, веб-конфигурацию, подсветку синтаксиса и другие практические функции.

Рыбная скорлупа
(Большой превью)
Еще после прыжка! Продолжить чтение ниже ↓

Терминальные утилиты и улучшения

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

О, мой ЗШ

Oh My Zsh — это управляемая сообществом платформа с открытым исходным кодом для управления вашей конфигурацией для Z Shell (или Zsh, популярной оболочки Unix). В него входят тысячи полезных функций, помощников, более 300 плагинов, более 140 тем и многое другое. Лучше всего работает в macOS или Linux, но его также можно использовать в Windows, используя что-то вроде Cygwin или WSL2.

О, мой ЗШ
(Большой превью)

Рисунок

Fig добавляет автозаполнение в стиле VSCode к вашему существующему терминалу и включает поддержку существующих инструментов CLI, таких как Git, npm, Kubernetes, Docker, AWS, Google Cloud и других.

Рисунок
(Большой превью)

fzf

fzf — это быстрый, портативный, нечеткий поиск для командной строки, который позволяет запускать нечеткие поисковые запросы с полным набором функций.

фзф
(Большой превью)

История оболочки

История оболочки (не бесплатно) — это приложение для macOS, которое интегрируется с Bash, Zsh или Fish и позволяет легко выполнять резервное копирование и синхронизацию через iCloud, а также упорядочивать историю оболочки в «блокнотах».

История оболочки
(Большой превью)

htop

htop — это интерактивная программа просмотра процессов, первоначально предназначенная только для Linux, но теперь кроссплатформенная, которая призвана улучшить команду top в Linux, предоставляя дополнительные функции при просмотре запущенных процессов.

хтоп
(Большой превью)

Интерфейс командной строки GitHub

GitHub CLI, если вы его пропустили, — это официальный кроссплатформенный интерфейс командной строки для GitHub, который переносит на ваш терминал запросы на вытягивание, проблемы и другие задачи, связанные с GitHub.

Интерфейс командной строки GitHub
(Большой превью)

Ручей

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

Ручей
(Большой превью)

icdiff

icdiff — это инструмент для сравнения файлов на базе терминала, который хорошо использует цвета для представления различий в более практичном и наглядном виде.

icdiff
(Большой превью)

>\_TerminalSplash

TerminalSplash , как следует из названия, похож на Unsplash, но для тем терминала. Выберите из более чем 200 тем, представленных пользователями, или отправьте свою собственную.

ТерминалВсплеск
(Большой превью)

Терминализатор

Terminalizer — это настраиваемый кроссплатформенный рекордер терминала, который позволяет записывать сеансы терминала, а затем делиться ими в виде анимированных GIF-файлов или через веб-плеер.

Терминализатор
(Большой превью)

Asciinema

Asciinema — еще один популярный вариант для записи и обмена через терминал, но он недоступен для Windows. Самое интересное в этом то, что записанный вывод — это не видео, а простая текстовая анимация сеанса терминала, что означает, что вы можете выбирать и копировать / вставлять элементы из записей.

Asciinema
(Большой превью)

gtop

gtop — это еще одно усовершенствование команды top , которая предоставляет панель мониторинга системы для вашего терминала. Требуется Node.js и включает частичную поддержку в Windows.

gtop
(Большой превью)

DevDash

DevDash — это панель терминала с широкими возможностями настройки для разработчиков и создателей. Вы можете настроить его для отображения информации из таких источников, как Google Analytics, GitHub, Feedly, вывод команд оболочки и т. д.

DevDash
(Большой превью)

Почетные упоминания:

  • ora
    Элегантный терминальный спиннер.
  • tiny-care-terminal
    Небольшая панель инструментов, которая пытается позаботиться о вас, когда вы используете свой терминал.
  • theme.sh
    Сценарий оболочки, позволяющий установить тему терминала, включающую более 270 предварительно загруженных тем.

Сценарии командной строки и фреймворки

Некоторые многочисленные библиотеки и фреймворки позволяют создавать и поддерживать собственные приложения и утилиты командной строки. Ниже вы найдете несколько из них для Bash, JavaScript и других.

Командуй и властвуй (cac)

Command And Conquer, также называемый cac, представляет собой облегченную среду JavaScript для создания приложений командной строки. Например, он использовался для создания нескольких инструментов формирования шаблонов на основе Node.js.

Командуй и властвуй
(Большой превью)

zx

zx — это популярная альтернатива Bash от инженеров Google, которая позволяет писать приложения командной строки с использованием JavaScript с простым в использовании API, позволяющим вызывать исполняемые файлы и получать их выходные данные, обрабатывать ошибки и т. д.

зх
(Большой превью)

present

Present present собой инструмент презентации на основе Markdown для терминала, который включает цвета и эффекты и позволяет воспроизводить предварительно записанные воспроизводимые блоки кода в виде слайдов.

настоящее время
(Большой превью)

Бах

Bach — это среда тестирования Bash, которую можно использовать для тестирования сценариев, содержащих опасные команды, такие как rm -rf / а также включает API-интерфейсы (например, @mock , @ignore , @mockallto и т. д.) для имитации команд.

Бах
(Большой превью)

CLUI

CLUI — это API JavaScript с утилитами, позволяющими создавать интерфейсы командной строки с контекстно-зависимым автозаполнением в ваших приложениях (т. е. приложениях, подобных терминалам, с которыми взаимодействуют пользователи).

КЛУИ
(Большой превью)

ShellCheck

ShellCheck — это расширение оболочки, помогающее находить ошибки в сценариях оболочки.

ШеллПроверить
(Большой превью)

Почетные упоминания

  • Basho
    Позволяет писать сложные задачи оболочки с использованием простого JavaScript и хорошо сочетается с командами и сценариями оболочки.
  • import
    Быстрая и простая в использовании модульная система для Bash и других оболочек Unix.
  • Bash Infinity
    Модульная и легкая библиотека и шаблонная структура для написания инструментов с использованием Bash.

Инструменты повышения производительности для терминала

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

Дэш Дэш

Dash Dash — это сайт онлайновой документации, который представляет справочные страницы Unix (т. е. справочные страницы) в более удобном формате, чтобы помочь тем, кто менее знаком с терминалом, научиться пользоваться командной строкой.

Дэш Дэш
(Большой превью)

nb

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

обратите внимание
(Большой превью)

Rclone

Rclone — это программа командной строки с открытым исходным кодом, которая позволяет вам управлять файлами в более чем 40 облачных хранилищах (Amazon S3, Dropbox, Google Drive, Azure и т. д.). Он включает облачные эквиваленты для знакомых команд Unix и других функций.

Рклон
(Большой превью)

navi

navi — это интерактивная шпаргалка для вашего терминала. В дополнение к другим функциям вы можете просматривать репозитории шпаргалок, импортировать шпаргалки или добавлять свои собственные.

нави
(Большой превью)

Книга задач

Книга задач — это быстрый инструмент командной строки, который позволяет упорядочивать задачи, доски и заметки в вашем терминале с такими функциями, как поиск/фильтр, настраиваемое место хранения и простой и удобный синтаксис.

Книга задач
(Большой превью)

Проводник проекта

Project Explorer — это инструмент командной строки, который позволяет вам построить древовидную визуализацию любого проекта. Это пригодится при привлечении новых членов команды или при наследовании нового проекта.

Проводник проекта
(Большой превью)

transfer.sh

transfer.sh — это быстрое и простое в использовании приложение для обмена файлами через командную строку. Включает поддержку таких сервисов, как Amazon S3, Google Drive, Storj и локальной файловой системы.

трансфер.ш
(Большой превью)

Почетные упоминания

  • ack
    Инструмент поиска кода, похожий на grep, но оптимизированный для программистов, ищущих большие деревья исходного кода.
  • goto
    Утилита оболочки с поддержкой автозаполнения для перехода к каталогам с псевдонимами.
  • bashupload
    Загружайте файлы (до 50 ГБ) через командную строку, чтобы легко обмениваться ими между серверами, настольными компьютерами и мобильными устройствами.
  • copyfiles
    Утилита командной строки, которая добавляет дополнительные возможности для копирования файлов в вашем терминале.

Какой ваш любимый инструмент командной строки?

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

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