Добавить в корзинуПозвонить
Найти в Дзене
VK Cloud

Иллюстрированное руководство по полезным инструментам командной строки

Подготовили подборку из 28 полезных инструментов командной строки, которые пригодятся для повседневной работы каждого разработчика и системного администратора. Это быстрые инструменты без серьезных зависимостей в средах выполнения типа Python или node.js. Большинство программ работают на *BSD, Linux, macOS, часто и на Windows. Многие инструменты доступны через системные репозитории соответствующих ОС. Статья подготовлена на основе перевода статьи Wesley Moore, An Illustrated Guide to Some Useful Command Line Tools Alacritty, язык: Rust Alacritty — быстрый эмулятор терминала. Хотя это не совсем инструмент командной строки, но он позволяет запускать упомянутые ниже инструменты. Из этого эмулятора сделаны все скриншоты в статье. Репозиторий alt, язык: Rust alt — инструмент для поиска «альтернативного» файла, то есть связанного файла в другом месте системы. Например, спецификации к реализации (коду) или тест для реализации, смотрите примеры для разных языков программирования. Его можно исп
Оглавление

Подготовили подборку из 28 полезных инструментов командной строки, которые пригодятся для повседневной работы каждого разработчика и системного администратора. Это быстрые инструменты без серьезных зависимостей в средах выполнения типа Python или node.js. Большинство программ работают на *BSD, Linux, macOS, часто и на Windows. Многие инструменты доступны через системные репозитории соответствующих ОС.

Статья подготовлена на основе перевода статьи Wesley Moore, An Illustrated Guide to Some Useful Command Line Tools

Alacritty, язык: Rust

Alacritty — быстрый эмулятор терминала. Хотя это не совсем инструмент командной строки, но он позволяет запускать упомянутые ниже инструменты. Из этого эмулятора сделаны все скриншоты в статье.

Репозиторий

alt, язык: Rust

alt — инструмент для поиска «альтернативного» файла, то есть связанного файла в другом месте системы. Например, спецификации к реализации (коду) или тест для реализации, смотрите примеры для разных языков программирования. Его можно использовать вместе с Neovim, чтобы легко переключаться между тестами и реализацией.

$ alt app/models/page.rb
spec/models/page_spec.rb


Репозиторий

bat, язык: Rust

bat используют для вывода файла в консоль. Он является более верной альтернативой инструменту cat. Поддерживает подсветку синтаксиса и интеграцию с git.

Репозиторий

-2

bb, язык: Rust

bb — системный монитор, как top. Показывает общее использование процессора и памяти, а также подробную информацию о каждом процессе.

Репозиторий

-3

chars, язык: Rust

chars отображает информацию о символах Юникода, соответствующих поисковому запросу.

Репозиторий

-4

dot, язык: Rust

dot — это менеджер скрытых файлов (dotfiles). Поддерживает набор симлинков в соответствии с файлом сопоставления.

Репозиторий

-5

dust, язык: Rust

dust — альтернатива du -sh. Он вычисляет размер дерева каталогов и выводит сводку самых больших объектов.

Репозиторий

-6

exa, язык: Rust

exa — замена ls с разумными значениями по умолчанию (цветовая схема, расширенные атрибуты и другие) и дополнительными функциями, такими как tree view, интеграция c git и дополнительные иконки.

Репозиторий

-7

eva, язык: Rust

eva — это калькулятор командной строки, похожий на bc, с подсветкой синтаксиса и хранением истории.

Репозиторий

-8

fd, язык: Rust

fd является альтернативой find с более удобным интерфейсом командной строки и распознаванием файлов с расширением .ignore, например .gitignore. Сочетание скорости и поддержки файлов с расширением .ignore отлично подходит для поиска файлов в репозиториях git.

Репозиторий

-9

hexyl, язык: Rust

hexyl — это hex-просмотрщик с символами Юникода и расцветкой выдачи, чтобы улучшить читаемость.

Репозиторий

-10

hyperfine, язык: Rust

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

Репозиторий

-11

jq, язык: C

jq — это своего рода awk для JSON. Позволяет преобразовывать и извлекать информацию из документов JSON.

Репозиторий

-12

mdcat, язык: Rust

mdcat отображает в терминале файлы с разметкой Markdown. В поддерживаемых терминалах (кроме Alacritty) ссылки кликабельны, изображения отображаются.

Репозиторий

-13

pass, язык: sh

pass — парольный менеджер, который шифрует пароли в GPG. Его можно использовать, например, с расширением passff для Firefox и Pass для iOS на телефоне.

Репозиторий

-14

Podman, язык: Go

Podman — альтернатива Docker, не требующая демона. Контейнеры поднимаются от имени пользователя, который запускает Podman, поэтому файлы, записанные на хост, не принадлежат пользователю с root-правами. Интерфейс во многом совместим с интерфейсом командной строки Docker.

Репозиторий

Читайте также: зачем бэкенд-разработчику нужно выучить язык Go?

-15

Restic, язык: Go

Restic — инструмент резервного копирования, который шифрует файлы на стороне клиента, удаляет дубли, поддерживает различные локальные и удаленные бэкенды для записи файлов: sftp по SSH, HTTP REST, AWS S3, OpenStack Swift, BackBlaze B2, Microsoft Azure, Google Cloud и др.

Сайт

Источник: демонстрационное видео Restik
Источник: демонстрационное видео Restik

ripgrep, язык: Rust

ripgrep (rg) рекурсивно ищет в файловых деревьях текст, соответствующий регулярному выражению. Работает быстро, по умолчанию пропускает файлы с расширением .ignore и бинарные файлы.

Репозиторий

-17

shotgun, язык: Rust

shotgun — инструмент для снятия скриншотов в окружении на основе X.org. Все скриншоты в этой статье сделал shotgun. Он хорошо сочетается со slop, об этом инструменте расскажем ниже.

$ shotgun $(slop -c 0,0,0,0.75 -l -f «-i %i -g %g») eva.png


Репозиторий

skim, язык: Rust

skim — инструмент для поиска нечеткого совпадения данных, подаваемых на вход. Можно использовать вместе с Neovim и zsh для нечеткого сопоставления имен файлов.

Репозиторий

slop, язык: C++

slop (select operation) представляет UI для выбора области экрана/окна — и ее печати в stdout. Хорошо работает с shotgun.

$ slop -c 0,0,0,0.75 -l -f «-i %i -g %g»
-i 8389044 -g 1464×1008+291+818


Репозиторий

Syncthing, язык: Go

Инструмент децентрализованной синхронизации файлов. Как Dropbox, но на своем хостинге, без зависимости от сторонних сервисов.

Репозиторий

Паттерны проектирования и контейнеры, без которых разработчику никуда

tig, язык: C

tig — это текстовый UI для Git. Отлично подходит для просмотра изменений и подготовки к коммиту, просмотра истории и различий.

Репозиторий

titlecase, язык: Rust

titlecase — небольшой инструмент, который написал Уэсли Мур для генерации заголовков в соответствии с форматом в описании Джона Грубера. Правильно обрабатывает знаки препинания и слова со строчной буквы, такие как iPhone.

$ echo ‘an illustrated guide to useful command line tools’ | titlecase
An Illustrated Guide to Useful Command Line Tools


Его можно запустить из Neovim, с обработкой выделенного текста. Это делается путем визуального выделения и ввода :!titlecase.

Репозиторий

Universal Ctags, язык: C

Universal Ctags — форк активно поддерживаемой утилиты exuberant-ctags. Она создает файл тегов, который vim и другие инструменты используют для перехода к определению символов в файлах.

$ ctags —recurse src


Репозиторий

watchexec, язык: Rust

watchexec — программа отслеживания файлов и каталогов, которая выполняет команды в случае определенного изменения файловой системы. Это удобно для автоматического запуска тестов или перезапуска веб-сервера разработки при изменении исходников.

# run command on file change
$ watchexec -w content cobalt build


# kill and restart server on file change
$ watchexec -w src -s SIGINT -r ‘cargo run’


Репозиторий

z, язык: sh

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

Репозиторий

-18

zola, язык: Rust

zola — очень быстрый полнофункциональный компилятор статических сайтов.

Репозиторий

-19

Надеемся, вы найдете в этом списке что-то полезное для себя. Как уже упоминалось, список будет дополняться. Это живой документ, который обновляется здесь.

Автор: Анатолий Ализар

Источник: https://mcs.mail.ru/blog/illyustrirovannoe-rukovodstvo-po-poleznym-instrumentam-komandnoj-stroki