При постоянной работе за компьютером часто возникает ситуация, когда для более удобного использования хочется что-то настроить под себя, воспользоваться какими-нибудь инструментами для улучшения работы. И в этом помогает использование операционной системы на Linux. Одним из достоинств операционных систем этого семейства является то, что они предоставляют широкий ассортимент для настройки системы, начиная с выбора графической оболочки и заканчивая множеством утилит на все случаи жизни.
И для того, чтобы всё это сделать, достаточно одного лишь терминала и знания необходимых команд и программ. В этой статье мы рассмотрим некоторые из таких утилит, которые помогут облегчить работу на Linux.
План:
Homebrew
Одной из основных утилит, которые хочется порекомендовать, является Homebrew. Он представляет собой менеджер пакетов, с помощью которого можно устанавливать множество различных программ, даже если их нет в стандартном менеджере пакетов вашего дистрибутива Linux. Вы можете установить homebrew с помощью командной строки, а затем получить любую нужную вам утилиту CLI, указав её название. Зачастую именно эту утилиту стоит скачивать первой, т.к. благодаря ей можно легко установить большинство других программ.
Чтобы установить homebrew, введите следующую команду в консоли:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Чтобы установить пакет при помощи homebrew, вам достаточно ввести команду ниже:
brew install package_name
Где package_name это название утилиты, которую вы хотите установить.
Homebrew также предоставляет функционал по созданию своих собственных пакетов. Для этого можно воспользоваться следующей командой:
brew create https://foo.com/foo-1.0.tgz
Более подробно про Homebrew вы можете почитать на официальном сайте.
fzf
fzf это очень полезная утилита, которая предоставляет функционал нечёткого поиска. Она умеет быстро и качественно искать по строкам, которые были переданы на вход. Это позволяет очень быстро искать файлы по их именам, а также просматривать историю команд, процессы, закладки, коммиты в git и многое другое.
Кроме того, fzf умеет интегрироваться с другими программами, что делает её ещё полезнее.
Существует несколько способов установки.
При помощи homebrew:
brew install fzf
При помощи git:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
При помощи менеджера пакетов apt на Debian 9+/Ubuntu 19.10+:
sudo apt install fzf
При помощи менеджера пакетов dnf на Fedora:
sudo dnf install fzf
При помощи менеджера пакетов pacman на Arch Linux:
sudo pacman -S fzf
Поскольку утилита часто обновляется, время от времени стоит проверять её на наличие обновлений.
Сделать это можно при помощи homebrew:
`brew update; brew upgrade fzf`
Либо через git:
cd ~/.fzf && git pull && ./install
fzf работает по следующему принципу: он читает строки из стандартного потока ввода и даёт пользователю интерфейс, чтобы можно было выбрать одну или несколько строк и вписать их в стандартный поток вывода.
Для начала нужно запустить следующую команду:
find * -type f | fzf > selected
Затем ввести ключевое слово, по которому нужно найти файлы.
Для того, чтобы выйти из fzf, можно просто ввести следующую команду:
exit
Более подробно про данную утилиту можно узнать на странице GitHub разработчиков.
Atuin
Основной задачей Atuin является замена истории команд в терминале на удобную базу данных, в которой можно хранить всю необходимую информацию и осуществлять поиск по ней.
Установить Atuin можно несколькими способами.
С помощью homebrew:
brew install atuin
С помощью менеджера пакетов cargo:
cargo install atuin
С помощью менеджера пакетов pacman на Arch Linux:
pacman -S atuin
Скачав и запустив скрипт установки:
/bin/bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)"
Также можно скачать исходники с GitHub и установить их с помощью cargo:
git clone https://github.com/atuinsh/atuin.git
cd atuin/atuin
cargo install --path .
Перед началом работы необходимо зарегистрироваться. Сделать это можно с помощью следующей команды:
atuin register
После регистрации залогиниться можно, введя команду ниже:
atuin login
Если же нужно выйти из аккаунта, то это можно сделать следующим образом:
atuin logout
Чтобы начать работать с Atuin, нужно в терминале нажать клавишу со стрелкой вверх или комбинацию Ctrl + R, чтобы открыть интерфейс для поиска всех ваших команд.
Если ввести ключевое слово для поиска, то на экране будут отображены все подходящие результаты. Переключаться между ними можно с помощью стрелок вверх/вниз.
Atuin умеет синхронизировать вашу базу данных между различными устройствами, что позволяет эффективно работать из разных мест. За безопасность данных отвечает сквозное шифрование, ключ к которому хранится только на конечных устройствах. Если же и этого недостаточно, можно использовать Atuin в оффлайн-режиме, либо настроить свой собственный сервер синхронизации.
Более подробно про Atuin можно почитать на сайте разработчика.
chezmoi
Chezmoi предоставляет функционал для управления скрытыми файлами, имена которых начинаются с точки. Он позволяет делиться различными конфигурационными файлами (например, .gitconfig) между устройствами, синхронизировать их и работать с различными менеджерами паролей для большей безопасности.
Установить утилиту можно несколькими способами.
С помощью homebrew:
brew install chezmoi
С помощью snap:
snap install chezmoi --classic
С помощью pacman на Arch Linux:
pacman -S chezmoi
После установить нужно проинициализировать chezmoi с помощью следующей команды:
chezmoi init
Будет создан локальный git репозиторий в ~/.local/share/chezmoi, где chezmoi будет хранить своё состояние. По умолчанию, утилита изменяет файлы только в рабочей копии.
К примеру, попробуем изменить файл ./bashrc.
chezmoi add ~/.bashrc
Данная команда скопирует ~/.bashrc в файл ~/.local/share/chezmoi/dot_bashrc.
Отредактируем файл:
chezmoi edit ~/.bashrc
chezmoi откроет файл ~/.local/share/chezmoi/dot_bashrc в редакторе, где можно будет внести необходимые изменения.
Для просмотра изменений, который внесёт chezmoi, можно воспользоваться следующей командой:
chezmoi diff
Для применения изменений:
chezmoi -v apply
Далее можно зафиксировать изменения, используя следующие команды:
chezmoi cd
git add .
git commit -m "Initial commit"
Эти изменения можно будет запушить в любой удобный репозиторий.
Для завершения работы и возврата в предыдущую директорию можно воспользоваться следующей командой:
exit
Более подробно про другие команды можете почитать официальном сайте или ввести команду в консоли:
chezmoi help
PowerTOP
Если вы хотите увеличить срок работы своего устройства и оптимизировать работу Linux, то в этом может помочь утилита PowerTOP.
Программа позволяет включать различные режимы энергосбережения в пользовательском пространстве, ядре и программном обеспечении.
Установить PowerTOP можно с помощью менеджера пакетов apt:
sudo apt-get update -y
sudo apt-get install -y powertop
Чтобы запустить PowerTOP, нужно воспользоваться следующей командой:
sudo powertop
Поскольку для работы утилиты требуются права root, выполнять команду нужно через sudo.
После запуска PowerTOP будет отслеживать все процессы и показывать, какие из них используют процессор и пробуждают его из простоя, повышая тем самым энергопотребление. С помощью вкладок можно переключаться между различными статистиками и настройками, показывающими, какие конфигурации PowerTOP считает вредными для срока службы батареи.
Если нет желания разбираться самостоятельно, можно вызвать следующую команду:
powertop --auto-tune
После этого PowerTOP автоматически сконфигурирует настройки так, как считает нужны для экономии энергопотребления. Однако важно учитывать, что это может негативно отразиться на производительности системы.
Dust
Dust является развитием команды du, предоставляющим более широкие возможности. С помощью утилиты можно быстро проанализировать, какие файлы занимают много дискового пространства на компьютере или удалённом сервере.
Установить утилиту можно с помощью homebrew:
brew tap tgotwig/linux-dust && brew install dust
Либо с помощью cargo:
cargo install du-dust
Для запуска достаточно ввести простую команду:
dust
Dust предназначен для того, чтобы мгновенно показать, какие файлы используют дисковое пространство. Чтобы сменить директорию для обзора, можно перейти с помощью команды ls в конкретную папку, после чего в ней вызвать dust.
Подробнее про использование Dust можно почитать на странице GitHub.
GRUB
GRUB по умолчанию уже есть в большинстве дистрибутивов Linux и является фундаментальной его частью. Он предоставляет собой программу-загрузчик, которая отвечает за то, какую операционную систему загрузить при включении компьютера.
При использовании нескольких операционных систем на одном устройстве можно столкнуться с проблемой доступа к одной из них. В этом случае можно принудительно перезагрузиться с помощью GRUB в конкретную систему единожды при следующей загрузке, используя команду grub-reboot.
grub-reboot MENU_ENTRY
MENU_ENTRY представляет собой идентификатор системы, в которую нужно загрузиться. Узнать, какой именно идентификатор нужен, можно с помощью следующей команды:
sudo grep menuentry /boot/grub/grub.cfg
grep выведет в терминал список всех операционных систем.
btop
Основной задачей btop является отслеживание используемых ресурсов на компьютере. Он предоставляет более широкие возможности по сравнению с htop или top, а также более понятен.
Утилита скомпилирована с помощью musl и работает на ядре Linux версии 2.6.39 и выше.
Для установки btop необходимо сначала скачать архив btop-(VERSION)-(ARCH)-(PLATFORM).tbz со скомпилированными файлами отсюда и распаковать его в отдельной папке. Обратите внимание: используйте архивы с припиской x86_64 только для 64-битных x86 систем, а с припиской i486 и i686 только для 32-битных.
После нужно установить, запустив файл install.sh при помощи команды make:
# введите "make install PREFIX=/target/dir" чтобы указать папку, в которую хотите установить утилиту, по умолчанию: /usr/local
# используйте sudo только когда устанавливаете в папку, не принадлежащую пользоватлю
sudo make install
Либо можно установить с помощью homebrew:
brew install btop
Для запуска достаточно ввести следующую команду, которая отобразит в терминале подробный красивый диспетчер задач.
btop
Для выхода из диспетчера нужно нажать клавишу Q.
Более подробно про btop можно почитать на странице GitHub.
bat
bat является усовершенствованной версией cat, используемой для чтение файлов. Он делает всё, что умеет cat, но помимо этого имеет подсветку синтаксиса для большого количества языков программирования и разметки. Также утилита взаимодействует с git для отображения изменений в файлах с учётом номеров строк с помощью символов “+” и “-“. Если это необходимо, bat также умеет отображать в файле непечатаемые символы.
Установить bat можно с помощью homebrew:
brew install bat
Либо с помощью менеджера пакетов apt:
sudo apt install bat
Чтобы открыть файл через bat, нужно воспользоваться следующей командой:
batcat filename
Более подробно про bat можно почитать на странице GitHub.
tldr
Основной задачей tldr является создание коллекции упрощенных и создаваемых сообществом man-страниц. Таким образом, утилита представляет из себя альтернативную справочную библиотеку для популярных консольных утилит, которая показывает информацию в более лаконичном виде по сравнению с man.
Для установки tldr можно использовать homebrew:
brew install tldr
Для использования достаточно в терминале ввести команду tldr и команду, для которой нужно вывести справочную информацию.
tldr command_for_help
Zellij
Zellij представляет собой утилиту, позволяющую организовывать рабочее пространство внутри терминала: разделять окно на несколько, создание собственным макетов терминала. Утилита поддерживает различные плагины, плавающие панели и многое другое.
Для установки zellij можно воспользоваться homebrew:
brew install zellij
Также можно установить через cargo:
cargo install --locked zellij
Запустив команду zellij, в терминале можно создать новую панель с помощью комбинации Alt + N. Перемещать панель можно, используя комбинацию Ctrl + H, а с помощью комбинации Ctrl + P и клавиши W можно сделать панель плавающей.
Подробнее про zellij можно почитать на странице GitHub.
eza
eza это современная замена устаревшей команде ls, которая предоставляет больше возможностей и настроек по умолчанию, имея при этом более разборчивый и понятный интерфейс.
Установить eza можно с помощью homebrew:
brew install eza
Для запуска eza нужно ввести команду в нужной директории, после чего терминал покажет все файлы в ней:
eza directory
Подробнее про eza можно почитать на странице GitHub.