Консольные утилиты Linux, которые облегчат вам жизнь
Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.
Предисловие для новичков
Стоит начать с того, какой у вас стоит дистрибутив. Вы, конечно же, можете всё компилировать из исходников, однако не у всех пользователей есть такие навыки, а если компилятор выдаст ошибку, то пользователи просто расстроятся и не смогут попробовать новые утилиты, а не пойдут искать решения на стаке. Во избежание этого условимся на простых правилах:
- Если вы сидите на ветке Debian (Ubuntu, Debian, Mint, Pop!_os) попробуйте поискать программы на Launchpad, пакеты в репозиториях утилит формата .deb
- Если вы сидите на ветке Arch (Arch, Manjaro, Void Linux) то попробуйте поискать программу в AUR репозиториях, сами утилиты и программы в формате .appimage (если это графические утилиты), а также MAKEPKG файлы для компилирования исходников автоматически
- Если вы сидите на ветке RedHat (Fedora, CentOS), то попробуйте воспользоваться встроенной в большинство дистрибутивов ветки RedHat утилитой Flatpak (аналог Snap). Также, попробуйте поискать пакеты в формате .rpm
Почему стоит написать об этом
Написать о утилитах (прежде всего консольных) стоит из-за того, что многие люди не используют мощность консоли на все 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-клиент для консоли.
Администрирование
snap install gotop –classic
- glances — ещё один аналог htop, однако на этот раз более функциональный
Установка с помощью pip
pip install glances
Веб-разработка
- JSShell — если вам по какой-то причине не нравится консоль браузера, то всегда можно сделать те же операции в терминале
- live-server — утилита для легкого запуска локального сервера с автообновлением при изменении index.html (или другого файла)
Установка с помощью npm
sudo npm i live-server -g
wp-cli — утилита для администрирования сайта на WordPress с помощью консоли
Установка с помощью копирования исходника из репозитория
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar –info
chmod +x wp-cli.phar
- sudo mv wp-cli.phar /usr/local/bin/wp
- surge — “поднятие сайта за секунду”
Установка c помощью npm
sudo npm i surge -g - httpie — отладчик веб-приложений из консоли
Установка с помощью любого менеджера пакетов
sudo apt install httpie || sudo pacman -Sy httpie || sudo dnf install -Sy httpie - hget — утилита для парсинга сайтов в простой текстовый файл
Установка c помощью npm
sudo npm install hget -g
Приложения, которые облегчают работу без GUI
- nmtui — утилита с TUI для выбора и настройки сети прямо из терминала
- alsamixer — утилита для настройки звука
- neovim — удобный редактор с поддержкой асинхнронного скачивания плагинов и линтинга языков
- browsh — браузер с псевдо-GUI (ASCII-графика) прямо в консоли
- fzf — быстрый поиск файлов (FuzzyFinder)
***
Если у вас есть утилиты, которые вам нравятся, напишите о них в комментариях!
Авторские курсы Linux учебного центра itedu.center