Командний рядок Linux – це потужний інструмент, за допомогою якого можна виконувати будь-які дії – від керування файлами до конфігурування системи. Однак із розвитком технологій змінюються й інструменти, наявні в нашому розпорядженні. У цьому навчальному посібнику ми розглянемо 10 сучасних альтернатив деяким найпопулярнішим командам Linux, виділимо їхні переваги та наведемо приклади використання. Ці альтернативи часто відрізняються підвищеною продуктивністю, розширеними можливостями і спрощеним синтаксисом.
Слід мати на увазі, що ці альтернативи не є повною заміною широко використовуваних традиційних команд Linux. Натомість вони слугують заміною, забезпечуючи порівнянні функціональні можливості. Крім того, деякі з наведених нижче утиліт написані сучасною мовою програмування (наприклад, Rust).
1. Bat: Альтернатива команді cat
Bat – це сучасна заміна традиційної команди cat. Вона пропонує підсвічування синтаксису, нумерацію рядків та інтеграцію з Git для перегляду коду.
Встановлення Bat у Linux:
$ sudo apt install bat # For Ubuntu/Debian
$ sudo dnf install bat # For Fedora
Використання Bat:
bat filename
Приклад:
Вивести вміст файлу з підсвічуванням синтаксису:
$ bat testscript.sh
2. exa: Альтернатива команді ls
exa – це сучасна заміна традиційної команди ls. Вона забезпечує покращене форматування, кольорове кодування виводу та додаткові метадані.
Встановіть exa в Linux:
$ sudo apt install exa # For Ubuntu/Debian
$ sudo dnf install exa # For Fedora
exa Використання:
$ exa -l
3. autojump: Альтернатива команді cd
autojump дає змогу швидко переходити до часто відвідуваних каталогів, використовуючи неповні імена. autojump працює завдяки веденню бази даних каталогів, які найчастіше використовуються з командного рядка.
Встановлення autojump в Linux:
$ sudo apt install autojump # For Ubuntu/Debian
$ sudo dnf install autojump # For Fedora
Щоб використовувати autojump, необхідно налаштувати оболонку так, щоб під час запуску вона видавала файл /usr/share/autojump/autojump.sh.
Якщо ви використовуєте Bash, додайте наступний рядок до ~/.bashrc (для інтерактивних оболонок без входу в систему) і ~/.bash_profile (для оболонок із входом у систему):
. /usr/share/autojump/autojump.sh
Якщо ви використовуєте Zsh, додайте наступний рядок у файл ~/.zshrc (для всіх інтерактивних оболонок):
. /usr/share/autojump/autojump.sh
autojump Використання:
Зверніть увагу, що перед переходом до каталогів їх необхідно спочатку відвідати.
j <partial_directory_name>
Приклад:
Щоб швидко перейти в каталог з ім’ям pyapps, виконайте команду:
$ j pya
4. zoxide: Альтернатива команді cd
zoxide – це інструмент навігації по каталогах у командному рядку, що запам’ятовує часто використовувані каталоги. Він дає змогу швидко “переходити” в ці каталоги, використовуючи мінімальну кількість натискань клавіш. Вона сумісна з усіма основними оболонками.
Встановлення zoxide в Linux:
Рекомендований спосіб встановлення zoxide – використання такого однорядкового скрипта:
$ curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
zoxide також доступний у стандартних сховищах багатьох популярних дистрибутивів Linux, тому ви можете встановити його за допомогою стандартного менеджера пакетів вашого дистрибутива.
$ sudo apt install zoxide # For Ubuntu/Debian
$ sudo dnf install zoxide # For Fedora
Щоб почати використовувати zoxide, необхідно інтегрувати його в конфігурацію оболонки.
Для оболонки Bash відредагуйте файл ~/.bashrc і додайте в кінець такий рядок:
eval "$(zoxide init bash)"
Для оболонки Fish відредагуйте файл ~/.config/fish/config.fish і додайте в кінець такий рядок:
zoxide init fish | source
Для Zsh додайте це в кінець файлу ~/.zshrc:
eval "$(zoxide init zsh)"
zoxide Застосування:
z <partial_directory_name>
Приклад:
Щоб швидко перейти до часто відвідуваного каталогу (наприклад, pyapps), виконайте команду:
$ z py
5. HTTPie: Альтернатива командам curl і wget
HTTPie – це зручний інструмент командного рядка для виконання HTTP-запитів. Він пропонує підсвічування синтаксису, підтримку JSON і більш інтуїтивно зрозумілий інтерфейс порівняно з curl.
Встановіть HTTPie в Linux:
$ sudo apt install httpie # For Ubuntu/Debian
$ sudo dnf install httpie # For Fedora
Використання HTTPie:
http GET http://example.com
Приклад:
$ https httpie.io/hello
6. ripgrep: Альтернатива команді grep
ripgrep – це швидкий і зручний інструмент пошуку, який рекурсивно шукає в поточному каталозі заданий шаблон. ripgrep схожий на інші популярні інструменти пошуку, такі як The Silver Searcher, ack і grep.
Встановіть програму ripgrep у Linux:
$ sudo apt install ripgrep # For Ubuntu/Debian
$ sudo dnf install ripgrep # For Fedora
ripgrep Використання:
rg <search_pattern>
Приклад:
Для пошуку шаблону (наприклад, “start”) у заданому файлі (наприклад, job_log.txt) за допомогою ripgrep виконайте команду:
$ rg start job_log.txt
7. sd: альтернатива команді sed
sd – це сучасна версія sed, орієнтована на простоту та зручність використання. Вона дає змогу легко виконувати операції пошуку та заміни.
Встановлення sd в Linux:
Переконайтеся, що у вашій системі встановлено Rust, і за допомогою менеджера пакетів cargo встановіть sd, як показано нижче:
$ cargo install sd
sd Використання:
sd 'pattern_to_replace' 'replacement' filename
- ‘pattern_to_replace’: Текст, який необхідно замінити.
- ‘replacement’: Текст, на який необхідно замінити шаблон.
- filename: Ім’я файлу, в якому буде виконуватися заміна.
Приклад:
Наведемо практичний приклад використання команди sd для виконання операцій пошуку та заміни в текстовому файлі:
Припустимо, у вас є текстовий файл example.txt з таким вмістом:
Hello, this is an example text file.It contains some sample text that we'll use for sd command demonstration.
Ви хочете замінити всі входження слова ” example” на “illustrative”. Ось як це можна зробити за допомогою команди sd:
$ sd 'example' 'illustrative' example.txt
У цьому прикладі команда sd шукає шаблон “example” і замінює його на “illustrative” у файлі example.txt.
Після виконання цієї команди вміст файлу example.txt буде змінено на:
Hello, this is an illustrative text file.It contains some sample text that we'll use for demonstration.
8. jq: альтернатива команді awk
jq – це JSON-процесор командного рядка, що дає змогу витягувати дані з JSON-файлів і маніпулювати ними.
Встановіть jq у Linux:
$ sudo apt install jq # For Ubuntu/Debian
$ sudo dnf install jq # For Fedora
jq Використання:
Синтаксис команди jq такий:
jq 'filter_expression' filename
- ‘filter_expression’: Вираз фільтра, що визначає дані, які необхідно витягти або обробити з JSON.
- filename: ім’я файлу JSON, який необхідно обробити.
Приклад:
Наведемо практичний приклад використання команди jq для роботи з даними у форматі JSON:
Припустімо, у вас є JSON-файл з іменем data.json з таким вмістом:
{
"name": "Senthil Kumar",
"age": 40,
"email": "[email protected]",
"address": {
"street": "123 Main St",
"city": "Namakkal",
"country": "India"
},
"hobbies": ["reading", "traveling", "coding", "writing"]
}
Ви хочете витягти значення поля “email” із цих JSON-даних. Ось як це можна зробити за допомогою команди jq:
$ jq '.email' data.json
Після виконання цієї команди ви отримаєте такий результат:
"[email protected]"
У цьому прикладі аргумент .email, переданий команді jq, вказує їй на необхідність витягти значення поля “email” з даних JSON.
9. htop: Альтернатива команді top
Команда htop забезпечує інтерактивне та динамічне представлення системних процесів. Вона має більш інтуїтивний інтерфейс і додаткові можливості порівняно з top.
Встановіть htop у Linux:
$ sudo apt install htop # For Ubuntu/Debian
$ sudo dnf install htop # For Fedora
htop Використання:
$ htop
10. neofetch: Альтернатива команді uname
neofetch відображає системну інформацію в наочній формі. Вона налаштовується і підтримує різні варіанти відображення.
Встановіть neofetch у Linux:
$ sudo apt install neofetch # For Ubuntu/Debian
$ sudo dnf install neofetch # For Fedora
neofetch Використання:
$ neofetch