Термінал Linux може бути ідеально зручним: швидкі alias’и, розумне автодоповнення, красивий prompt і синхронізація налаштувань між комп’ютерами. Я — Kernelka 🐧, і зараз покажу, як безпечно та послідовно це зробити, навіть якщо ви Linux для початківців. Поїхали!

Що обрати: Bash чи Zsh?

У більшості дистрибутивів за замовчуванням стоїть Bash. Він стабільний і всюдисущий. Zsh — більш “розумний”: потужніше автодоповнення, теми, плагіни. Я раджу: якщо ви тільки стартуєте — лишайтесь на Bash, а якщо хочете максимум зручності — переходьте на Zsh.

Перевірити поточну оболонку:

echo $SHELL

Встановити Zsh і зробити його оболонкою за замовчуванням:

# Debian/Ubuntu
sudo apt update && sudo apt install -y zsh

# Fedora
sudo dnf install -y zsh

# Arch
sudo pacman -S --noconfirm zsh

# Змінити shell
chsh -s $(which zsh)
# Перелогіньтесь у сесію або відкрийте новий термінал

How-to: alias’и, функції та автодоповнення

Alias’и та функції

Alias — це короткі команди. Функції — маленькі “bash скрипти” прямо у вашому rc-файлі. Додаємо у ~/.bashrc (Bash) або ~/.zshrc (Zsh):

# Приклади alias’ів
alias ll="ls -lah --group-directories-first"
alias gs="git status -sb"
alias ..="cd .."

# Функція: створити теку і зайти в неї
mkcd() {
  mkdir -p "$1" && cd "$1" || return
}

# Перезавантажити конфіг без закриття терміналу
alias reload="source ~/.bashrc 2>/dev/null || source ~/.zshrc"

Застосуйте зміни:

source ~/.bashrc  # або source ~/.zshrc

Автодоповнення для Bash

Для Bash ввімкніть пакет bash-completion:

# Debian/Ubuntu
sudo apt install -y bash-completion
# Fedora
sudo dnf install -y bash-completion
# Arch
sudo pacman -S --noconfirm bash-completion

# Додайте в ~/.bashrc, якщо ще нема
if [ -f /usr/share/bash-completion/bash_completion ]; then
  . /usr/share/bash-completion/bash_completion
fi

Автодоповнення та плагіни для Zsh

Найпростіше поставити Oh My Zsh (перевіряйте скрипти перед запуском):

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# У ~/.zshrc додайте/перевірте
plugins=(git sudo docker)
autoload -U compinit && compinit

Дуже зручно поставити fzf для розумного пошуку по історії та файлах:

# Debian/Ubuntu
sudo apt install -y fzf
# Fedora
sudo dnf install -y fzf
# Arch
sudo pacman -S --noconfirm fzf

# Ініціалізація (скрипт додасть потрібні рядки)
/usr/bin/fzf --version 2>/dev/null || true
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

Тепер автодоповнення стане розумнішим, а пошук по історії — блискавичним ✨

Кастомний prompt: PS1, Starship або Powerlevel10k

Легкий варіант для Bash: свій PS1

# У ~/.bashrc додайте простий, але інформативний prompt
PS1='\[\e[1;32m\]\u@\h \[\e[36m\]\w\[\e[0m\]$ '

Отримаєте кольоровий prompt із користувачем, хостом та поточною текою.

Крос-шелл тема Starship

curl -sS https://starship.rs/install.sh | sh -s -- -y
# Bash
echo 'eval "$(starship init bash)"' >> ~/.bashrc
# Zsh
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

# Створіть конфіг
mkdir -p ~/.config
starship preset nerd-font-symbols -o ~/.config/starship.toml

Для красивих іконок потрібні Nerd Fonts. Завантажте будь-який із Nerd Fonts та виберіть його у налаштуваннях вашого емультора терміналу.

Powerlevel10k для Zsh

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ 
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sed -i 's/^ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# Перезапустіть Zsh та пройдіть інтерактивне налаштування

Керування конфігураціями (dotfiles)

Щоб не втрачати налаштування й легко переносити їх між машинами, зберігайте конфіги у Git.

Варіант 1: bare-репозиторій

git init --bare $HOME/.dotfiles
alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dotfiles config status.showUntrackedFiles no

# Додаємо файли
dotfiles add ~/.bashrc ~/.zshrc ~/.config/starship.toml
dotfiles commit -m "Initial dotfiles"
# Віддалений репозиторій (за бажанням)
dotfiles remote add origin git@github.com:USER/dotfiles.git

Варіант 2: GNU Stow

sudo apt install -y stow  # або dnf/pacman
mkdir -p ~/dotfiles/bash
mv ~/.bashrc ~/dotfiles/bash/.bashrc
cd ~/dotfiles && stow bash

Варіант 3: chezmoi

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply YOUR_GITHUB
# Потім керуйте конфігами через `chezmoi edit`, `chezmoi apply`

Такий підхід дисциплінує, рятує від помилок і легко масштабується. Це одні з найкращих поради Linux для щоденної роботи.

Альтернативні інструменти

  • Fish shell — супер-автодоповнення з коробки, але синтаксис відрізняється від Bash.
  • Oh My Bash — як Oh My Zsh, але для Bash.
  • zoxide — розумне cd на стероїдах.
  • eza і bat — приємніші заміни ls і cat.

GUI-спосіб: налаштування емулатора терміналу

Окрім shell-конфігів, важливий і сам емулатор терміналу Linux. Швидкі кроки:

  • GNOME Terminal: Профілі → Створити новий → Шрифт: оберіть Nerd Font; Кольори: виберіть Solarized/Dracula чи іншу схему; Увімкніть прозорість за бажанням.
  • Tilix: Підтримує сесії та розбиття на панелі; збережіть свій профіль як дефолт.
  • Kitty/Alacritty: конфіг у файлах ~/.config/kitty/kitty.conf або ~/.config/alacritty/alacritty.yml; задайте шрифт, палітру, курсор, padding.

Порада: увімкніть 256 кольорів і truecolor, щоб теми prompt виглядали ідеально.

FAQ

Зміни у ~/.bashrc або ~/.zshrc не застосовуються. Чому?
Запустіть source ~/.bashrc або source ~/.zshrc. Для логін-оболонок перевірте ~/.bash_profile / ~/.profile — можливо, потрібно додати source ~/.bashrc.

Автодоповнення в Bash не працює.
Переконайтесь, що встановлено bash-completion і він підключений у ~/.bashrc. Перезапустіть термінал.

У Zsh підсвічування/доповнення дивні.
Додайте autoload -U compinit; compinit у ~/.zshrc, перевірте список плагінів. Якщо є попередження про інsecure directories — виправте права доступу на каталоги у $fpath (chmod -R go-w).

У prompt квадратики/ієрогліфи.
Потрібен Nerd Font і вибір його у налаштуваннях емулатора. Після цього Powerlevel10k/Starship відображатимуть іконки коректно.

Команда chsh не спрацювала.
Перевірте, що шлях до оболонки є у /etc/shells. Для зміни shell іншому користувачу: sudo chsh -s $(which zsh) USER.

Oh My Zsh завантажується повільно.
Приберіть важкі плагіни, ввімкніть лише потрібні (git, sudo, docker). За необхідності використовуйте zprof для профілювання.

Порада від Kernelka

Робіть маленькі кроки й комітьте зміни у dotfiles. Якщо щось зламається — легко повернетесь. І майте резервну копію ключових файлів. Маленькі звички = велика стабільність 💡

Підсумок

  • Обирайте Bash для простоти або Zsh для максимуму зручності.
  • Додавайте alias’и та функції для прискорення щоденних linux команди.
  • Увімкніть автодоповнення: bash-completion, плагіни Zsh, fzf.
  • Зробіть приємний prompt: PS1, Starship або Powerlevel10k.
  • Керуйте конфігами через Git (bare), Stow або chezmoi.
  • Не забудьте про шрифт Nerd Fonts і налаштування емулатора.
  • Тримайте все у контролі версій — і ваш термінал Linux буде однаково зручним на будь-якій машині.

Ось так крок за кроком ми створили комфортний робочий простір у терміналі. Якщо хочете ще трюків — пишіть у коментарі, і я підготую нові поради Linux 😉