Как установить Fish Shell в Linux
Fish, аббревиатура от fFriendly iinteractive shellell, представляет собой хорошо оснащенную, умную и удобную для пользователя оболочку. для Unix-подобных систем. Fish поставляется со многими важными функциями, такими как автопредложения, подсветка синтаксиса, история с возможностью поиска (например, CTRL+r в Bash), функция интеллектуального поиска, великолепная поддержка цветов VGA, веб-конфигурация, заполнение справочных страниц и многое другое, прямо из коробки. . Просто установите его и начните использовать в кратчайшие сроки. Никакой дополнительной настройки не требуется или вам не нужно устанавливать какие-либо дополнительные надстройки/плагины! В этом уроке давайте обсудим, как установить и использовать Fish Shell в Linux.
Установите Fish Shell в Linux
Несмотря на то, что fish — очень удобная и многофункциональная оболочка, она не включена в репозитории по умолчанию большинства дистрибутивов Linux. Он доступен в официальных репозиториях лишь нескольких дистрибутивов Linux, таких как Arch Linux, Gentoo, NixOS, Ubuntu и т. д.
В Arch Linux и его производных выполните следующую команду, чтобы установить его.
sudo pacman -S fish
В CentOS 8 выполните от имени root следующую команду:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish/CentOS_8/shells:fish.repo
yum install fish
В CentOS 7 выполните от имени root следующую команду:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
yum install fish
В CentOS 6 выполните от имени root следующую команду:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo
yum install fish
В Debian 10 выполните следующее:
echo 'deb http://download.opensuse.org/repositories/shells:/fish/Debian_10/ /' | sudo tee /etc/apt/sources.list.d/shells:fish.list
curl -fsSL https://download.opensuse.org/repositories/shells:fish/Debian_10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish.gpg > /dev/null
sudo apt update
sudo apt install fish
В Debian 9 выполните от имени root следующую команду:
echo 'deb http://download.opensuse.org/repositories/shells:/fish/Debian_9.0/ /' > /etc/apt/sources.list.d/shells:fish.list
wget -nv https://download.opensuse.org/repositories/shells:fish/Debian_9.0/Release.key -O Release.key
apt-key add - < Release.key
apt-get update
apt-get install fish
В Debian 8 выполните от имени root следующую команду:
echo 'deb http://download.opensuse.org/repositories/shells:/fish/Debian_8.0/ /' > /etc/apt/sources.list.d/shells:fish.list
wget -nv https://download.opensuse.org/repositories/shells:fish/Debian_8.0/Release.key -O Release.key
apt-key add - < Release.key
apt-get update
apt-get install fish
В последних версиях Fedora запустите:
sudo df install fish
Вы также можете установить Fish из службы сборки openSUSE.
В Fedora 31 выполните от имени root следующую команду:
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish/Fedora_31/shells:fish.repo
dnf install fish
В Fedora 30 выполните от имени root следующую команду:
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish/Fedora_30/shells:fish.repo
dnf install fish
В openSUSE выполните от имени root следующую команду:
zypper install fish
В openSUSE Leap 15.2 выполните от имени root следующую команду:
zypper addrepo https://download.opensuse.org/repositories/shells:fish/openSUSE_Leap_15.2/shells:fish.repo
zypper refresh
zypper install fish
В RHEL 7 выполните от имени root следующую команду:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish/RHEL_7/shells:fish.repo
yum install fish
В RHEL 6 выполните от имени root следующую команду:
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish/RHEL_6/shells:fish.repo
yum install fish
В Ubuntu и ее производных:
sudo apt-get update
sudo apt-get install fish
Существует также официальный PPA-репозиторий для Ubuntu и ее производных. Добавьте PPA и установите Fish в Ubuntu, как показано ниже.
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install fish
Использование рыбной ракушки
Чтобы переключиться на рыбу из оболочки по умолчанию, выполните:
$ fish
Welcome to fish, the friendly interactive shell
Конфигурацию рыбы по умолчанию можно найти в ~/.config/fish/config.fish (аналогично .bashrc). Если его не существует, просто создайте его.
Автоматические предложения
Когда я набираю команду, она автоматически предлагает команду светло-серого цвета. Итак, мне пришлось ввести несколько первых букв Linux и нажать клавишу Tab, чтобы завершить команду.
Если есть больше возможностей, он их перечислит. Вы можете выбрать любую команду из списка, используя клавиши со стрелками ВВЕРХ/ВНИЗ. После выбора команды, которую вы хотите запустить, просто нажмите клавишу со стрелкой вправо и нажмите Enter, чтобы запустить ее.
Больше никаких CTRL+R! Как вы уже знаете, мы выполняем обратный поиск, нажимая клавиши ctrl+r для поиска команд в истории в оболочке Bash. Но в рыбной панцире это не обязательно! Поскольку он имеет возможность автопредложения, просто введите первые несколько букв команды и выберите команду из списка, который вы уже выполнили, из истории. Круто, да?
Умный поиск
Мы также можем выполнить интеллектуальный поиск, чтобы найти определенную команду, файл или каталог. Например, я ввожу подстроку команды, затем нажимаю клавишу со стрелкой вниз, чтобы войти в интеллектуальный поиск, и снова набираю букву, чтобы выбрать нужную команду из списка.
Подсветка синтаксиса
Вы заметите подсветку синтаксиса при вводе команды. Посмотрите разницу на скриншотах ниже, когда я набираю одну и ту же команду в Bash и Fish Shell.
Баш:
Рыба :
Как видите, «sudo» выделено в рыбной оболочке. Кроме того, по умолчанию недопустимые команды будут отображаться красным цветом.
Веб-конфигурация
Это еще одна интересная особенность рыбьего панциря. Мы можем устанавливать цвета, изменять подсказку о рыбе и просматривать функции, переменные, историю, привязки клавиш - и все это с веб-страницы.
Чтобы запустить веб-интерфейс настройки, просто введите:
fish_config
Завершение страницы руководства
Bash и другие оболочки поддерживают программируемые дополнения, но только fish генерирует их автоматически, анализируя установленные страницы руководства.
Для этого запустите:
fish_update_completions
Пример вывода будет:
Parsing man pages and writing completions to /home/sk/.local/share/fish/generated_completions/
3435 / 3435 : zramctl.8.gz
Отключить приветствия
По умолчанию рыба приветствует вас (Добро пожаловать в рыбу, дружелюбную интерактивную оболочку) при запуске. Если вам не нужно это приветственное сообщение, вы можете отключить его. Для этого отредактируйте файл конфигурации рыбы:
vi ~/.config/fish/config.fish
Добавьте следующую строку:
set -g -x fish_greeting ''
Вместо отключения рыбного приветствия вы также можете установить любое собственное приветственное сообщение.
set -g -x fish_greeting 'Welcome to OSTechNix'
Получать помощь
Это еще одна впечатляющая особенность, которая привлекла мое внимание. Чтобы открыть страницу документации по рыбе в веб-браузере по умолчанию из терминала, просто введите:
help
Официальная документация откроется в браузере по умолчанию. Кроме того, вы можете использовать страницы руководства для отображения раздела справки по любой команде.
man fish
Установить Fish в качестве оболочки по умолчанию
Очень понравилось? Большой! Просто установите его в качестве оболочки по умолчанию. Для этого используйте команду chsh:
chsh -s /usr/bin/fish
Здесь /usr/bin/fish — путь к оболочке рыбы. Если вы не знаете правильный путь, вам поможет следующая команда.
which fish
Выйдите из системы и войдите снова, чтобы использовать новую оболочку по умолчанию.
Помните, что многие сценарии оболочки, написанные для Bash, могут быть не полностью совместимы с fish.
Чтобы вернуться в Bash, просто запустите:
bash
Если вы хотите, чтобы Bash всегда был вашей оболочкой по умолчанию, запустите:
chsh -s /bin/bash
И это все, ребята. На этом этапе вы, возможно, уже имеете общее представление об использовании рыбьих панцирей. Если вы ищете альтернативу Bash, хорошим вариантом может стать рыба.
Рекомендуем прочитать:
- О, моя рыбка! Сделайте свою оболочку красивой
- Включить временную метку для команды истории в Fish Shell
- Как запустить Fish Shell в приватном режиме в Linux
Ресурсы:
- Сайт о рыбных ракушках
- Репозиторий Fish Shell на GitHub