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

Адміністрування

  • 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 — «підняття сайту за секунду» 

Встановлення за допомогою 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

Залишити відповідь

Дякуємо, що поділились