LINUX.ORG.RU

Приложения и утилиты, которые стоит попробовать

 , ,

Приложения и утилиты, которые стоит попробовать

24

6

Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…

Замена стандартным командам

1. sedsd

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. lsexa

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. findfd

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. catbat

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. grepripgrep (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. diffdelta

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. tophtop

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. dudust

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. psprocs

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. mantldr

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. treebroot

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-шрифт (еще ссылка).

★★

Проверено: hobbit ()
Последнее исправление: rtxtxtrx (всего исправлений: 26)
Ответ на: комментарий от alois

нет конечно же :) никто не собирался именно твои хотелки ублажать.
хочешь что то свое уникальное - делай.

но вещчъ отличная.
если не нравятся чужие серверы, то можно поставить всё на свой: и сервер для взаимонахождения клиентов и проксирования заNATных клиентов и чтото там еще.

pfg ★★★★★
()

Список есть, а ссылок на сайты проектов нет. А если у меня лапки? А если мне религия гуглить не позволяет?!

mord0d ★★★★★
()
Ответ на: комментарий от pfg

Это мои старые заметки https://i.ibb.co/zJgrpnw/image.png я для себя их писал 100 лет назад типа что обязательно нужно поставить при переустановке арча (я его, правда, и не переставлял), а то тут есть нейрофобы, которые уверены, что статья сгенерирована нейрогопотой. Это, правда, лишь отчасти, потому как пункты с установкой в различные дристры мне самому было лень писать, а примеры только с арчем заставили бы любителей некрофилии высрать тонны кирпичей.. Ну а среди тех кто пальцы вниз ставит традиционно firfax, который ненавидит докер, электрон, js, sudo, мой ник… /me нравится даже такая лютая ненависть, она всяко лучше безразличия и выглядит как признание «заслуг» (если можно в них записывать написание «статей» на форуме для совсем уже олдфагов)

rtxtxtrx ★★
() автор топика
Ответ на: комментарий от rtxtxtrx

такая вот недоработка у форума

Это ж опенсорц! Закинь пулл-реквест. Примут — будет.

mord0d ★★★★★
()
Ответ на: комментарий от alois

Нет, но в твоём сообщении ничего про терминал не было. В остальном - да. Запускаешь на одной машине, получаешь токен, вводишь его через веб-интерфейс на другой - и получаешь двухстороннюю синхронизацию.

Gentooshnik ★★★★★
()
Ответ на: комментарий от alois

А, пардон. У тебя и про синхронизацию ничего не было. А для просто переноса - что угодно на IPFS, да. Выше уже что-то посоветовали.

Gentooshnik ★★★★★
()
Ответ на: комментарий от rtxtxtrx

я редактировать уже ничего не могу.

Я могу, но картинку выкину. :)

dataman ★★★★★
()
Ответ на: комментарий от alois

Лучше прочесть там ссылки и пользоваться magic-wormhole. Там более-менее понятный протокол с несколькими реализациями (wormhole-rs, wormhole-william), gui и мабильными клиентами, вот это все.

akho
()
Последнее исправление: akho (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

Они с регулярными выражениями работают. sed их поддерживает очень ограниченно, find вообще не поддерживает

Страшно представить, что вы имели в виду.

akho
()
Ответ на: комментарий от CrX

Есть ещё ag. Когда-то давно я сравнивал их, и ag оказался и быстрее и фичастее, чем rg, емнип. Но по фичам уже не вспомню, в чём была разница.

Он мягко говоря не быстрее. ug еще может быть быстрее, но точно не ag который всеми давно забыт.

e7z0x1 ★★★★★
()

спасибо, затащил большую часть в Rosa 2023.1

irton ★★★★★
()
Ответ на: комментарий от e7z0x1

По моим собственным бенчмаркам ag был быстрее всех остальных. Быть может зависит от того, что за файлы, или ещё от чего-то, но в моих тестах (причём на разных данных) он был быстрее rg и, естественно, намного быстрее, чем ack и grep.

Кем он забыт, не знаю, вроде весьма популярен.

ug не пробовал.

P.S. Добавлю, что это было довольно давно, и rg мог стать быстрее с тех пор. Надо бы перемерять.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)
Ответ на: комментарий от e7z0x1

Я как-то и сам не вникал, многоядерный ли он, честно говоря.

CrX ★★★★★
()

Ну вобщем конечно стоит попробовать. Но косность мозга отказывается от чего-то, что достигается без них.

dmitry237 ★★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)

Dracut ... избавляет от необходимости редактирования /etc/mkinitсpio.conf.

Логично, у dracut нужно редактировать dracut.conf Вобще все эти генераторы initramfs невменяемые, как бы куча модулей, но всё первязано, обновляется целиком и каждый раз при обновлении initramfs думаешь, «а взлетит ли это на деградированом mdraid или опять добавили баг в недра кода».

mky ★★★★★
()
Ответ на: комментарий от mky

Мои флаги… и то я не понимаю зачем там amdgpu

(.venv) ❯ sudo cat /etc/dracut.conf.d/myflags.conf
compress="zstd"
stdloglvl="3"
force_drivers+=" amdgpu "
rtxtxtrx ★★
() автор топика
Ответ на: комментарий от rtxtxtrx

главное пробелы вокруг amdgpu не забывать :)

mky ★★★★★
()

ripgrep — быстрая и мощная альтернатива grep для поиска текста в файлах.

Насчёт мощности можно поспорить, но версия grep из Plan 9 достаточно быстрая. In fact, ripgrep заимствует концепции, реализованные в этой версии.

https://swtch.com/~rsc/regexp/regexp1.html

kaldeon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.