Post

Прощавай, 1970-й: 5 сучасних CLI-утиліт, які назавжди замінять ls, cat, top, cd та neofetch

Прощавай, 1970-й: 5 сучасних CLI-утиліт, які назавжди замінять ls, cat, top, cd та neofetch

🇬🇧 Read this article in English


Задумайтесь на секунду: на дворі 2026 рік. Ми запускаємо сервери з десятками гігабайтів оперативної пам’яті, багатоядерними процесорами та NVMe-накопичувачами зі швидкістю читання 7000 МБ/с. Але коли справа доходить до роботи в терміналі, 90% інженерів досі використовують утиліти, створені для телетайпів PDP-11 на початку 1970-х років.

Команда cat вивалює 10 000 рядків коду суцільним монохромним простирадлом. Утиліта ls не вміє показати іконку чи стан Git, а top виглядає так, ніби його верстали перфокартами.

Нова хвиля системних інструментів, написаних переважно на Rust, C++ та Go, виправляє це неподобство. Вони зберігають класичну філософію Unix (робити одну річ, але бездоганно), додаючи кольори, підсвітку синтаксису, інтеграцію з Git та блискавичну швидкість.

Сьогодні розберемо топ-5 утиліт нової ери, після знайомства з якими ви вже ніколи не захочете повертатися до стандартних команд.


1. eza замість ls: Файловий менеджер здорової людини

Оригінальна утиліта ls з’явилася в першій версії Unix у 1971 році. Вона надійна, але сліпа: не відрізняє розширення файлів кольором без плясок з бубном, не знає про системи контролю версій і вимагає окремої утиліти tree, щоб просто глянути структуру папки.

На зміну їй прийшла eza (сучасний, активно підтримуваний форк легендарного exa, написаний на Rust).

Вивід утиліти eza в терміналі Мал. 1. Деревоподібний вивід eza: нативні векторні іконки, кольорові розміри та статус Git на полях

Головні фішки eza:

  • Векторні іконки: Автоматично ставить значки біля файлів (Gemfile, .yml, .py, .md, архіви).
  • Глибока інтеграція з Git: Поруч із розміром файлу з’являється статус: M (Modified), A (Added), - (Unmodified).
  • Вбудоване дерево: Команда eza --tree --level=2 замінює сторонню утиліту tree.
  • Людські дати та розміри: Замість сухих байтів — красиві 12k, 2.1M, підсвічені різними кольорами залежно від ваги файлу.

Як встановити:

1
2
3
4
5
6
7
8
9
10
11
# Ubuntu / Debian:
sudo apt install eza -y

# Fedora / AlmaLinux / RHEL:
sudo dnf install eza -y

# macOS:
brew install eza

# Windows (через winget):
winget install eza-community.eza

Корисні аліаси у ваш ~/.bashrc або ~/.zshrc:

1
2
3
alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias lt="eza --tree --level=2 --icons"

2. bat замість cat: Кіт із крилами та підсвіткою синтаксису

Команда cat (concatenate) спочатку створювалася для об’єднання файлів, але 99% часу ми використовуємо її як швидкий переглядач вмісту конфігів або скриптів. Проблема в тому, що cat абсолютно байдужий до синтаксису: конфіг Nginx, JSON на 500 рядків чи Python-код виглядають як суцільна сіра каша.

bat — це клон cat на стероїдах, написаний на Rust.

Вивід утиліти bat у терміналі Мал. 2. Перегляд конфігураційного файлу через bat із номерами рядків та Git-модифікаціями

Головні фішки bat:

  • Підсвітка синтаксису для 200+ мов: Автоматично визначає формат за розширенням або шебангом (#!/bin/bash).
  • Git Diff на полях: Якщо файл знаходиться у Git-репозиторії, bat показує смужки праворуч від номерів рядків: зелений + для нових рядків, помаранчевий ~ для змінених.
  • Автоматичний розумний пейджер: Якщо файл не поміщається на один екран, bat автоматично вмикає гортання у стилі less. Якщо файл короткий — просто виводить його без зайвих натискань q.
  • Відображення невидимих символів: Прапорець -A показує всі пробіли, таби та символи кінця рядків CRLF/LF.

Як встановити:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Ubuntu / Debian:
sudo apt install bat -y
# На Debian/Ubuntu бінарник може називатися batcat, лікується:
# mkdir -p ~/.local/bin && ln -s /usr/bin/batcat ~/.local/bin/bat

# Fedora / AlmaLinux / RHEL:
sudo dnf install bat -y

# macOS:
brew install bat

# Windows:
winget install sharkdp.bat

Корисний аліас:

1
alias cat="bat --paging=never"

3. btop замість top та htop: Sci-Fi дашборд моніторингу

Якщо запустити класичний top, перед очима з’явиться нервово мерехтливий монохромний список процесів. htop свого часу став порятунком, додавши кольорові текстові смужки пам’яті та процесора. Але у 2026 році лідером став btop (раніше btop++ / bpytop), написаний на швидкому C++.

Інтерфейс btop у терміналі Мал. 3. Кібернетичний монітор btop: покадрове навантаження по ядрах, I/O дисків, мережа та дерево процесів

Головні фішки btop:

  • Преміальний дизайн: Справжній інтерфейс космічного корабля з плавними графіками на базі шрифтових символів Braille.
  • Повний моніторинг заліза: Окремі блоки для CPU (з частотою та температурою кожного ядра), пам’яті, дисків (читання/запис у реальному часі) та мережі.
  • Підтримка GPU: Вміє прямо «з коробки» моніторити відеокарти Nvidia, AMD та Intel.
  • Зручне керування процесами: Фільтрація по натисканню f, дерево процесів по кнопці t, відправка SIGKILL або SIGTERM без запам’ятовування номерів сигналів.
  • Підтримка миші: Так, у консольному btop можна просто клікати мишкою по вкладках і процесах!

Як встановити:

1
2
3
4
5
6
7
8
9
10
11
# Ubuntu / Debian:
sudo apt install btop -y

# Fedora / AlmaLinux / RHEL:
sudo dnf install btop -y

# macOS:
brew install btop

# Windows:
winget install aristocratos.btop4win

4. fastfetch замість мертвого neofetch: Системний паспорт за мілісекунди

Усі ми бачили ці красиві скріншоти на Reddit у r/unixporn: зліва ASCII-логотип дистрибутива, праворуч характеристики заліза та операційної системи. Роками це робив скрипт neofetch.

Але у травні 2024 року творець neofetch офіційно закрив репозиторій і пішов з IT (буквально написавши, що тепер займається фермерством). Крім того, старий neofetch був важким Bash-скриптом і міг вантажитися по кілька секунд.

Йому на заміну прийшов fastfetch — утиліта, написана на чистому C з акцентом на екстремальну швидкість та повну модульність.

Вивід fastfetch у терміналі Мал. 4. Миттєвий вивід системного паспорта через fastfetch з інформацією про ядро, диск та пам’ять

Головні фішки fastfetch:

  • Блискавична швидкість: Запускається за 10–20 мілісекунд (у 20 разів швидше за neofetch!). Його можна безбоязно ставити в автозапуск при вході по SSH.
  • Підтримка JSON та сотень конфігів: Легко налаштовується від мінімалістичного списку з 3 рядків до величезного діагностичного дашборда.
  • Детекція всього: Бачить контейнери Docker, статус батареї, версії компіляторів, активні Bluetooth-пристрої та локальний/публічний IP.

Як встановити:

1
2
3
4
5
6
7
8
9
10
11
# Ubuntu 24.04+ / Debian 13+:
sudo apt install fastfetch -y

# Fedora / AlmaLinux 9+:
sudo dnf install fastfetch -y

# macOS:
brew install fastfetch

# Windows:
winget install Fastfetch-cli.Fastfetch

Додайте виклик fastfetch на самий початок свого ~/.bashrc, і кожен вхід на сервер буде зустрічати вас стильним звітом.


5. zoxide замість cd: Телепортація по директоріях

Скільки разів на день ви вводите щось на кшталт:

1
cd /var/www/vhosts/sedunlab.com/jekyll_site/_posts/

А якщо помилилися в одній літері — починаєте тиснути Tab, сердитися та вводити заново.

zoxide — це розумна заміна команди cd, яка запам’ятовує папки, в яких ви найчастіше буваєте, використовуючи алгоритм Frecency (поєднання частоти та свіжості відвідувань).

Демонстрація інтерактивного стрибка zoxide Мал. 5. Телепортація через zoxide та інтерактивний вибір папки командою zi

Як це працює на практиці:

Ви один раз перейшли в папку звичайним шляхом. Відтепер, з будь-якого куточка системи, вам достатньо написати:

1
2
3
z posts
# або навіть:
z sedun

zoxide сам розпізнає контекст і миттєво перенесе вас у /var/www/vhosts/sedunlab.com/jekyll_site/_posts/!

А якщо папок зі схожими назвами кілька, введіть команду:

1
zi

Вона відкриє інтерактивне меню з нечітким пошуком (Fuzzy Finder), де можна стрілочками або першими літерами вибрати потрібний каталог.

Як встановити:

1
2
3
4
5
6
7
8
# Універсальний скрипт (Linux / macOS):
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

# macOS:
brew install zoxide

# Windows:
winget install ajeetdsouza.zoxide

Активація в оболонках:

  • У ~/.bashrc: eval "$(zoxide init bash)"
  • У ~/.zshrc: eval "$(zoxide init zsh)"
  • У PowerShell ($PROFILE): Invoke-Expression (& { (zoxide init powershell | Out-String) })

Порівняльна таблиця: Стара школа vs Сучасний тулкіт

Стара утилітаСучасна замінаМоваГоловна перевага
lsezaRustІконки, статус Git, дерево каталогів, кольорове маркування
catbatRustПідсвітка коду, номери рядків, Git diff, автоматичний пейджер
top / htopbtopC++Візуальні графіки CPU/RAM/Disks, підтримка GPU, підтримка миші
neofetchfastfetchCБлискавичний запуск за 10 мс, повна підтримка сучасного заліза
cdzoxideRustРозумна телепортація за 2 літери замість довгих шляхів

Готовий блок аліасів для копіювання

Щоб ці утиліти замінили старі звички без необхідності ламати пам’ять пальців, додайте ці рядки у свій ~/.bashrc, ~/.zshrc або конфіг PowerShell:

1
2
3
4
5
6
7
# Сучасний термінальний стек
alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias lt="eza --tree --level=2 --icons"
alias cat="bat --paging=never"
alias top="btop"
alias cd="z"

Підсумки

Командний рядок — це головне робоче середовище інженера. Немає жодної причини страждати від монохромного виводу з минулого століття, якщо сучасні відкриті інструменти дозволяють зберегти нерви, додати естетики та прискорити навігацію в рази.

Оновіть свій термінальний стек прямо зараз під п’ятничну каву — і робота в консолі приноситиме суцільне задоволення! ☕🚀

This post is licensed under CC BY 4.0 by the author.