Мощные инструменты терминала и командной строки (CLI) для современной веб-разработки
Опубликовано: 2022-03-10Многие современные программисты, в том числе front-end и full-stack разработчики, ежедневно работают с командной строкой. Даже те, кто относительно плохо знаком с веб-разработкой, рано приобретают навыки работы с командной строкой и находят практические инструменты и утилиты для повышения своей производительности в терминале.
В этом посте представлен разбитый по категориям список многих приложений командной строки, которые я лично обнаружил за последние несколько лет. Некоторые из них относительно новые, другие существуют уже некоторое время. Поэтому я надеюсь, что что-то из этого обзора заинтересует вас и поможет вам в работе с терминалом.
Вы можете перейти к категории, используя навигацию ниже:
- Терминальные приложения
- Терминальные утилиты и улучшения
- Сценарии командной строки и фреймворки
- Инструменты повышения производительности для терминала
Терминальные приложения
В этом разделе представлены терминалы, мультиплексоры, эмуляторы консолей, мобильные терминалы и рабочие области командной строки, которые можно использовать для замены терминального приложения по умолчанию в вашей системе.
tmux
tmux
— популярный терминальный мультиплексор для Unix-подобных операционных систем, который позволяет легко переключаться между несколькими программами в одном терминале с возможностью «отсоединять» сеанс (оставаясь работающим в фоновом режиме) или «повторно присоединять» его к другому Терминал.
iTerm2
iTerm2
, преемник iTerm, является заменой вашего терминала в macOS, который включает в себя такие функции, как разделение панелей, надежный поиск, автозаполнение, мгновенное воспроизведение, а также множество параметров конфигурации.
Мош
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 — это полноэкранный кроссплатформенный эмулятор терминала и системный монитор, вдохновленный интерфейсами научно-фантастических фильмов, в частности фильмом «Трон: Наследие».
Табби
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.
Ручей
Streamhut позволяет вам делиться своим терминалом в режиме реального времени, ничего не устанавливая. Просто запустите одну из двух команд (в зависимости от вашей настройки), что полезно для сеансов терминала в режиме реального времени при совместной работе, интервью или обучении.
icdiff
icdiff
— это инструмент для сравнения файлов на базе терминала, который хорошо использует цвета для представления различий в более практичном и наглядном виде.
>\_TerminalSplash
TerminalSplash
, как следует из названия, похож на Unsplash, но для тем терминала. Выберите из более чем 200 тем, представленных пользователями, или отправьте свою собственную.
Терминализатор
Terminalizer — это настраиваемый кроссплатформенный рекордер терминала, который позволяет записывать сеансы терминала, а затем делиться ими в виде анимированных GIF-файлов или через веб-плеер.
Asciinema
Asciinema — еще один популярный вариант для записи и обмена через терминал, но он недоступен для Windows. Самое интересное в этом то, что записанный вывод — это не видео, а простая текстовая анимация сеанса терминала, что означает, что вы можете выбирать и копировать / вставлять элементы из записей.
gtop
gtop
— это еще одно усовершенствование команды top
, которая предоставляет панель мониторинга системы для вашего терминала. Требуется Node.js и включает частичную поддержку в Windows.
DevDash
DevDash
— это панель терминала с широкими возможностями настройки для разработчиков и создателей. Вы можете настроить его для отображения информации из таких источников, как Google Analytics, GitHub, Feedly, вывод команд оболочки и т. д.
Почетные упоминания:
-
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
Утилита командной строки, которая добавляет дополнительные возможности для копирования файлов в вашем терминале.
Какой ваш любимый инструмент командной строки?
Как уже упоминалось, это не исчерпывающий список, а просто большая коллекция соответствующих приложений и утилит командной строки, с которыми я лично сталкивался за последние несколько лет.
Если вы создали что-то самостоятельно или регулярно используете что-то, что делает ваш терминал еще более увлекательным, не стесняйтесь оставлять его в комментариях!