Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…
Замена стандартным командам
1. sed
→ sd
sd
— современная альтернатива sed
, упрощающая замену текста с использованием регулярных выражений.
Примеры использования:
- Заменить «foo» на «bar» в файле:
sd 'foo' 'bar' file.txt
- Заменить «foo» на «bar» во всех
.txt
файлах в каталоге:sd 'foo' 'bar' *.txt
Установка:
# установка в Arch Linux
yay -S sd
# универсальная установка через cargo
cargo install sd
# установка через snap
sudo snap install sd
# установка через dnf
sudo dnf install sd
2. ls
→ exa
exa
— улучшенная альтернатива ls
с цветным выводом и псевдографикой.
Примеры использования:
- Отобразить файлы с детализацией и цветной подсветкой:
exa -l
- Отобразить скрытые файлы:
exa -la
Установка:
# установка в Arch Linux
# eza - это более быстрый форк
yay -S eza
# установка в Debian и Ubuntu
# подключим сначала репозитории
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update
sudo apt-get install rust-eza
# установка через dnf
sudo dnf install eza
3. find
→ fd
fd
— быстрая и удобная альтернатива find
, с простым синтаксисом и поддержкой регулярных выражений.
Примеры использования:
- Найти все
.txt
файлы в текущем каталоге:fd .txt
- Найти файлы, содержащие слово «example»:
fd 'example'
Установка:
# установка в Arch Linux
yay -S fd
# установка в Debian и Ubuntu
sudo apt-get install fd-find
# установка через snap
sudo snap install fd
# установка через dnf
sudo dnf install fd
4. cat
→ bat
bat
— улучшенная версия cat
с подсветкой синтаксиса, номерами строк и интеграцией с git.
Примеры использования:
- Отобразить содержимое файла с подсветкой синтаксиса:
bat file.txt
- Сравнить файлы и показать различия с подсветкой:
batdiff file1.txt file2.txt
Установка:
# установка в Arch Linux
yay -S bat
# установка в Debian и Ubuntu
# добавление репозитория
echo "deb http://ppa.launchpad.net/apt-fast/stable/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/bat.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C8CAB6595FDFF622
sudo apt-get update
sudo apt-get install bat
# установка через snap
sudo snap install bat
# установка через dnf
sudo dnf install bat
5. grep
→ ripgrep (rg)
ripgrep
— быстрая и мощная альтернатива grep
для поиска текста в файлах.
Примеры использования:
- Найти строку «example» в файлах текущего каталога:
rg example
- Искать строку в файлах определенного типа (например,
.md
):rg example -t md
Установка:
# установка в Arch Linux
yay -S ripgrep
# установка в Debian и Ubuntu
sudo apt-get install ripgrep
# установка через snap
sudo snap install ripgrep
# установка через dnf
sudo dnf install ripgrep
6. diff
→ delta
delta
— современная альтернатива diff
с подсветкой синтаксиса и красивым оформлением вывода.
Примеры использования:
- Сравнить два файла с подсветкой:
delta file1.txt file2.txt
- Использовать delta как пейджер для git diff:
git diff | delta
Установка:
# установка в Arch Linux
yay -S git-delta
# установка в Debian и Ubuntu
sudo apt-get install git-delta
# установка через snap
sudo snap install git-delta
# установка через dnf
sudo dnf install git-delta
7. top
→ htop
htop
— улучшенная версия top
с цветным интерфейсом и удобным управлением процессами.
Примеры использования:
- Запуск htop для просмотра процессов:
htop
- Сортировка процессов по использованию памяти:
htop -s PERCENT_MEM
Установка:
# установка в Arch Linux
yay -S htop
# установка в Debian и Ubuntu
sudo apt-get install htop
# установка через snap
sudo snap install htop
# установка через dnf
sudo dnf install htop
Другие альтернативы: atop
, btop
, bottom
.
8. du
→ dust
dust
— наглядная и удобная альтернатива du
для анализа использования дискового пространства.
Примеры использования:
- Отобразить использование дискового пространства в текущем каталоге:
dust
- Показать топ 10 самых больших директорий:
dust -n 10
Установка:
# установка в Arch Linux
yay -S dust
# универсальная установка через cargo
cargo install du-dust
# установка через snap
sudo snap install dust
# установка через dnf
sudo dnf install dust
9. ps
→ procs
procs
— современная альтернатива ps
с улучшенным выводом данных о процессах.
Примеры использования:
- Отобразить информацию о запущенных процессах:
procs
- Фильтрация процессов по имени:
procs --name firefox
Установка:
# установка в Arch Linux
yay -S procs
# универсальная установка через cargo
cargo install procs
# установка через snap
sudo snap install procs
# установка через dnf
sudo dnf install procs
10. man
→ tldr
tldr
— альтернатива man
, предоставляющая краткие и понятные примеры использования команд.
Примеры использования:
- Отобразить краткую документацию по
ls
:tldr ls
- Обновить кеш локальных страниц:
tldr --update
Установка:
# установка в Arch Linux
yay -S tldr
# установка в Debian и Ubuntu
sudo apt-get install tldr
# установка через snap
sudo snap install tldr
# установка через npm
npm install -g tldr
# установка через pip
pip3 install tldr
# pipx
pipx install tldr
# установка через dnf
sudo dnf install tldr
11. tree
→ broot
broot
— интерактивная альтернатива tree
для навигации по файловой системе с
возможностью быстрого поиска и выполнения команд.
Примеры использования:
- Отобразить структуру каталога с размером файлов:
broot --sizes
- Поиск файла по имени:
broot -p "example"
Установка:
# установка в Arch Linux
yay -S broot
# установка в Debian и Ubuntu
sudo apt-get install broot
# установка через snap
sudo snap install broot
# установка через dnf
sudo dnf install broot
Topgrade
Topgrade
обновляет все пакеты, установленные через различные пакетные менеджеры, образы Docker и многое другое.
Примеры использования:
- Запуск обновления всех системных пакетов и приложений:
topgrade
- Обновление конкретного компонента:
topgrade --only cargo
Установка:
# установка в Arch Linux
yay -S topgrade-bin
# универсальная установка через cargo
cargo install topgrade
# установка через snap
sudo snap install topgrade
# установка через dnf
sudo dnf install topgrade
Cheat и Navi
Интерактивные альтернативы tldr
.
Cheat
Cheat
выводит примеры использования команд.
Примеры использования:
- Показать примеры использования команды
ls
:cheat ls
Установка:
# установка в Arch Linux
yay -S cheat-bin
# универсальная установка через cargo
cargo install cheat
# установка через snap
sudo snap install cheat
# установка через dnf
sudo dnf install cheat
Navi
Navi
поддерживает поиск и выполнение сниппетов. Позволяет создавать собственные сниппеты.
Примеры использования:
- Поиск сниппета для команды
ls
:navi ls
Установка:
# установка в Arch Linux
yay -S navi
# универсальная установка через cargo
cargo install navi
# установка через snap
sudo snap install navi
# установка через dnf
sudo dnf install navi
Pet
Pet
— менеджер сниппетов для терминала.
Примеры использования:
- Создать новый сниппет:
pet new "sudo pkill -9 -e <pattern>"
- Синхронизировать сниппеты с gist:
pet sync
Установка:
# установка в Arch Linux
yay -S pet-bin
# универсальная установка через cargo
cargo install pet
# установка через snap
sudo snap install pet
# установка через dnf
sudo dnf install pet
Micro
Micro
— быстрый текстовый редактор для терминала с поддержкой подсветки синтаксиса, плагинов и LSP (Language Server Protocol).
Примеры использования:
- Открыть файл в
Micro
:micro file.txt
- Включить режим замены:
micro -replace
Установка:
# установка в Arch Linux
yay -S micro
# установка в Debian и Ubuntu
sudo apt-get install micro
# установка через snap
sudo snap install micro
# установка через dnf
sudo dnf install micro
jq
jq
— инструмент для обработки JSON и JSONL документов.
Примеры использования:
- Вывести JSON с подсветкой счинтаксиса:
cat data.json | jq .
- Вывести определенное поле:
jq '.field' data.json
Установка:
# установка в Arch Linux
yay -S jq
# установка в Debian и Ubuntu
sudo apt-get install jq
# установка через snap
sudo snap install jq
# через pip
pip install jq
pip3 install jq
# через pipx
pipx install jq
# установка через dnf
sudo dnf install jq
Dua
Dua
— быстрая альтернатива ncdu
для анализа использования диска. Выводит файлы, сортируя их по занимаемому месту, поддерживает навигацию стрелочками.
Примеры использования:
- Показать использование диска:
dua
- Интерактивный режим:
dua i
Установка:
# установка в Arch Linux
yay -S dua-cli
# универсальная установка через cargo
cargo install dua-cli
# установка через snap
sudo snap install dua
# установка через dnf
sudo dnf install dua-cli
Dracut
Dracut
— инструмент для автоматической сборки образа initramfs, что упрощает управление конфигурацией системы и избавляет от необходимости редактирования /etc/mkinitсpio.conf
.
Примеры использования:
- Сборка нового initramfs:
sudo dracut --force
Установка:
# установка в Arch Linux
yay -S dracut
# установка в Debian и Ubuntu
sudo apt-get install dracut
# установка через dnf
sudo dnf install dracut
Github CLI
Github CLI
— официальный инструмент для работы с GitHub из терминала.
Примеры использования:
- Авторизация в GitHub:
gh auth login
- Создание нового репозитория:
gh repo create my-repo --public --source .
- Создание нового gist:
gh gist create -d "Описание gist" -p script.py
Установка:
# установка в Arch Linux
yay -S github-cli
# установка в Debian и Ubuntu
sudo apt-get install gh
# установка через snap
sudo snap install gh
# установка через dnf
sudo dnf install gh
Curlie
Curlie
— удобная альтернатива curl
с цветным выводом HTTP-ответов, подсветкой синтаксиса JSON/HTML…
Примеры использования:
- Отправка POST-запроса:
curlie post https://httpbin.org/post foo=bar
Установка:
# установка в Arch Linux
yay -S curlie
# установка в Debian и Ubuntu
sudo apt-get install curlie
# установка через snap
sudo snap install curlie
# установка через dnf
sudo dnf install curlie
ASDF
ASDF
— инструмент для управления несколькими версиями языков программирования в системе, таких как Python, Node.js, PHP и других.
Примеры использования:
- Добавление плагина для Python:
asdf plugin-add python
- Установка определенной версии Python:
asdf install python 3.11.9
- Сделать версию Python глобальной для системы:
asdf global python 3.11.9
Установка:
# установка в Arch Linux
yay -S asdf-vm
# установка в Debian и Ubuntu
sudo apt-get install asdf-vm
# установка через snap
sudo snap install asdf
# установка через dnf
sudo dnf install asdf
fzf
fzf
— интерактивный инструмент для поиска и фильтрации текста. Интегрируется с другими инструментами.
Примеры использования:
- Поиск и открытие файла:
fzf
- Интеграция с
git
для поиска коммитов:git log --oneline | fzf
Установка:
# установка в Arch Linux
yay -S fzf
# установка в Debian и Ubuntu
sudo apt-get install fzf
# установка через snap
sudo snap install fzf
# установка через dnf
sudo dnf install fzf
GitUI
GitUI
— TUI для работы с git.
Примеры использования
# Запустить GitUI в текущем репозитории
gitui
# Перейти в другой репозиторий и запустить GitUI
cd /path/to/repo && gitui
# Запустить GitUI с использованием определенной конфигурации
gitui --config /path/to/config.toml
Установка
# установка в Arch Linux
yay -S gitui
# установка в Debian и Ubuntu
# добавление репозитория для актуальной версии
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install gitui
# либо установка через snap
sudo snap install gitui
# установка в Fedora
sudo dnf install gitui
lazygit
lazygit
— консольный интерфейс для работы с git, упрощающий навигацию и выполнение основных команд.
Примеры использования:
- Запуск lazygit:
lazygit
- Откат последнего коммита:
lazygit undo
Установка:
# установка в Arch Linux
yay -S lazygit
# установка в Debian и Ubuntu
sudo apt-get install lazygit
# установка через snap
sudo snap install lazygit
# установка через dnf
sudo dnf install lazygit
Ngrok
Ngrok
— инструмент, который позволяет создавать публичные URL-адреса для локально запущенных веб-сервисов, обеспечивая безопасный туннель через NAT или файрволы. Это удобно для тестирования, демонстрации проектов, а также для удаленного доступа к локальным сервисам. Требует предварительной регистрации.
Примеры использования:
- Создать туннель для локального веб-сервера на порту 8080:
ngrok http 8080
- Посмотреть статус туннелей:
ngrok status
- Создать туннель для TCP-сервиса на порту 22:
ngrok tcp 22
Установка:
# установка в Arch Linux
yay -S ngrok
# либо пример установки через snap
sudo snap install ngrok
Zoxide (z, zi)
Zoxide
— улучшенная замена cd
, автоматизирующая переход по каталогам. Zoxide
запоминает ваши часто посещаемые каталоги и позволяет быстро перемещаться к ним с помощью частичных совпадений имени.
Примеры использования:
- Перейти в каталог по частичному совпадению имени:
z foo
- Перейти в каталог, который содержит «foo» и «bar»:
z foo bar
- Показать список самых часто посещаемых каталогов:
zoxide query -l
Установка:
# установка в Arch Linux
yay -S zoxide
# установка в Debian и Ubuntu
sudo apt-get install zoxide
# либо установка через snap
sudo snap install zoxide
# установка в Fedora через DNF
sudo dnf install zoxide
Taskwarrior
Taskwarrior
— мощная консольная утилита для управления задачами. Она поддерживает создание задач с дедлайнами, приоритетами, проектами и тегами, что делает её идеальной для управления как личными, так и рабочими задачами.
Примеры использования:
- Добавить новую задачу:
task add "Написать отчет" due:tomorrow
- Просмотреть список текущих задач:
task list
- Завершить задачу:
task <id> done
Установка:
# установка в Arch Linux
yay -S task
# установка в Debian и Ubuntu
sudo apt-get install taskwarrior
# установка в Fedora через DNF
sudo dnf install task
Ranger
Ranger
— это консольный файловый менеджер с поддержкой вкладок, просмотра содержимого файлов, интеграцией с Vim.
Примеры использования:
- Запустить
ranger
в текущем каталоге:ranger
- Перейти к определенному каталогу:
ranger /path/to/directory
- Выйти из
ranger
, оставив терминал в последнем посещенном каталоге:ranger --choosedir=/tmp/lastdir; cd $(cat /tmp/lastdir)
Установка:
# установка в Arch Linux
yay -S ranger
# установка в Debian и Ubuntu
sudo apt-get install ranger
# установка в Fedora через DNF
sudo dnf install ranger
yazi
yazi — это очередной файловый менеджер для терминала. Как водится у современного ПО написан на Rust. Модный, молодежный, быстрый (но это неточно), интуитивная навигация по каталогам стрелками, можно просматривать картинки, для иконок нужен патченный Nerd-шрифт. Более красивая версия ranger.
yay -S yazi
cargo install yazi-fm
zellij
zellij — это мультиплексер терминала. За этим загадочным словом скрывается утилита, чье предназначение разбивать рабочую область экрана на части, а так же организовывать работу с вкладками. Вы, уже, наверное, слышали про screen, tmux, а если и не слышали, то и не важно. Сложно представить себе эмулятор терминала, который не поддерживает вкладки и/или разбиение рабочего пространства на части, это актуальнее скорее для серверов, но любителям работать из терминала зайдет.
yay -S zellij
lnav
lnav — это утилита для просмотра и навигации по логам, она подсвечивает синтаксис, группирует их по времени.
Примеры использования:
- Посмотреть все логи:
lnav <файл|каталог|url>
- Посмотреть логи на сервере:
lnav ssh user@server:/path/to/log
Установка:
yay -S lnav
sudo apt-get install lnav -y
sudo snap install lnav
Дополнения
Для установки yay
в Arch выполните:
git clone https://aur.archlinux.org/yay-bin /tmp/yay-bin && cd /tmp/yay-bin && makepkg -si --no-confirm && cd - && rm -rf /tmp/yay-bin
Если вы используете Oh My ZSH, то стоит отметить, что для многих утилит выше существуют плагины, который добавляют автодополнение аргументов либо заменяют стандартные команды на их более продвинутые аналоги как, например, делает ls
синонимом exa
.
Та же exa требует для своей работы какой-нибудь nerd-шрифт (еще ссылка).