Консольні утиліти 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. За допомогою нього ви зможете також швидко переміщатися між директоріями, змінювати права доступу, відкривати файли за допомогою вбудованого редактора, а також багато іншого. У програму вбудовано доволі зрозумілий інтерфейс, де внизу розміщені хоткеї, а вгорі дві панелі (між якими ви перемикаєтеся за допомогою клавіші 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:
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 — «підняття сайту за секунду»
Встановлення за допомогою npm:
sudo npm i surge -g
- httpie — налагоджувач вебдодатків із консолі
Встановлення за допомогою будь-якого менеджера пакетів:
sudo apt install httpie || sudo pacman -Sy httpie || sudo dnf install -Sy httpie
- hget — утиліта для парсингу сайтів у простий текстовий файл
Встановлення за допомогою npm:
sudo npm install hget -g
Застосунки, які полегшують роботу без GUI
- nmtui — утиліта з TUI для вибору і налаштування мережі прямо з термінала
- alsamixer — утиліта для налаштування звуку
- neovim — зручний редактор з підтримкою асинхронного звантаження плагінів і лінтингу мов
- browsh — браузер з псевдо-GUI (ASCII-графіка) просто в консолі
- fzf — швидкий пошук файлів (FuzzyFinder)
Якщо у вас є утиліти, які вам подобаються, напишіть про них у коментарях!
Авторські курси Linux навчального центру itedu.center