Командная строка 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