Система Linux всегда поражала «изнеженных» пользователей Windows своим разнообразным и одновременно универсальным взаимодействием с командной строкой. Да, это круто, когда ты переписываешься с компьютером, и он тебе даже отвечает, но современные пользователи Linux все же больше настроены на обсуждение новых графических десктопных сред, зачастую именно их и называя оболочками. Но знаменитыми всегда были и будут Linux Shell Bash, Zsh и Fish.
Linux Shell? Оболочки? Что это вообще?
Shell или оболочка — это этот самый интерпретатор, командная строка, которая позволяет бородатому и невозмутимому «линуксоиду» бодро «общаться» с машиной, удивляя и несколько пугая современного пользователя, привыкшего к курсору мышки или тачпада.
Роль оболочки трудно переоценить. Ведь именно она дает возможность выполнять самые различные задачи от навигации по системе и до ее администрирования. Но, как и любой набор мощных и практически безотказных инструментов, оболочки могут оказаться неудобными для конкретного пользователя. И потому важно, что их было как минимум несколько.
Bash
«Bourne Again SHell»
Одна из самых распространённых оболочек, широко используемых в Linux дистро. Она известна своей простотой и богатой совместимостью, что делает Bash отличным кандидатом для начала «общения» новичков с Linux посредством командной строки.
Основные преимущества
- История заданных команд: легкий доступ к ранее выполненным командам через клавиши клавиатуры
- Экономия времени: Bach самостоятельно заканчивает названия файлов и дописывает части команд
- Это еще и программа: юзер может использовать скрипты для часто повторяющихся задач
- Дефолт: оболочка есть в большинстве GNU/Linux дистро
- Лёгкая конфигурация и настройка: доступна в .bashrc в вашей домашней директории
Минусы Bach не менее очевидны, чем ее плюсы. В основном это касается современных «фишек», которых, несмотря на мощную поддержку комьюнити, этой оболочке может не хватать.
Zsh
«Z Shell»
Богатая на возможности многофункциональная оболочка, которая приобрела особую популярность у по-настоящему опытных пользователей. Некоторые называют Zsh «Bash на максималках»
Основные преимущества
- Еще более агрессивная чем у Bash политика «автокомплит», обеспечивающая контекстное завершение файловых имен и команд
- Вместе с заполнением при нажатии на tab оболочка также представляет юзеру возможные значения
- Поддержка плагинов: позволяет расширять функционал оболочки сторонними плагинами, которые создает комьюнити
- Поддержка разнообразных тем
- Кастомизация при помощи скриптов O my Zch
Как уже говорилось выше, большое количество настроек и конфигураций может напугать новичка, но принести законное удовлетворение опытному юзеру
Fish
«Friendly Interactive SHell»
В отличие от предыдущей оболочки, Fish готова дружить с новичками и ее функционал во многом подчинен этой идее. Это новый и понятный интерфейс, который нравится современным пользователям.
Преимущества Fish
- Подсветка синтаксиса: позволяет разделять различными цветовыми маркерами команды, параметры и аргументы
- Автоподсказки и значения: чуть более «интеллигентная» система «автокомплита», ориентирующегося на историю взаимодействия оболочки и пользователя
- Создана для полнофункциональной работы прямо из коробки. Но персонализация возможна при помощи создания ~/.config/fish/config.fish и добавления кастомизации
Фокусировка на «дружелюбии» к новичкам без сомнения оказывает свое влияние на выбор этой оболочки неопытными пользователями. В то же самое время происходит и обратный процесс: опытные «линуксоиды» часто отворачиваются от Fish из-за определенных ограничений в функционале.
Итоговое сравнение
- Bash известна своими скоростными качествами и эффективностью работы, и такое сочетание качеств делает ее отличным выбором для машин с ограниченными ресурсами
- Zsh в принципе помедленнее, но зато предлагает богатый выбор расширений и дополнительных функций
- Fish более интерактивная, и потому вполне может снижать общую производительность, в то же время являясь примером самого «дружественного отношения к пользователю».