Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.
Почему стоит написать об этом
Написать о утилитах (прежде всего консольных) стоит из-за того, что я вижу, как многие люди не используют мощность консоли на все 100%. Многие ограничиваются простым созданием файлов, а также переходом между директориями, работая в консоли. Я считаю что это следствие того, что в рунете мало источников, где бы могли нормально рассказать о утилитах, как на них работать, и что они делают.
Оценивать утилиты мы будем по 5-бальной шкале. Сделано это для того, чтобы вы сразу могли понять, где на мой субъективный взгляд, одна утилита на голову выше другой. Я не призываю использовать что-то определенное, или использовать только командные утилиты. Нет, наоборот, я просто даю вам выбор. Пользоваться или нет полученными знаниями, на которые я потратил кучу времени — дело ваше.
Я сразу хочу сказать, что в этом посте присутствуют утилиты, которые понадобились непосредственно мне при разработке. Если у вас есть свои предложения как дополнить этот список, милости прошу в комментарии.
Перейдем к списку
Передвижение по директориям
ViFM
ViFM — vim-подобный файловый менеджер, который способен быстро переходить между директориями и выполнять какие-либо операции с файлами и директориями посредством ввода команд или хоткеев. По умолчанию представляет из себя две панели (чёрную и белую) между которыми вы можете переключаться.
Оценка: 3, ибо для того чтобы пользоваться этим ФМ, вам нужно будет выучить кучу vim-подобных команд, а также знать хоткеи vim'а
mc
mc (Midnight Commander) — классика в Linux'e. С помощью него вы сможете также быстро перемещаться между директориями, менять права доступа, открывать файлы с помощью встроенного редактора, а также многое другое. В программу встроен довольно понятный интерфейс, где внизу находятся хоткеи, а вверху две панели (между которыми вы переключаетесь с помощью клавиши Tab).
Оценка: 5. Это то, что нужно новичку, и подходит продвинутому пользователю. Вам не нужны никакие предварительные знания, чтобы полноценно использовать этот ФМ.
Ranger
Ranger — ещё один ФМ с вим-подобной раскладкой. Однако, на этот раз утилита написана на Python (что делает его медленнее), но в то же время чертовски гибкой и удобной. Вы можете открывать файлы сразу из менеджера с помощью rifle (сценарий, который ищет какая программа подойдет для открытия данного файла на вашем ПК). Также доступно редактирование, просмотр быстрых клавиш (отдельно от мануала, который вызывается командой :help), и много других плюшек.
Оценка: 4. Было бы 5, если бы не скорость работы
Быстрый поиск
Быстрый поиск не доступен на оболочке Gnome, например. (Здесь говорится о быстром поиске включая содержимое файлов. Gnome же обладает просто поиском, причем ещё и очень медленным)
fzf
fzf (FuzzyFinder) — утилита для быстрого поиска среди директорий, а также текста в определенном массиве файлов. Она может быть легко заменена на find, однако является его более быстрым и удобным аналогом.
Оценка: 5. Утилита отлично выполняет свою работу.
hf
hf (happyfinder) — ещё одна утилита для быстрого поиска в директориях и файлах. Отличается тем, что доступны также некоторые хоткеи и использование команд в самой утилите реализованно чуточку удобнее, чем у конкурента
Оценка: 5
autojump
autojump — утилита для быстрого перепрыгивания через папки к определенному файлу.
Редактирование
Тут я ограничюсь только списком утилит. Ибо редактор — то, чем вы пользуетесь постоянно (а если не пользуетесь, то тем более вам не нужны лишние объяснения), поэтому тут на вкус и цвет
- Vim
- NeoVim
- Nano (стандартный редактор Linux)
- Vi (ещё один стандартный редактор Linux)
- Emacs
- Micro
- Kakoune
- Doom Emacs (просто конфигурация Emacs, однако изменяет его так, что это уже совсем не похоже на ванильный Emacs)
Сами терминалы
Alacritty (самый быстрый)
Alacritty — эмулятор терминала на Linux/Windows/MacOS, который считается самым быстрым (так пишет сам автор этого терминала)
Оценка: 4. На мой субъективный взгляд — не самый удобный и комфортный терминал.
Hyper (самый красивый)
Hyper — терминал, который заслуживает того, чтобы вы попробовали использовать его на своей системе. Его интерфейс сделан с помощью CSS/HTML, а базируется он на фреймворке Electron (что конечно же будет делать его немножко прожорливее)
Оценка: 5. Терминал удобный и красивый. Он расширяемый и в нём есть куча фич.
Быстрая справка (или поиск чего-либо)
ddgr
ddgr — командная утилита, которая позволяет пользоваться DuckDuckGo прямо из консоли.
Оценка: 5. Программа быстро выполняет запрос и отдаёт результаты (естественно, ибо не нужно прогружать HTML/CSS. Всё быстренько парсится)
tldr
tldr — замена стандартного man, который умеет всё тоже самое, однако вместо того, чтобы давать полный мануал к программе, она даёт краткие вырезки для быстрого использования
Оценка: 4. Иногда tldr выдаёт уж слишком короткую справку, а также на многие программы просто нет документации в tldr
howdoi
howdoi — парсит ответы с разных сайтов на вопросы о программировании.
Оценка: 3. Часто находит ответы на совсем не те вопросы. Также крайне неудобно, что ответ выводится только один
navi
navi — консольная утилита, подобная howdoi, однако отвечающая сугубо на вопросы о командах консоли
how2
how2 — утилита подобная howdoi, однако дающая выбор на какой вопрос посмотреть ответ. (Парсит всё с StackOverflow)
Оценка: 5. Лучшая утилита для быстрого поиска решений
Веб-разработка
Surge — утилита для быстрого пуша сайтов на бесплатный (или платный, в зависимости от ваших требований) сервер
Caniuse — консольная утилита, которая говорит какие теги поддерживаются в браузерах
Дополнительные утилиты
trash-cli
trash-cli — утилита для просмотра того, что содержится в корзине
buku
buku — утилита для быстрой сортировки и хранения закладок сайтов со всех браузеров.
tmux
tmux — терминальный мультиплексор. Делит окно вашего терминала на панели. Очень удобно, когда в вашем распоряжении нет GUI вообще.
text-meme-cli
text-meme-cli — утилита для создания анимации текста на каком-либо фоне.
asciinema
asciinema — утилита для записи хронологии команд терминала в гиф-файл.
Youtube-dl
youtube-dl — утилита для скачивания видео/аудио с видеохостинга Youtube.
picofeed
picofeed — легкий RSS клиент для консолей
terminalnews
terminalnews — ещё один удобный RSS-клиент для консоли.
А что за список?
Это список утилит, которые я использую сам лично. Дополнительный список вы можете найти здесь ссылка на репозиторий GitHub
Я настоятельно попрошу вас дополнить список своими утилитами в комментариях. Если этот пост принёс в ваш терминал хоть чуточку чего-нибудь нового — был рад посодействовать.
Автор: Даниил