В статье рассмотрим методику установки fish, которая будет актуальной для RHEL, Alma Linux и Rocky Linux версий 8 или 9.
Чтобы установить fish и сделать его оболочкой по умолчанию на Rocky Linux, выполните следующие шаги.
Установите fish:
dnf install util-linux-user fish -y
Убедитесь, что fish успешно установлен, проверив его версию:
fish --version
Чтобы сделать fish оболочкой по умолчанию для текущего пользователя, используйте команду chsh:
chsh -s /usr/bin/fish
Перезайдите в систему или перезагрузите компьютер, чтобы изменения вступили в силу. После входа в систему, fish должен запуститься автоматически. Вы можете проверить текущую оболочку командой:
echo $SHELL
Она должна вывести /usr/bin/fish
.
Если вы хотите настроить fish, вы можете отредактировать файл конфигурации:
mcedit ~/.config/fish/config.fish
Здесь вы можете добавить свои алиасы, функции и другие настройки.
Fish предлагает веб-интерфейс для настройки. Вы можете запустить его командой:
fish_config
Это откроет веб-браузер (при наличии, конечно) с интерфейсом настройки fish. Теперь fish установлен и настроен как ваша оболочка по умолчанию.
Наслаждайтесь его функциями, такими как автодополнение, подсветка синтаксиса и интеллектуальные подсказки!
В fish авто-дополнение — это мощный и удобный инструмент, который помогает быстро и без ошибок вводить команды, пути, параметры и прочее, основываясь на уже введённых ранее командах или доступных вариантах. Основная его ценность — ускорение работы и минимизация опечаток.
Когда ты начинаешь вводить какую-то команду, например:
grep log /var/
и нажимаешь клавишу → (вправо) или Tab , fish пытается автоматически дополнить то, что ты вводишь, на основе истории выполненных команд, существующих файлов, аргументов и возможных вариантов.
Если у тебя есть несколько вариантов для продолжения — например, в /var/ много подкаталогов — fish покажет список возможных путей прямо в терминале, и ты можешь стрелками выбрать нужный, нажав Enter или снова Tab, чтобы продолжить ввод.
Особенно полезно использовать авто-дополнение с историей команд . Например, если ты неделю назад запускал команду:
rsync -avz user@remote:/very/long/path/to/logs /local/copy/
и теперь просто набираешь:
rsync
затем нажимаешь → (вправо) — fish найдёт похожие команды из истории и начнёт их подставлять. Если совпаданий несколько, они будут показаны в виде выпадающего списка, по которому можно пролистать стрелками и выбрать нужное.
Также очень удобно использовать авто-дополнение при работе с файлами, особенно если пути длинные. Допустим, ты хочешь открыть лог:
nano /var/log/app/some_module/error.log
Если ты уже открывал этот файл раньше, то при вводе:
nano /va
и нажатии Tab или → , fish сам дополнит /var/log/app/some_module/error.log, если это единственный подходящий вариант. Если не уверен — проверь, как он предлагает дополнить, и при необходимости выбери нужный путь стрелками.
Ещё один пример: работа с git-ветками. Если ты часто переключаешься между ветками, например:
git checkout feature/new-auth
Потом пишешь:
git co fea
и жмёшь Tab — fish может предложить feature/new-auth как вариант, если такая ветка существует и была использована ранее.
Кроме того, fish умеет "запоминать" не только целые команды, но и отдельные части строк. Это удобно, например, при работе с curl или ssh:
ssh user@
и при вводе первых букв имени хоста fish может предложить варианты, если ты уже подключался к нему ранее.
Финальные штрихи: можно индивидуально отформатировать приглашение командной строки. Например, мне не нужно показывать пользователя (у меня только root), но я хочу видеть имя машины и путь к текущей директории. Открываем ~/.config/fish/config.fish
и добавляем в самый конец код.
function fish_prompt
set_color -o brblue
echo -n (hostname)
set_color normal
echo -n ' '
set_color blue
echo -n (prompt_pwd)
set_color normal
echo -n ' '
set_color -o blue
echo -n '#'
set_color normal
echo -n ' '
end
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux