Консольные утилиты 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-клиент для консоли.

Администрирование

  • gotop — программа для визуализации процессов (аналог htop)
    Установка с помощью Snap:

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)

***

Если у вас есть утилиты, которые вам нравятся, напишите о них в комментариях! 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *